* Sun Jan 29 2023 Jan Engelhardt <jengelh@inai.de>
- Update to release 13.2
* No longer require certain declarations to be function
parameters: const, volatile, static, and variable length
arrays
* The set of word-break characters for autocompletion has been
expanded to be (almost) all non-identifier characters.
* Bit-fields having [[no_unique_address]] are now correctly
reported as an error.
* Sun Jan 08 2023 Jan Engelhardt <jengelh@inai.de>
- Update to release 13.1
* Added support for `auto` as a deduced type in C23.
* C23 (anti-)trigraphs
* friend scoped user-defined conversion operators are now
parsed correctly.
* Tue Nov 01 2022 Jan Engelhardt <jengelh@inai.de>
- Update to release 13
* Better copy constructor support
* A lot of C23 keywords are now recognized
* More C++23 keywords are now recognized
* Enumerations in C++ can now be bit fields.
* C++11 explicit user-defined conversion operators
- Delete 0001-build-resolve-compile-failure-due-to-improper-attrib.patch
* Tue Nov 01 2022 Jan Engelhardt <jengelh@inai.de>
- Update to release 12
* Added suggestions to error messages in certain cases when a
keyword is expected, for example:
* The placeholder name of C2X has been changed to C23.
* 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.
* Previously declared types in pseudo-Engilsh are now checked
to ensure they're not being used as objects.
- Add 0001-build-resolve-compile-failure-due-to-improper-attrib.patch
- Delete unbreak-gnulib.diff
* Fri May 13 2022 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.15
* _Atomic arrays are now correctly forbidden.
* New "CDECLRC" environment variable.
* Alignment of enums is now correctly allowed in C11 mode.
* Thu Mar 10 2022 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.14
* Now prints a warning that neither alternative tokens nor
digraphs are supported until C95.
* Now prints a warning that east-const isn't supported until C89.
* Now prints a warning that using isn't supported until C++11.
* Sat Feb 26 2022 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.13
* Alignment of enum, struct, and union is now correctly
forbidden in C.
* alignas & _Alignas: These keywords are now additionally
allowed instead of aligned [as|to] in pseudo-English.
* "restrict" is now correctly allowed on typedefs of pointer.
* Sun Feb 13 2022 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.12
* noexcept for function parameters
* Ignore leading whitespace for command completion
* Sun Jan 23 2022 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.11
* Support the use of attributes in conjunction with
`using T = ...` declarations.
* Types will now be presented as `using T = ...` for
C++11 and onwards.
* Mon Jan 03 2022 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.10
* const (and volatile) qualifiers for void as a function
"parameter" (even via a typedef) are now correctly flagged as
an error.
* A restricted pointer to a non-object, e.g., function, is now
correctly flagged as an error.
* Thu Dec 23 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.9
* Fixed reading from stdin when it's not a TTY.
* Function-like parameters are now checked for redefinition
(more than one parameter having the same name).
* Added the standard C++ types std::ispanstream,
std::stacktrace_entry, and std::wispanstream.
* Tue Dec 14 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.8
* New cdecl keywords: There are now the new pseudo-English
keywords of evaluation (plus eval as a shorthand), expression
(plus expr), and initialization (plus init) that can
optionally be used after constant (or const) instead of
consteval, constexpr, or constinit, respectively.
* Sat Dec 11 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.7
* When an unexpected name token is encountered, if said token
is a cdecl keyword, it's now mentioned in the error message.
* Zero-sized arrays are now correctly forbidden.
Version: 11.6-bp154.1.22
* Fri Dec 03 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.6
* C++23: integer literal suffix support (z, uz)
* C++23: operator[] support for zero-or-more arguments
* Thu Nov 11 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.5
* Locations for error and warning messages have been improved.
* The `show` command now correctly prints all possible commands
to define a type when requested to show a type that does not
exist.
* A deprecated warning is now printed for a `register` array,
`enum`, `class`, `struct`, `union`, pointer, pointer to
member, reference, and rvalue reference between C++11 and
C++14. (Previously, a warning was printed only for built-in
types and `typedef`s.)
* Fri Oct 15 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.4
* Allow declarations using unknown scoped type names
* const-volatile-restrict-qualified _Atomic types are now
correctly forbidden.
* Fri Oct 08 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.3
* Both an --explicit-csu/-S command-line and explicit-ecsu set
option have been added.
* Sun Oct 03 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.2
* const_cast, dynamic_cast, and reinterpret_cast now perform
additional checks.
- Add unbreak-gnulib.diff
* Fri Oct 01 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.1
* Fixed multiple nested declarations crash.
* Tue Sep 28 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 11.0
* Correctly forbid functions returning struct in K&R C.
* Support digraphs before C95 and trigraphs in K&R C.
* Optional () for destructor.
* C++20's nested inline namespaces are now supported
* In-class default, delete, and noexcept constructors are now
accepted.
* A raw string literal like R"abc(X)ab)abc" was previously not
parsed correctly.
* An array of reference (or rvalue reference) is now correctly
flagged as an error.
* Sat Aug 28 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 10.4
* Added support for Microsoft calling conventions, MS __declspec,
and __asm keywords, and __m64/__m128 types.
- Drop unbreak-gnulib.diff (solved upstream)
* Sun Aug 15 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 10.3
* Marking functions and conversion operators = delete is now
supported.
- Add unbreak-gnulib.diff
* Wed Jun 30 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 10.2
* At most one of `virtual`, `final`, or `override` is now printed.
* Pointers to union members are now allowed.
* Sun Jun 06 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 10.1
* More robust scoped name type checking
* More C++ std types
Version: 10.0-bp153.2.3.1
* Thu May 27 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 10.0
* cdecl now recognizes "asm" just to say it's not supported.
* Improved operator<=> now checks for usable return type.
* Default relational operators in C++20 are now supported.
* C++'s raw string literals R"delim(...)delim" are now supported.
* Thu Apr 29 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.10
* The show command now supports globs.
* Mon Mar 22 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.9
* Added more predefined types: iconv_t, locale_t,
posix_spawnattr_t, posix_spawn_file_actions_t, regex_t,
regmatch_t, and regoff_t.
* A pointer to function with qualifiers is now caught for C.
* Nested types are now correctly caught as an error in C.
* A scoped name having a bit-field width is now caught as
an error.
* A declaration having a storage class and a bit-field width is
now correctly caught as an error.
* Sat Mar 06 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.8
* extern "C" using declarations are now supported.
* The help for pseudo-English now correctly includes auto as a
storage class for C++98 and C++03.
* Fri Feb 26 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.7
* Multi-type typedef support
* Sat Feb 20 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.6
* More constructor & destructor warning checks
* Type redefinition error now includes existing type
* Wed Feb 10 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.5.1
* A function as a parameter is now automatically converted to a
pointer to function per 6.3.2.1(4) of the C standard.
* Sat Feb 06 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.5
* Added enum, class, struct, and union attribute specifier
support.
* Added fixed-type enum support.
* Added C2X __attr__ aliases.
* Added support for parsing C++ attribute arguments.
* Added support for parsing C++17 using in attributes.
* Added support for parsing GNU __attribute__.
* Sun Jan 24 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.4
* Improved constructor & destructor declaration support
* Ability to explain forward declarations
* Ability to catch types having bit-field widths
* Fri Jan 15 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.3
* Declarations with bit-field widths are now supported.
* Wed Jan 13 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.2
* In-class constructor declarations without any
storage-class-like type are now supported.
* Both final and override are now recognized as keywords only
in a member function declaration context.
* Fri Jan 01 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.1
* Implicit int functions in K&R C are now supported ("set knrc",
"explain f(x)")
* Sat Dec 19 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 9.0
* The `show` command can now alternatively show types as
`using` declarations.
* For `predefined` or `user`, the `show` command now shows only
types that are valid in the current language.
* When printing `enum`, `struct`, `class`, or `union` types,
they are shown differently depending on what language the
type was defined in and whether the current language is C or
C++.
* Fri Dec 11 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 8.3
* "Did you mean ...?" added
* Multiple, comma-separated declarations are supported
* Sat Nov 21 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 8.2
* Pseudo-English now allows "align" as a synonym for "aligned".
* The "set" command can now take multiple options.
* C99 type-qualified array function arguments can now have a
size omitted. ("void f(int a[const])")
* Mon Sep 14 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 8.1
* Added support for Unified Parallel C
* Fri Sep 04 2020 Jan Engelhardt <jengelh@inai.de>
- Fix awkward grammar in description.
* Thu Jul 30 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 8.0
* Support for C2X and Embedded C.
* More support for C++20.
* Sun Jul 12 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 7.4.1
* The legal signed main() signature is now accepted.
* "East const" is now ignored when explaining gibberish.
* Mon Jun 29 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 7.3
* Explaining a declaration like: "explain void f(double (*a)[5])"
crashed; this was fixed.