Peter Szecsi b180eebed4 [ASTImporter] FriendDecl importing improvements
There are only a few cases of importing a frienddecl which is currently supported.
This patch aims to improve the friend import process.
Set FriendObjectKind in case of decls, insert friend into the friend chain
correctly, checks structurally equivalent in a more advanced manner.
Test cases added as well.  

llvm-svn: 330847
2018-04-25 17:28:03 +00:00

49 lines
479 B
C++

struct A {
public:
int x;
};
struct B : A {
float y;
float foo();
};
struct C {
C(int i = 10);
C(const C&);
C &operator=(C&);
~C();
};
enum E {
b = 1
};
//Friend import tests
void f();
int g(int a);
struct X;
struct Y;
struct F1 {
public:
int x;
friend struct X;
friend int g(int);
friend void f();
};
struct F2 {
public:
int x;
friend struct X;
friend void f();
};
struct F3 {
public:
int x;
friend int g(int);
friend void f();
};