Releases: paul-j-lucas/cdecl
cdecl-3.1.1
Parallel builds
Parallel builds were fixed.
Manual page caveats
Added additional caveats: qualified C++ data members or member functions are not supported.
cdecl-3.1
Ref-qualifiers
Now supports C++11 function ref-qualifiers.
Installs c++decl
A "make install" will now also create c++decl as a symbolic link to cdecl.
cdecl-3.0.1
Renamed --disable-debug to --disable-cdecl-debug
Renamed this configure option to avoid clash with conventional --disable-debug
option.
3.0
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.