
comparing their types under the assumption that they are equivalent, rather than importing the types and then checking for compatibility. A few minor tweaks here: - Teach structural matching to handle compatibility between function types with prototypes and those without prototypes. - Teach structural matching that an incomplete record decl is the same as any other record decl with the same name. - Keep track of pairs of declarations that we have already checked (but failed to find as structurally matching), so we don't emit diagnostics repeatedly. - When importing a typedef of an anonymous tag, be sure to link the imported tag type to its typedef. With these changes, we survive a repeated import of <stdlib.h> and <stdio.h>. Alas, the ASTNodeImporter is getting a little grotty. llvm-svn: 96298
8 lines
152 B
C
8 lines
152 B
C
typedef int Int;
|
|
void f0(Int);
|
|
void f1(Int, double);
|
|
void f2(int, int);
|
|
void f3(int);
|
|
static void f4(float, float);
|
|
int f5(int) __attribute__((const));
|