| Issue |
124249
|
| Summary |
Explicit inner struct specialization is not included in AST
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
Vindicatory
|
I'm trying to parse sample code with calling
`clang -Xclang -ast-dump -ferror-limit=0 sample.cpp`
```
#include "BAD"
#include "VERYBAD"
template <typename T>
struct my_struct
{
struct inner {
T a;
};
};
extern int test;
template<>
struct my_struct<int>::inner
{
};
extern int test2;
```
The last two node are
```
|-VarDecl 0x2034635a608 <line:25:1, col:12> col:12 test 'int' extern
`-VarDecl 0x2034635a870 <line:32:1, col:12> col:12 test2 'int' extern
```
But If I remove #include "VERYBAD", there is still one "fatal error message", but now, AST includes that template specialization.
What is the logic behind this parser behavior? Why are 2 errors critical and one is not? And is there a way to somehow ignore them?
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs