diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2015-10-08 10:04:46 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2015-10-08 10:04:46 +0000 |
| commit | dc9be216c0f20dcf49f885ba26af845c709a3b50 (patch) | |
| tree | e273456666c1ea262002f2f06801f01cadf21116 /llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp | |
| parent | 4069730c75152f082ae61b0ab1526f1a685e9587 (diff) | |
| download | llvm-dc9be216c0f20dcf49f885ba26af845c709a3b50.zip llvm-dc9be216c0f20dcf49f885ba26af845c709a3b50.tar.gz llvm-dc9be216c0f20dcf49f885ba26af845c709a3b50.tar.bz2 | |
[MSVC Compat] Try to treat an implicit, fixed enum as an unfixed enum
consider the following:
enum E *p;
enum E { e };
The above snippet is not ANSI C because 'enum E' has not bee defined
when we are processing the declaration of 'p'; however, it is a popular
extension to make the above work. This would fail using the Microsoft
enum semantics because the definition of 'E' would implicitly have a
fixed underlying type of 'int' which would trigger diagnostic messages
about a mismatch between the declaration and the definition.
Instead, treat fixed underlying types as not fixed for the purposes of
the diagnostic.
llvm-svn: 249674
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp')
0 files changed, 0 insertions, 0 deletions
