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
790e6dcd
Commit
790e6dcd
authored
Aug 07, 2008
by
Dan Hipschman
Committed by
Alexandre Julliard
Aug 18, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
widl: Honor typedef pointer attributes.
parent
59bf036c
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
3 deletions
+4
-3
parser.y
tools/widl/parser.y
+4
-3
No files found.
tools/widl/parser.y
View file @
790e6dcd
...
@@ -1426,7 +1426,6 @@ static void set_type(var_t *v, decl_spec_t *decl_spec, const declarator_t *decl,
...
@@ -1426,7 +1426,6 @@ static void set_type(var_t *v, decl_spec_t *decl_spec, const declarator_t *decl,
{
{
expr_list_t *sizes = get_attrp(v->attrs, ATTR_SIZEIS);
expr_list_t *sizes = get_attrp(v->attrs, ATTR_SIZEIS);
expr_list_t *lengs = get_attrp(v->attrs, ATTR_LENGTHIS);
expr_list_t *lengs = get_attrp(v->attrs, ATTR_LENGTHIS);
int ptr_attr = get_attrv(v->attrs, ATTR_POINTERTYPE);
int sizeless, has_varconf;
int sizeless, has_varconf;
expr_t *dim;
expr_t *dim;
type_t *atype, **ptype;
type_t *atype, **ptype;
...
@@ -1457,13 +1456,15 @@ static void set_type(var_t *v, decl_spec_t *decl_spec, const declarator_t *decl,
...
@@ -1457,13 +1456,15 @@ static void set_type(var_t *v, decl_spec_t *decl_spec, const declarator_t *decl,
* pointer_default so we need to fix that up here */
* pointer_default so we need to fix that up here */
if (!arr)
if (!arr)
{
{
int ptr_attr = get_attrv(v->attrs, ATTR_POINTERTYPE);
const type_t *ptr = NULL;
const type_t *ptr = NULL;
/* pointer attributes on the left side of the type belong to the function
/* pointer attributes on the left side of the type belong to the function
* pointer, if one is being declared */
* pointer, if one is being declared */
type_t **pt = func_type ? &func_type : &v->type;
type_t **pt = func_type ? &func_type : &v->type;
for (ptr = *pt; ptr; )
for (ptr = *pt; ptr
&& !ptr_attr
; )
{
{
if (ptr->kind == TKIND_ALIAS)
ptr_attr = get_attrv(ptr->attrs, ATTR_POINTERTYPE);
if (!ptr_attr && ptr->kind == TKIND_ALIAS)
ptr = ptr->orig;
ptr = ptr->orig;
else
else
break;
break;
...
...
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