Add support for GCC's '__auto_type' extension, per the GCC manual:

Description

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!

Details

Committed
rsmithNov 10 2015, 6:02 PM
Parents
rL252689: Disabling sancov.cc on windows.
Branches
Unknown
Tags
Unknown