Skip to content

3.0

Compare
Choose a tag to compare
@paul-j-lucas paul-j-lucas released this 23 Apr 00:46
· 6982 commits to master since this release

GNU Autotools
The GNU Autotools suite is now used to build.

GNU-style test suite and many more tests
There are now over 500 unit tests that can be run via make check.

More semantic checks
Many more semantic checks have been added to disallow invalid declarations.

Long command-line options
Long (GNU-style) command-line options, e.g., --language, are now accepted.

Multi-line input
Long commands can now be given across multiple lines by escaping the newlines with a backslash.

More C and C++ versions
Now distinguishes among K&R C, C89, C95, C99, C11, C++98, C++03, C++11, and C++14.

More types
Now supports _Atomic, bool, char16_t, char32_t, complex, noreturn, restrict, thread_local, and wchar_t.

Inline functions
Added inline function support.

Function arguments
Added register and variadic function argument support (independently).

Typedef declarations
Added typedef declarations (independently).

C++ member functions
Added final, friend, const, override, volatile, virtual, and pure virtual C++ member function declaration support.

C++11 features
Added C++11 auto, constexpr, enum class, mutable, rvalue references, and the function trailing return-type syntax.

Optional returning
In pseudo-English for functions, the returning clause is now optional and equivalent to returning void.

Number bases
Binary, octal, and hexadecimal numbers can now be used for array sizes.

Better warning an error messages
Warning and error messages are now better, complete with location information and color.

Comments
C /*...*/ and C++ // comments are now ignored.

No cdecl reserved words in C declarations
Reserved words that are part of cdecl's pseudo-English are no longer considered such when explaining C or C++ declarations.

Revamped manual page
The cdecl(1) manual page has been revamped.