llvm-project/clang/test/CXX
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
..
basic [Sema] main can't be declared as global variable, in C++. 2015-08-14 14:13:29 +00:00
class [Sema] Don't crash when friending an unqualified templated constructor 2015-09-30 22:07:43 +00:00
class.access [modules] In C++, stop serializing and deserializing a list of declarations in 2015-07-21 23:54:07 +00:00
class.derived PR6037 2015-01-19 01:44:02 +00:00
concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept [Concepts] Add diagnostics which fall under [dcl.spec.concept]p1 2015-11-04 18:18:35 +00:00
conv PR6037 2015-01-19 01:44:02 +00:00
dcl.dcl Add support for GCC's '__auto_type' extension, per the GCC manual: 2015-11-11 02:02:15 +00:00
dcl.decl [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
drs N3922: direct-list-initialization of an auto-typed variable no longer deduces a 2015-11-11 01:36:17 +00:00
except Promote a warning on ill-formed code (redeclaration missing an exception 2015-09-30 00:48:50 +00:00
expr N3922: direct-list-initialization of an auto-typed variable no longer deduces a 2015-11-11 01:36:17 +00:00
lex When pretty-printing a C++11 literal operator, don't insert whitespace between 2015-10-08 00:17:59 +00:00
over When pretty-printing a C++11 literal operator, don't insert whitespace between 2015-10-08 00:17:59 +00:00
special Unify warnings/errors from "maybe you meant" to "did you mean". 2015-04-02 22:10:06 +00:00
stmt.stmt Sema: Allow 'constexpr' variables in range loops 2015-02-18 18:34:59 +00:00
temp PR20073: promote "dereference of 'void*'" from Extension to ExtWarn. 2015-05-19 01:41:12 +00:00