[clang] [clang-tools-extra] [clang] NFC: change more places to use Type::getAsTagDecl and friends (PR #155313)

via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 12 09:03:57 PDT 2025


bgra8 wrote:

@mizvekov we (at google) bisected a compilation error to this revision. The compilation breakage only reproduces with modules enabled.

The faulty compiler error is `error: enumeration 'foo::bar::XEnum' is incomplete` pointing to a forward declaration:
```
enum XEnum : int;
```

But the `XEnum` is correctly / fully declared later in the translation unit.

The error seems to be `enabled` by a `using enum ::foo::bar::XEnum;` statement inside a member function of a template class. If I remove the `using enum` statement and fully qualify all enumeration values inside that method the compilation succeeds.

The follow-up https://github.com/llvm/llvm-project/pull/156127 does not fix this specific issue.

Could this information help you pin-point the issue, or a reproducer is necessary?

https://github.com/llvm/llvm-project/pull/155313


More information about the cfe-commits mailing list