Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
be1e3082
Commit
be1e3082
authored
Mar 21, 2023
by
Rémi Bernon
Committed by
Alexandre Julliard
Mar 23, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
widl: Allow source location to span over multiple lines.
parent
edca5937
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
30 additions
and
26 deletions
+30
-26
parser.y
tools/widl/parser.y
+3
-2
typetree.c
tools/widl/typetree.c
+21
-21
utils.c
tools/widl/utils.c
+2
-2
widltypes.h
tools/widl/widltypes.h
+4
-1
No files found.
tools/widl/parser.y
View file @
be1e3082
...
...
@@ -2195,7 +2195,7 @@ static type_t *reg_typedefs(decl_spec_t *decl_spec, declarator_list_t *decls, at
*/
if (cur && input_name == cur->where.input_name)
error_loc( "%s: redefinition error; original definition was at %s:%d\n",
cur->name, cur->where.input_name, cur->where.
line_number
);
cur->name, cur->where.input_name, cur->where.
first_line
);
name = declare_var(attrs, decl_spec, decl, 0);
cur = type_new_alias(&name->declspec, name->name);
...
...
@@ -3392,8 +3392,9 @@ static statement_list_t *append_statement(statement_list_t *list, statement_t *s
void init_location( struct location *where )
{
where->input_name = input_name ? input_name : "stdin";
where->line_number = line_number;
where->near_text = parser_text;
where->first_line = line_number;
where->last_line = line_number;
}
type_t *find_parameterized_type(type_t *type, typeref_list_t *params)
...
...
tools/widl/typetree.c
View file @
be1e3082
This diff is collapsed.
Click to expand it.
tools/widl/utils.c
View file @
be1e3082
...
...
@@ -32,7 +32,7 @@
#include "utils.h"
#include "parser.h"
#define CURRENT_LOCATION { input_name ? input_name : "stdin",
line_number, parser_text
}
#define CURRENT_LOCATION { input_name ? input_name : "stdin",
parser_text, line_number, 0, line_number, 0
}
static
const
int
want_near_indication
=
0
;
...
...
@@ -48,7 +48,7 @@ static void make_print(char *str)
static
void
generic_msg
(
const
struct
location
*
where
,
const
char
*
s
,
const
char
*
t
,
va_list
ap
)
{
fprintf
(
stderr
,
"%s:%d: %s: "
,
where
->
input_name
,
where
->
line_number
,
t
);
fprintf
(
stderr
,
"%s:%d: %s: "
,
where
->
input_name
,
where
->
first_line
,
t
);
vfprintf
(
stderr
,
s
,
ap
);
if
(
want_near_indication
)
...
...
tools/widl/widltypes.h
View file @
be1e3082
...
...
@@ -313,8 +313,11 @@ enum type_basic_type
struct
location
{
const
char
*
input_name
;
int
line_number
;
const
char
*
near_text
;
int
first_line
;
int
last_line
;
int
first_column
;
int
last_column
;
};
struct
str_list_entry_t
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment