llvm-project/clang/lib/Serialization
Richard Smith e301ba2b48 Add support for GCC's '__auto_type' extension, per the GCC manual:
https://gcc.gnu.org/onlinedocs/gcc/Typeof.html

Differences from the GCC extension:
 * __auto_type is also permitted in C++ (but only in places where
   it could appear in C), allowing its use in headers that might
   be shared across C and C++, or used from C++98
 * __auto_type can be combined with a declarator, as with C++ auto
   (for instance, "__auto_type *p")
 * multiple variables can be declared in a single __auto_type
   declaration, with the C++ semantics (the deduced type must be
   the same in each case)

This patch also adds a missing restriction on applying typeof to
a bit-field, which GCC has historically rejected in C (due to
lack of clarity as to whether the operand should be promoted).
The same restriction also applies to __auto_type in C (in both
GCC and Clang).

This also fixes PR25449.

Patch by Nicholas Allegra!

llvm-svn: 252690
2015-11-11 02:02:15 +00:00
..
ASTCommon.cpp [Sema] Implement __make_integer_seq 2015-11-04 03:40:30 +00:00
ASTCommon.h [modules] Add an assert for redeclarations that we never added to their redecl 2015-07-27 05:40:23 +00:00
ASTReader.cpp Add support for GCC's '__auto_type' extension, per the GCC manual: 2015-11-11 02:02:15 +00:00
ASTReaderDecl.cpp [Sema] Implement __make_integer_seq 2015-11-04 03:40:30 +00:00
ASTReaderInternals.h Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
ASTReaderStmt.cpp [coroutines] Creation of promise object, lookup of operator co_await, building 2015-10-27 06:02:45 +00:00
ASTWriter.cpp Add support for GCC's '__auto_type' extension, per the GCC manual: 2015-11-11 02:02:15 +00:00
ASTWriterDecl.cpp Eliminate "rewritten decls" from the AST writer. NFC 2015-11-03 01:20:54 +00:00
ASTWriterStmt.cpp [coroutines] Creation of promise object, lookup of operator co_await, building 2015-10-27 06:02:45 +00:00
CMakeLists.txt Introduce module file extensions to piggy-back data onto module files. 2015-11-03 18:33:07 +00:00
GeneratePCH.cpp Introduce module file extensions to piggy-back data onto module files. 2015-11-03 18:33:07 +00:00
GlobalModuleIndex.cpp EmitRecord* API change: accepts ArrayRef instead of a SmallVector (NFC) 2015-09-10 01:46:39 +00:00
Makefile
Module.cpp Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
ModuleFileExtension.cpp Introduce module file extensions to piggy-back data onto module files. 2015-11-03 18:33:07 +00:00
ModuleManager.cpp Fix use-after-free in ModuleManager 2015-10-21 23:12:45 +00:00
MultiOnDiskHashTable.h Roll-back r250822. 2015-10-20 13:23:58 +00:00