[clang] [clang][Sema] Fix for enums overflowing (#24667) (PR #78742)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 22 06:27:25 PDT 2024
wheatman wrote:
I made the changes, added the tests, and fixed some things that the tests found.
A few questions.
It seems like n3030 is only partially supported, specifically
```
extern enum forward fwd_val0; /* Constraint violation: incomplete type */
extern enum forward* fwd_ptr0; /* Constraint violation: enums cannot be
used like other incomplete types */
```
However, these seem unrelated to the rest of the changes and I am not really sure how to begin with them so I just labeled the support as partial for now.
Also, I did not touch anything on the msvc side due to this comment
```
// For MSVC ABI compatibility, unfixed enums must use an underlying type
// of 'int'. However, if this is an unfixed forward declaration, don't set
// the underlying type unless the user enables -fms-compatibility. This
// makes unfixed forward declared enums incomplete and is more conforming.
```
It seems like they don't support these features yet and I figured breaking matched behavior was not desirable.
How do I set up the tests to not run on the msvc side?
https://github.com/llvm/llvm-project/pull/78742
More information about the cfe-commits
mailing list