distinct anonymous structs remain distinct despite having similar layout.
This is already ensured by distinguishing based on their placement in the parent
struct, using the function `findAnonymousStructOrUnionIndex`.
The problem is that this function only handles anonymous structs, like
```
class Foo { struct { int a; } }
```
and not untagged structs like
```
class Foo { struct { int a; } var; }
```
Both need to be handled, and this patch fixes that. The test case ensures that this functionality doesn't regress.
Thanks to Manman Ren for review.
https://reviews.llvm.org/D22270
llvm-svn: 275460
|
||
|---|---|---|
| .. | ||
| Inputs | ||
| anonymous-fields.cpp | ||
| category.m | ||
| class-template.cpp | ||
| class.cpp | ||
| codegen-body.c | ||
| codegen-exprs.c | ||
| enum.c | ||
| exprs.c | ||
| function.c | ||
| inheritance.cpp | ||
| init-ctors.cpp | ||
| interface.m | ||
| namespace.cpp | ||
| property.m | ||
| struct.c | ||
| typedef.c | ||
| var.c | ||