Skip to content

Constraint aren't generated correctly for functions declared by typedef #437

Open
@john-h-kastner

Description

@john-h-kastner

Functions bar and baz are declared using the same typedef, so their types should be equated and the their pre-declarations should continue to use the typedef.

typedef void foo(int*);

foo bar;
void bar(int *a){};

foo baz;
void baz(int *a){
  a =1;
};

PR #436 address a rewriting error in this example (issue #430), but even after this fix, the typedef is ignored.

typedef void foo(int*);

void bar(_Ptr<int> a);
void bar(_Ptr<int> a){};

void baz(int *a : itype(_Ptr<int>));
void baz(int *a : itype(_Ptr<int>)){
  a =1;
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions