cdecl-9.6
Specific languages in error messages
Rather than just say " is not supported in ", now says " is not supported until ."
More constructor & destructor warning checks
Constructors and destructors are now checked for throw
. Constructor parameters are now checked for warnings.
Reserved identifier warnings
Warnings are now given for names that are reserved identifiers, specifically names that match the patterns _[A-Z_]*
(C and C++) or *__*
(C++ only).
Type redefinition error now includes existing type
If you attempt to redefine an existing type with a different type, the error message now includes the existing type.
Fixed thread_local
thread_local
is now correctly allowed only in C11 or C++11 or later.
Function auto
parameters in C++20
Functions in C++20 now allow auto
parameters.
_Bool
_Bool
is now recognized only in C99 and later and not in C++.
imaginary
imaginary
is now mapped only to _Imaginary
in C99 and later and not in C++.
throw()
in C++20
throw()
is no longer supported in C++20.
Fixed args
help
The help for args
no longer prints <name>
for when the current language is either C2X or C++.