Skip to content

cdecl-12.0

Compare
Choose a tag to compare
@paul-j-lucas paul-j-lucas released this 06 Aug 14:42
· 3428 commits to master since this release

Added suggestions
Added suggestions to error messages in certain cases when a keyword is expected, for example:

cdecl> declare x as type poiner to int
                         ^
19: syntax error: "poiner": "as" expected; did you mean "pointer"?

Better executable name checking
Previously, if cdecl was invoked as cast, declare, or explain, or with a name that isn't a command (through renaming or a hard or a symbolic link) without command-line arguments, it behaved as if it were invoked as cdecl without error. This has been fixed.

C23
The placeholder name of C2X has been changed to C23.

Color and TERM
The TERM environment variable is no longer considered when determining whether color should be used in output. Now, all that matters is whether the output stream is connected to a TTY.

exit auto-completion
The exit command is no longer auto-completable enabling explain to be auto-completed after typing only ex rather than exp as before.

help options types
Help for types was added to options help.

explicit help
The missing explicit was added to the help.

explicit-escu for enum
The explicit-ecsu option for enums is fixed.

include
Added a new include command to include cdecl commands from files either from a configuration file or the cdecl command line.

_Noreturn deprecated
_Noreturn is now deprecated in C2X.

Printing of types
Now printing types in error messages as they were originally defined (pseudo-English vs. gibberish) in more cases.

Additional sanitizers
The configure options of --enable-msan and --enable-ubsan have been added to enable clang's Memory Sanitizer and Undefined Behavior Sanitizer, respectively. The previous --enable-address-sanitizer has been renamed to --enable-asan.

show autocompletion
The show command now uses command-specific autocompletion.

Overloading co_await operator
Overloading the co_await operator is now supported.

Predefined types
Fixed spelling of bad_typeid; added source_location, type_index, and type_info.

Types as objects, English edition
Previously declared types in pseudo-Engilsh are now checked to ensure they're not being used as objects:

cdecl> struct S
cdecl> declare S as int             // error (now)