Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
18.4.1 09 Sep 2024 02:06:04 |
Larry Rosenman (ler) |
devel/cdecl: update to 18.4.1
readline.h & stdio.h fix
Compensating for the apparent fact that genuine GNU readline.h (wrongly)
requires a manual #include <stdio.h>. |
18.4 07 Sep 2024 23:00:28 |
Larry Rosenman (ler) |
devel/cdecl: update to 18.4
C++26
Initial support for C++26 has been added, specifically = delete("reason") is now
supported.
However, since C++26 is (at least) 2 years away, the default language for C++ is
still C++23.
Placemarker for empty macro argument
Macros that can take a single argument can also accept no arguments since it's
interpreted as an argument of a placemarker, e.g.:
cdecl> #define M1(A) [A]
cdecl> expand M1()
M1() => [A]
| A =>
M1() => []
is correct. |
18.3 17 Aug 2024 23:40:34 |
Vladimir Druzenko (vvd) Author: Älven |
devel/cdecl: update 18.2 → 18.3
Changelog:
https://github.com/paul-j-lucas/cdecl/releases/tag/cdecl-18.3
Also:
- replace PORTVERSION with DISTVERSION
- add LICENSE_FILE
- remove GNU_CONFIGURE_MANPREFIX
- move PLIST_FILES to pkg-plist
- pet portclippy
PR: 280878
Approved by: ler (maintainer) |
18.2 04 Aug 2024 04:07:01 |
Larry Rosenman (ler) |
devel/cdecl: update to 18.2
ChangeLog:
More permissive types
Unknown names are now always permitted as types in pseudo-English. Hence, the
--permissive-types option now only additionally allows keywords in language
versions other than the current language as types. |
18.1 21 Jul 2024 04:38:56 |
Larry Rosenman (ler) |
devel/cdecl: update to 18.1
ChangeLog:
alignas scoped names*
Alignments can now have names to denote the number of bytes, e.g.:
c++decl> explain alignas(N) char c
declare c as character aligned as N bytes
where N is presumed to be an integer constant.
_BitInt multi-declarations
Declarations like:
declare x, y as bit precise integer 4
are now correct. (Only the first 15 lines of the commit message are shown above ) |
18.0 06 Jul 2024 11:09:24 |
Larry Rosenman (ler) |
devel/cdecl: update to 18.0
ChangeLog:
Allowing blocks & user-defined literals in multi-declarations
Apple blocks and C++ user-defined literals are now correctly allowed in
multi-declarations, e.g.:
int i, a[2], (^b)(char), f(double), operator~(S&), operator""_x(char)
cast & declare command executable name support
Support for the cast & declare command as the executable name has been dropped;
only the explain command is still supported. (I didn't realize until now that
declare conflicts with the shell built-in.)`
Cast to typedef
Casting to a typedefd type is fixed:
cdecl> typedef int T
cdecl> cast x into T (Only the first 15 lines of the commit message are shown above ) |
17.0.1 19 Jun 2024 15:42:26 |
Larry Rosenman (ler) |
devel/cdecl: update to 17.0.1
ChangeLog:
16.4.1 -> 17.0
Abbreviated function template parameter packs
Functions with auto parameters (abbreviated function templates) like:
int f( auto x )
have been supported since cdecl 9.6; this release adds additional support for
parameter packs like:
int f( auto ...x )
Added help option suggestions
Added suggestions to error messages for the help options commands, english, and
options, for example:
(Only the first 15 lines of the commit message are shown above ) |
16.4.1 05 Jun 2024 14:41:53 |
Larry Rosenman (ler) |
devel/cdecl: upgrade to 16.4.1
ChangeLog:
16.4:
Echoing commands short option
The short option for --echo-commands has been changed from -O to -E.
Number help
Help now includes what a "number" is.
Shell completion options
There are two new options: --commands/-K that prints cdecl's commands for the
current language and --options/-O that prints cdecl's options. Both are intended
to aid in writing shell completion functions for cdecl.
Shell completion functions
Bash and Zsh shell completion functions for cdecl are included under share and
are installed as part of make install. (Only the first 15 lines of the commit message are shown above ) |
16.3 18 Apr 2024 03:59:51 |
Larry Rosenman (ler) |
devel/cdecl: update to 16.3
ChangeLog:
Better destructor parameter error message
Attempting either to explain or declare a destructor having a parameter list now
prints "destructors may not have parameters" explicitly.
Defining a type more than once
If a type is defined again where the current language is older than the language
in which it was previously defined, the type's set of languages is now updated
to be the current language and newer. For example, previously:
cdecl> set c23
cdecl> typedef int Int
cdecl> show
typedef int Int;
cdecl> set c17
cdecl> typedef int Int // Already exists so did nothing. (Only the first 15 lines of the commit message are shown above ) |
16.2.1_1 05 Mar 2024 14:51:14 |
Nuno Teixeira (eduardo) |
devel/cdecl: Move man pages to share/man
Approved by: portmgr (blanket) |
16.2.1 21 Feb 2024 04:20:41 |
Larry Rosenman (ler) |
devel/cdecl: update to 16.2.1
Fixed macro argument list memory leak
Fixed said leak. |
16.2 31 Jan 2024 04:15:20 |
Larry Rosenman (ler) |
devel/cdecl: upgrade to 16.2
Partial typeof support
Both typeof and typeof_unqual in C23 are partially supported in that types are
accepted (but expressions are not):
typeof(int*) x // supported
typeof(x) y // not supported
Additionally, GNU's __typeof__ is a synonym for typeof. |
16.1 15 Jan 2024 04:16:52 |
Larry Rosenman (ler) |
devel/cdecl: update to 16.1
ChangeLog:
explicit-ecsu in English
The value of the explicit-ecsu option now also applies in pseudo-English.
Previously:
c++decl> class C
c++decl> explain C *p
declare p as pointer to C
Now (with explicit-ecsu containing c):
c++decl> class C
c++decl> set explicit-ecsu = csu
c++decl> explain C *p
declare p as pointer to class C
Leading/trailing whitespace stringification
Previously:
expand Q2(, a b ,)
incorrectly returned " a b " whereas now it correctly returns "a b". |
16.0 06 Jan 2024 00:43:35 |
Larry Rosenman (ler) |
devel/cdecl: update to 16.0
Release Notes:
Macro expansion
Cdecl now allows you to #define macros and expand them step-by-step.
C99 with extension error messages
Improved C99 with extension error messages.
--disable-cdecl-debug removed
The --disable-cdecl-debug configure option has been removed (which means cdecl
debug output is always compiled in).
GCC_COLORS
Support for GCC_COLORS has been removed. It was more of a hindrance than a help.
(Only the first 15 lines of the commit message are shown above ) |
15.0 17 Dec 2023 21:41:29 |
Larry Rosenman (ler) |
devel/cdecl: upgrade to 15.0
Check the GitHub release notes for more info.
https://github.com/paul-j-lucas/cdecl/releases |
13.1 09 Jan 2023 20:21:49 |
Larry Rosenman (ler) |
devel/cdecl: update to 13.1
ChangeLog:
auto type definitions and casts
Defining or casting a type containing auto is now correctly reported as an
error.
C23 auto
Added support for auto as a deduced type in C23.
C23 trigraphs
Trigraphs are no longer supported in C23.
_BitInt(<int>) help
_BitInt(<int>) was added to the help text.
(Only the first 15 lines of the commit message are shown above ) |
13.0 01 Nov 2022 14:16:24 |
Larry Rosenman (ler) |
devel/cdecl: Update to 13.0
ChangeLog:
Better copy constructor support
Declarations like:
c++decl> explain C(C const&)
declare C as constructor (reference to constant C)
are now supported better.
C23 alignas
In C23, alignas is now used instead of _Alignas.
C23 _BitInt(N)
The _BitInt(N) type in C23 in now supported. (Only the first 15 lines of the commit message are shown above ) |
07 Sep 2022 21:58:51 |
Stefan Eßer (se) |
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner) |
12.0_1 07 Sep 2022 21:10:59 |
Stefan Eßer (se) |
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above ) |
12.0_1 07 Aug 2022 01:30:11 |
Larry Rosenman (ler) |
devel/cdecl: distfile re-rolled
due to a minor bug. |
12.0 06 Aug 2022 15:24:58 |
Larry Rosenman (ler) |
devel/cdecl: update to 12.0
ChangeLog:
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 (Only the first 15 lines of the commit message are shown above ) |
11.15 20 Jul 2022 14:21:35 |
Tobias C. Berner (tcberner) |
devel: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* <jkoshy@FreeBSD.org>
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Aaron H. K. Diep <ahkdiep@gmail.com>
* Aaron Hurt <ahurt@anbcs.com>
* Abel Chow <abel_chow@yahoo.com>
* Adam McLaurin
* Adam Saponara <as@php.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org> (Only the first 15 lines of the commit message are shown above ) |
11.15 15 May 2022 01:46:37 |
Larry Rosenman (ler) |
devel/cdecl: Upgrade to 11.15
ChangeLog:
Atomic arrays
_Atomic arrays are now correctly forbidden:
typedef int A[2]
explain _Atomic A x // error: _Atomic array of T is illegal
Note that:
_Atomic int x[2]; // OK: array of _Atomic T is legal
is legal.
CDECLRC environment variable
If none of the --config, -c, --no-config, nor -C command line options (Only the first 15 lines of the commit message are shown above ) |
11.14 11 Mar 2022 16:01:30 |
Larry Rosenman (ler) |
devel/cdecl: upgrade to 11.14
ChangeLog:
Alternative tokens & digraphs
Now prints a warning that neither alternative tokens nor digraphs are
supported until C95. Also now printing a warning if alternative tokens
are set and the current language changes to one that doesn't support
them.
east-const in K&R C
Now prints a warning that east-const isn't supported until C89.
using
Now prints a warning that using isn't supported until C++11.
Fixed void f(int())
The long-standing issue #10 has finally been fixed.
Fixed help message
The old mention of files... in the help messages was removed. |
11.13 27 Feb 2022 21:03:27 |
Larry Rosenman (ler) |
devel/cdecl: update to 11.13
ChangeLog:
Aligned enum, struct, and union in C
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.
Auto-completion of cdecl keywords
Cdecl keywords are now not auto-completable when explaining gibberish.
Auto-completion tweaks
new is now auto-completable; variadic is now autocompletable only in C89 (Only the first 15 lines of the commit message are shown above ) |
11.12 11 Feb 2022 15:47:05 |
Larry Rosenman (ler) |
devel/cdecl: Upgrade to 11.12.
ChangeLog:
noexcept for function parameters
noexcept is now correctly allowed for pointers to function parameter
arguments:
c++decl> explain void g( void (*f)() noexcept )
declare g as function (f as pointer to no-exception function returning
void) returning void
Dynamic exception specifications
These are now parsed, but either not supported by cdecl through C++14 or
no longer supported in C++17.
Ignore leading whitespace for command completion (Only the first 15 lines of the commit message are shown above ) |
11.11 23 Jan 2022 02:33:57 |
Larry Rosenman (ler) |
devel/cdecl: update to 11.11
ChangeLog:
using with attributes
Now supporting using with attributes:
c++decl> explain using Int [[maybe_unused]] = int
declare Int as maybe unused type int
Declare types with using
In C++11 and later, types are now declared with using instead of typedef
by default.
using declarations
New --no-using/-u command-line option and using set option that control
whether types are declared with using instead of typedef in C++11 and
later:
c++decl> declare pint as type pointer to int
using pint = int*;
c++decl> set nousing
c++decl> declare pint as type pointer to int
typedef int *pint;
More K&R C types
The types caaddr_t and daddr_t were added; jmp_buf was moved from C89. |
11.10 03 Jan 2022 16:03:06 |
Larry Rosenman (ler) |
devel/cdecl: upgrade to 11.10
ChangeLog:
Pre-C99 implicit int
Added more support for pre-C99 implicit int:
explain *p // pointer to int
explain *p, i // pointer to int, int
explain *a[4] // array 4 of pointer to int
explain *f() // function returning pointer to int
explain (*p) // pointer to int -- unnecessary ()
const void function parameters
const (and volatile) qualifiers for void as a function "parameter" (even via a
typedef) are now correctly flagged as an error:
void f1(void); // OK (Only the first 15 lines of the commit message are shown above ) |
11.9 22 Dec 2021 18:32:37 |
Larry Rosenman (ler) |
devel/cdecl: update to 11.9
ChangeLog:
Fixed reading from stdin
Fixed reading from stdin when it's not a TTY.
Redefinition check
Names being redefined with a different type in the same declaration are now
correctly forbidden:
int i, i; // OK (tentative definition)
int j, *j; // error: different type
Function-like parameter redefinition check
Function-like parameters are now checked for redefinition (more than one
parameter having the same name).
More C++ standard types
Added the standard C++ types std::ispanstream, std::stacktrace_entry, and
std::wispanstream. |
11.8 14 Dec 2021 18:14:52 |
Larry Rosenman (ler) |
devel/cdecl: update 11.8
ChangeLog:
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:
c++decl> declare f as constant expression function returning int
constexpr int f();
There are now the new pseudo-English keywords of maybe, unused, thread, local,
as well as discard, except, and return that can be used after no that can be
used instead of maybe_unused, thread_local, nodiscard, noexcept, and noreturn.
Fixed reading of stdin
The "no files as arguments" change broke reading of stdin; fixed. |
11.7 11 Dec 2021 02:04:25 |
Larry Rosenman (ler) |
devel/cdecl: update to 11.7
ChangeLog:
Cdecl keywords
When an unexpected name token is encountered, if said token is a cdecl keyword,
it's now mentioned in the error message:
cdecl> declare ptr as pointer to void
^
16: syntax error: "ptr": name expected ("ptr" is a cdecl keyword)
Additionally, cdecl keywords are now also offered in suggestions.
register arrays
register arrays are now correctly allowed.
Zero-sized arrays
Zero-sized arrays are now correctly forbidden.
No files as arguments
Command-line arguments were treated as files if they weren't commands.
This dubious use-case was a hold-over from the original cdecl and has
been removed. (If you want to read a file use -f.) |
11.6 03 Dec 2021 18:37:15 |
Larry Rosenman (ler) |
devel/cdecl: update to 11.6
ChangeLog:
C++23 integer literal suffixes
The case-insensitive integer literal suffixes of uz and zu for size_t and z for
ssize_t are now supported.
C++23 operator[]
Now allowing operator[] to have zero or more arguments starting in C++23.
Fixed bug with array of function
Given:
cdecl> explain int f[5](double)
declare f as function (double) returning int
cdecl (1) incorrectly elided the array and therefore (2) didn't report the array
of function as an error.
typedef of function
typedefs of function are now correctly allowed:
typedef int F(void) |
11.5 11 Nov 2021 15:03:19 |
Larry Rosenman (ler) |
devel/cdecl: update to 11.5.
ChangeLog:
Better error/warning locations
Locations for error and warning messages have been improved.
show error improvement
The show command now correctly prints all possible commands to define a type
when requested to show a type that doesn't exist.
register warnings
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
typedefs.)
K&R function parameter printed as int
For functions having K&R C typeless parameters, int is now printed in C89 and
later since such parameters are implicitly int.
show using before C++11
A show using before C++11 now prints an error.
Help output
Tweaked help output. |
11.4 29 Oct 2021 09:50:18 |
Stefan Eßer (se) |
*/*: Remove redundant '-[0-9]*' from CONFLICTS
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Many CONFLICTS definitions used patterns like "bash-[0-9]*" to filter
for the bash package in any version. But that pattern is functionally
identical with just "bash".
Approved by: portmgr (blanket) |
11.4 19 Oct 2021 14:52:39 |
Larry Rosenman (ler) |
devel/cdecl: upgrade 11.2->11.4
ChangeLog:
11.3:
Added explicit-ecsu option
Both an --explicit-csu/-S command-line and explicit-ecsu set option have been
added that set which type keywords enum, class, struct, or union, are included
explicitly in C++ declarations. The default is struct and
union only, so:
c++decl> declare ps as pointer to struct S
struct S *ps;
c++decl> declare pt as pointer to class T
T *pt;
Fixed nested array declaration
Explaining a declaration like:
(Only the first 15 lines of the commit message are shown above ) |
11.2 03 Oct 2021 23:15:08 |
Larry Rosenman (ler) |
devel/cdecl: upgrade from 8.0->11.2
See the github repo for all the changes |
8.0 06 Apr 2021 14:31:07 |
Mathieu Arnold (mat) |
Remove # $FreeBSD$ from Makefiles. |
8.0 30 Jul 2020 20:18:44 |
ler |
devel/cdecl: update to 8.0.
C2X support
Added support for C2X:
Added type char8_t.
Added [[...]] syntax for attributes.
Added [[deprecated]], [[maybe_unused]], and [[nodiscard]] attributes.
Removed support for typeless function arguments in K&R C.
More C++20 support
Added support for constinit and export in C++20.
Embedded C support
Added support for Embedded C:
(Only the first 15 lines of the commit message are shown above ) |
7.4.1 13 Jul 2020 15:26:28 |
ler |
devel/cdecl: update to 7.4.1.
Allowing signed main()
The legal signed main() signature is now accepted.
Ignoring east-const in English
East const is now ignored when explaining gibberish.
Disallowing reference to reference
References to references are now errors. |
7.4 02 Jul 2020 01:57:23 |
ler |
devel/cdecl: update to 7.4.
Bison debugging change
Changed --enable--yydebug configure option to --enable-bison-debug, --yydebug/-y
cdecl options to --bison-debug/-B, and yydebug to bison-debug set option.
Added Flex debugging
Added --enable-flex-debug configure option, --flex-debug/-F cdecl options, and
flex-debug set option.
Fixed set options
Finally fixed parsing of set options. |
7.3 29 Jun 2020 16:35:33 |
ler |
devel/cdecl: upgrade to 7.3.
Checking main()s signature
The signature of main() is now checked.
More C standard types
Added the standard C types atomic_flag, double_t, fenv_t, fexcept_t, float_t,
jmp_buf, memory_order, va_list, wctrans_t, and wctype_t.
Fixed explaining pointer-to-array function arguments
Explaining a declaration like:
cdecl> explain void f(double (*a)[5])
crashed; fixed. |
7.2 15 Jun 2020 19:21:20 |
ler |
devel/cdecl: upgrade to 7.2.
- changelog:
new & delete operator overloading
Added support for composing and deciphering C++ overloaded new, new[], delete,
and delete[] operators.
extern &static functions
extern or static functions can not be const.
English scoped types
Given:
struct S { typedef int Int; }
explain S::Int x
the explanation is: (Only the first 15 lines of the commit message are shown above ) |
7.1 26 May 2020 17:25:20 |
ler |
devel/cdecl: upgrade to 7.1.
dded more GNU extensions
Added GNU C's __complex, __complex__, __const, __inline, __restrict, __signed,
__signed__, __volatile, and __volatile__.
_Bool in C
In C, _Bool is now emitted rather than bool.
register removed
register is now removed (but still reserved) in C++17 and later. |
7.0 15 May 2020 19:22:18 |
ler |
devel/cdecl: upgrade to 7.0.
East const
New -E/--east-const command-line and east-const set options to use "east const"
in gibberish:
cdecl> declare x as const int
int const x;
Correct scope names for nested types
Previously, scope names for nested types were always printed as "of scope"; now
they print the type of scope (class, struct, union, or namespace):
c++decl> struct S { typedef int Int; };
c++decl> explain S::Int x
declare x as Int of structure S
Declare const/volatile user-defined conversion operators
Can now declare const/volatile user-defined conversion operators. (Only the first 15 lines of the commit message are shown above ) |
6.11 27 Apr 2020 16:05:07 |
ler |
devel/cdecl: upgrade to 6.11.
Added __inline__, __restrict__, and __thread
Added GNU C's __inline__, __restrict__, and __thread.
Added GNU C types
The GNU C types _Decimal32, _Decimal64, _Decimal128, _Float128, __float128,
_Float16, __fp16, __ibm128, _Float64x, __float80, and __int128 were added to the
set of predefined types.
Added WIN32 types
All of the Windows types, e.g., DWORD, HANDLE, INT, etc., given here were added
to the set of predefined types.
Fixed retypedef
Fixed a crash caused by a case like:
typedef int I
typedef I J
typedef I J |
6.10 13 Apr 2020 17:09:12 |
ler |
devel/cdecl: update to 6.10
Added __auto_type
Added GNU C's __auto_type.
Fixed long long C version
The long long type was incorrectly allowed in C89; it wasn't added until C99.
Added pthread.h, threads.h, and C++ thread types
The types pthread_t, pthread_barrier_t, pthread_barrierattr_t, pthread_cond_t,
pthread_condattr_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
pthread_rwlock_t, pthread_rwlockattr_t, and pthread_spinlock_t from <pthread.h>
(POSIX); the types thrd_t, cnd_t, mtx_t, once_flag, thrd_start_t, tss_dtor_t,
and tss_t from <thread.h> (C11); and std::thread (C++11) and std::jthread
(C++20) from <thread> to the set of predefined types. |
6.9 27 Feb 2020 23:08:43 |
ler |
devel/cdecl: upgrade to 6.9.
Cast accepts as and to
The cast command now accepts as and to in addition to into.
Autocomplete of explain-by-default
Autocomplete was missing explain-by-default; fixed. |
6.8.1 21 Jan 2020 21:39:30 |
ler |
devel/cdecl: update to 6.8.1.
- Reset lexer start-state
In 6.8, start states were added to the lexer. Resetting the lexer now includes
also resetting the start state. |
6.8 13 Jan 2020 17:04:20 |
ler |
devel/cdecl: upgrade to 6.8.
Added set lang=lang
Since the set explicit-int option was added (an option that takes a value), a
set lang=lang option was added. |
6.7 07 Jan 2020 15:40:45 |
ler |
devel/cdecl: update to 6.7.
Explicit int in English
Previously when explaining integer declarations, int was implicit:
cdecl> explain unsigned x
declare x as unsigned
Now int is explicit:
cdecl> explain unsigned x
declare x as unsigned int
Added explicit-int option
Both a command-line --explicit-int/-I and explicit-int set option have been
added that set which integer types have int explicitly included in declarations. |
6.6.2 12 Dec 2019 15:57:06 |
ler |
devel/cdecl: update to 6.6.2.
Added atomic_char8_t
Added atomic_char8_t typedef for C++20.
Fixed flex & bison dependency
Now insists on flex & bison only when lexer.c & parser.c don't exist (i.e., when
building from a git clone that doesn't include those files rather than an
official release that does).
Explicit structure definition error
Structure declarations (that were never supported) now produce a specific error
message:
cdecl> explain struct S { int x; };
^
18: error: structure definitions are not supported
Fixed libreadline & libcurses dependency
Moved check for libcurses before libreadline since some implementations of the
latter depend on the former (e.g., Solaris 11).
More gcc warnings
Enabled more gcc warnings and fixed them.
thread-local
Added this (with a -) as an English synonym for thread_local (with an _). |
6.6.1 31 Oct 2019 17:17:54 |
ler |
devel/cdecl: update to 6.6.1.
Fixed upgrade install
When installing an upgrade, no longer fails when a c++decl symbolic link already
exists. |
6.6 23 Oct 2019 20:38:43 |
ler |
devel/cdecl: upgrade to 6.6.
Release Notes:
Defaulted & deleted support
Defaulted & deleted special member functions are now supported.
Explain-by-default option
Both a command-line --explain/-e and explain-by-default set option have been
added that assume a command that doesn't start with any command means explain.
Set option abbreviations
Unambiguous set option name abbreviations may now be used.
Virtual constexpr
Virtual constexpr declarations are now only correctly allowed in C++20. |
6.5.1 24 Jul 2019 17:43:40 |
ler |
devel/cdecl: update to 6.5.1.
Complete storage-class-like constructors
Previously, only explicit was supported for constructors. Now all of constexpr,
explicit, friend, inline, and
noexcept (or throw()) are supported. |
6.5 15 Jul 2019 20:34:42 |
ler |
devel/cdecl: update to 6.5.
Much better alternative tokens support
Alternative tokens (and, and_eq, etc.) are now parsed correctly in all cases.
Additionally, alternative tokens can be emitted via the new set alt-tokens
option.
Changed -q to -p
The --quiet and -q options (that were in the original cdecl) were changed to
--no-prompt and -p so they're more explicit about what they do.
Trigraphs warning
If the trigraphs option is set and the language is C++17 or later, a warning
will be printed (since trigraphs were removed from C++17).
Set command output changed
The set command now only prints the current options. Its help has beed added to
the help command.
Better K&R C prototypes error
The error message given when attempting to use function prototypes in K&R C has
been improved.
-- |
6.4.2 26 Jun 2019 04:00:10 |
ler |
devel/cdecl: upgrade to 6.4.2.
Fixed 32-bit CPU support
Now (again) supports running on 32-bit platforms.
More help
The --help option now prints long options and project URLs. |
6.4.1 21 Jun 2019 02:15:00 |
ler |
devel/cdecl: update to 6.4.1.
Fixed use of GNU Readline
Several things relating to the use of GNU Readline were fixed.
(I (ler) reported the warnings, and bison warnings that were
also fixed). |
6.4_1 19 Jun 2019 15:23:44 |
ler |
devel/cdecl: shut up warnings about POSIX Yacc. |
6.4 19 Jun 2019 13:22:03 |
ler |
devel/cdecl: update to 6.4.
Added support for user-defined conversion operators
Now supports C++ user-defined conversion operators.
cdecl> explain operator int const*() const
declare constant user-defined conversion operator returning pointer to constant
int
Added support for alignment specifiers
Now supports C11 _Alignas and C++11 alignas specifiers.
cdecl> explain _Alignas(64) int x
declare x as int aligned as 16 bytes
Added more predefined typedefs
More predefined typedefs were added: fd_set, nfds_t, and sigset_t.
Reported by: portscout |
6.3.2 23 May 2019 17:34:53 |
ler |
devel/cdecl: Upgrade to 6.3.2.
Added missing virtual for destructor
Added virtual that was missing from the help and man page for destructor. |
6.3.1 23 May 2019 05:15:41 |
ler |
devel/cdecl: upgrade to 6.3.1.
Added support for noexcept constructors
Constructors can now be noexcept.
Added support for noexcept and virtual destructors
Destructors can now be noexcept and/or virtual. |
6.3 22 May 2019 13:49:42 |
ler |
devel/cdecl: upgrade to 6.3.
Added support for constructors & destructors
Now supports C++ constructors & destructors.
Split up help command output
The output of the "help" command has been split into "command" and "english"
because the output has gotten too big for an 80x24 screen. |
6.2 11 May 2019 22:37:01 |
ler |
devel/cdecl: upgrade to 6.2.
Added C++11 user-defined literal support
Added support for user-defined literals. For example:
cdecl> explain int operator"" _a(unsigned long long x)
declare _a as user-defined literal (x as unsigned long long) returning int
More commands as first argument
More commands (define, namespace, set, static, typedef, and using) are now
recognized as such when they are the first argument.
Added support for char8_t
Now supports C++20's char8_t.
Added support for more standard types
Added typedef declarations for div_t, imaxdiv_t, ldiv_t, lldiv_t, sig_atomic_t,
streambuf, streamoff, streamsize, and wstreambuf. |
6.1 17 Apr 2019 09:55:32 |
ler |
devel/cdecl: update to 6.1.
Final or override now implies virtual
Either final or override in a function's signature now implies it's virtual:
cdecl> explain void f() override
declare f as overridden virtual member function returning void
Reported by: portscout |
6.0.2_1 09 Apr 2019 14:04:50 |
sunpoet |
Update devel/readline to 8.0
- Bump PORTREVISION of dependent ports for shlib change
Changes: https://tiswww.case.edu/php/chet/readline/CHANGES
PR: 236156
Exp-run by: antoine |
6.0.2 31 Mar 2019 02:58:45 |
ler |
devel/cdecl: update to 6.0.2
Added strndup()
Added Gnulib's strndup() for systems that don't have it.
Fixed cast warning
Fixed "cast to pointer from integer of different size" on some compilers. |
6.0.1 26 Mar 2019 17:37:58 |
ler |
devel/cdecl: update to 6.0.1.
6.0 release notes:
Added C++ scoped name support
Added support for scoped names in C++. For example:
cdecl> explain int S::x
declare x of scope S as int
cdecl> define S::T as struct T; explain S::T x
declare x as T of scope S
Added partial namespace support
Specifically, you can now perform typedef and using declarations within
namespaces or inline namespaces:
c++decl> namespace S { inline namespace T { typedef int Int; } }
c++decl> show user typedef
namespace S::T { typedef int Int; }
6.0.1 release note:
Fixed undefined uint64_t
Fixed a compile-time error on some platforms.
Reported by: portscout |
5.2 13 Dec 2018 19:50:31 |
ler |
devel/cdecl: Update to 5.2.
Added digraph and trigraph support
Added support for digraphs and trigraphs. |
5.1 08 Dec 2018 19:51:14 |
ler |
devel/cdecl: Update to 5.1
Added C++20 support
Specifically, consteval functions, operator<=>(), and predefined typedefs were
added: partial_ordering, strong_equality, strong_ordering, weak_equality, and
weak_ordering.
Added C18 support
Since C18 is only a bugfix version, "C18" is merely recognized as a valid
version of C. |
5.0 01 Dec 2018 15:30:16 |
ler |
devel/cdecl: update to 5.0.
pet portlint.
Added all C/C++ keywords
All C/C++ keywords have been added to the lexer/parser to prevent declaring
variables or functions having names that are keywords. For example:
declare break as int
is now correctly reported as an error.
Additionally, names that are keywords is later versions of C/C++, while legal,
now issue warnings, e.g.:
cdecl> declare class as int
^
18: warning: "class" is a keyword in C++98 (Only the first 15 lines of the commit message are shown above ) |
4.8 08 Oct 2018 16:45:44 |
ler |
devel/cdecl: update to 4.8.
Show command improvement
The show command can now show the definition of a type in English
(same as before, but now the default) or in gibberish as a typedef
(new, optional).
Note also that the trailing types keyword has been removed from
the command: it wasn't needed. |
4.7 11 Sep 2018 16:41:02 |
ler |
devel/cdecl: update to 4.7.
Added more predefined typedefs
More predefined typedefs were added: blkcnt_t, blksize_t, clockid_t, clock_t,
dev_t, errno_t, FILE, fpos_t, gid_t, in_addr_t, ino_t, in_port_t, mbstate_t,
mode_t, nlink_t, off_t, pid_t, rlim_t, rsize_t, sa_family_t, socklen_t,
suseconds_t, time_t, uid_t, useconds_t, and wint_t. |
4.6.1 01 Jul 2018 21:22:36 |
ler |
devel/cdecl: update to 4.6.1:
Fixed explaining of unnamed array function arguments
Explaining unnamed array function arguments like:
void f(char[])
now works. |
4.6 01 Jul 2018 19:50:59 |
ler |
devel/cdecl: update from 4.4.3 to 4.6
4.5 Release Notes:
Using declarations
Added support for C++11's using declarations as a synonym for typedef.
4.6 Release Notes:
Explain using declarations
Added support for explaining C++11's using declarations.
Notified by: portscout |
4.4.3 19 Mar 2018 01:08:32 |
ler |
devel/cdecl: update to 4.4.3.
Minor fix to red-black tree code.
Now initializing node->parent to NIL. |
4.4.2 05 Nov 2017 19:50:47 |
ler |
devel/cdecl: upgrade to 4.4.2.
Fixed declare of function with an invalid argument
A declaration like:
declare f as function (x as unknown_type)
now correctly reports the unknown type. |
4.4.1 29 Oct 2017 19:56:08 |
ler |
devel/cdecl: update to 4.4.1
Fixed typedef of pointer-to-function
A typedef like:
typedef void (*f)(int)
now works correctly.
Added CONFIGURATION FILE section
The cdecl(1) man page now contains a CONFIGURATION FILE section. |
4.4 26 Oct 2017 19:53:12 |
ler |
devel/cdecl: upgrade to 4.4.
Added C++ attribute specifier support
The C++ attrribute specifiers carries_dependency, deprecated, noreturn,
maybe_unused, and nodiscard are now supported. |
4.3 14 Oct 2017 23:50:17 |
ler |
devel/cdecl: update to 4.3:
Added C99 _Imaginary number support
C99 _Imaginary number declarations are now supported.
External
The keyword external is now a synonym for extern.
More English for explain
More English synonyms are used in explanations, e.g.:
declare x as automatic
declare x as constant int
declare x as enumeration E
declare x as structure S |
4.2 14 Oct 2017 09:11:14 |
ler |
devel/cdecl: update to 4.2.
Added noexcept and throw() support
Function declarations may now include exception specifications.
Fixed handling of leading whitespace in command-line argument
The unusual case of:
cdecl ' declare x as int'
i.e., a quoted argument having leading whitespace, is now handled correctly. |
4.1 09 Oct 2017 19:53:57 |
ler |
devel/cdecl: upgrade to 4.1.
New C11 standard atomic types
The following C11 atomic types are now supported via the new typedef command:
atomic_bool, atomic_char, atomic_schar, atomic_char16_t, atomic_char32_t,
atomic_wchar_t, atomic_short, atomic_int, atomic_long, atomic_llong,
atomic_uchar, atomic_ushort, atomic_uint, atomic_ulong, atomic_ullong,
atomic_ptrdiff_t, atomic_size_t, atomic_intmax_t, atomic_intptr_t,
atomic_uintptr_t, atomic_uintmax_t, atomic_int_fast8_t, atomic_int_fast16_t,
atomic_int_fast32_t, atomic_int_fast64_t, atomic_uint_fast8_t,
atomic_uint_fast16_t, atomic_uint_fast32_t, atomic_uint_fast64_t,
atomic_int_least8_t, atomic_int_least16_t, atomic_int_least32_t,
atomic_int_least64_t, atomic_uint_least8_t, atomic_uint_least16_t,
atomic_uint_least32_t, and atomic_uint_least64_t.
Fixed typedef and define commands with storage classes
Typedef and define now prohibit storage classes, e.g.:
typedef static int sint;
is now correctly reported as an error. |
4.0 22 Sep 2017 13:19:43 |
ler |
devel/cdecl: upgrade to 4.0.
Added C++17 support
Specifically, inline variable declarations are now supported.
New typedef and define commands
New typedef gibberish and define english commands have been added to allow new
types to be defined that can then be used in subsequent declarations and
explanations.
New C99 standard types
The following C99 types are now supported via the new typedef command:
int8_t, int16_t, int32_t, int64_t, int_fast8_t, int_fast16_t, int_fast32_t,
int_fast64_t, int_least16_t, int_least32_t, int_least64_t, int_least8_t,
intmax_t, intptr_t, ptrdiff_t, uint8_t, uint16_t, uint32_t, uint64_t,
uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uint_least8_t,
uint_least16_t, uint_least32_t, uint_least64_t, uintmax_t, and uintptr_t.
New --no-typedefs/-t command-line options
Either of these options suppresses the definition of the standard C99 types.
Reads configuration file (Only the first 15 lines of the commit message are shown above ) |
3.6 30 Aug 2017 18:06:15 |
ler |
devel/cdecl: upgrade to 3.6.
First word of first argument
The first word of the first non-option command-line argument is now also checked
to see
if it's a command thus allowing fully quoted strings:
$ cdecl 'explain int *const p' |
3.5 27 Aug 2017 03:26:48 |
ler |
devel/cdecl: upgrade to 3.5
Added ssize_t
Similar to size_t, support for ssize_t has been added. |
3.4.1 17 Jul 2017 17:45:19 |
ler |
devel/cdecl: update to 3.4.1
Fixed new-style casts C++ version
New-style casts are now permitted as far back as C++98. |
3.4 14 Jul 2017 17:52:22 |
ler |
devel/cdecl: update to 3.4.
Static & type-qualified arrays
Added support for C99 static and type-qualified array function arguments, e.g.:
void f( int a[static const 10] );
Variable length arrays
Added support for C99 variable length array function arguments, e.g.:
void f( int a[*] );
void g( int a[const *] );
Help command-line argument
Now prints the help message and exits if the first command-line argument is
"help".
Fixed reference to array
The generated gibberish for "reference to array" has been fixed. |
3.3_1 27 Jun 2017 13:46:53 |
sunpoet |
Update devel/readline to 7.0 patch 3
- Bump PORTREVISION for shlib change
Changes: https://cnswww.cns.cwru.edu/php/chet/readline/CHANGES
https://lists.gnu.org/archive/html/bug-bash/2016-09/msg00107.html
https://lists.gnu.org/archive/html/bug-readline/2017-01/msg00002.html
Differential Revision: https://reviews.freebsd.org/D11172
PR: 219947
Exp-run by: antoine |
3.3 07 Jun 2017 17:22:59 |
ler |
Update devel/cdecl to 3.3.
Help command-line option
Added the command-line options of -h or --help that prints the usage message.
Fixed const pointers to members
Explaining const/volatile pointers to members now works. |
3.2 30 May 2017 01:48:00 |
ler |
devel/cdecl: upgrade to 3.1
**C++ new-style casts**
Added support for C++ new-style casts.
**Language-sensitive autocompletion**
Autocompletion is now language-sensitive in that it will not offer completions
that are not valid in the current language.
**Context-sensitive autocompletion**
Autocompletion is now slightly more context-sensitive in that it will offer only
command keywords for the first word in the input.
**Fixed command-line error printing**
Command-line input is now printed when there's an error. |
3.1.5 29 May 2017 11:58:36 |
ler |
Update devel/cdecl to 3.1.5
**Fixed color prompt caret position**
The position of the caret in error messages when using color prompts has been
fixed. |
3.1.4 24 May 2017 19:51:16 |
ler |
devel/cdecl upgrade to 3.1.4:
Fixed cv-qualifier in help
The <cv-qualifier> in the help text was missing . |
3.1.3 06 May 2017 15:32:34 |
ler |
devel/cdecl: upgrade to 3.1.3
Fixed synonyms in explain
Explanations no longer wrongly allow English synonyms.
Approved by: adamw (mentor, implicit) |
3.1.2 05 May 2017 23:17:52 |
ler |
devel/cdecl: upgrade to 3.1.2
Fixed declarations with storage-class
Declarations like:
declare x as static pointer to function returning int
declare x as type pointer to function returning int
are fixed.
Approved by: adamw (mentor, implicit) |
3.1.1 03 May 2017 12:16:49 |
mat |
Simplify USE_GITHUB usage.
Sponsored by: Absolight |
3.1.1 01 May 2017 01:54:13 |
ler |
devel/cdecl: upgrade to 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.
Approved by: adamw (mentor, implicit) |
3.1 01 May 2017 00:39:19 |
ler |
devel/cdecl: upgrade to new major version 3.1
This version fixes virtually all the deficiencies in earlier versions as well
as adds many new features, most notably:
Using GNU Autotools for building.
Command-line long-options.
Distinguishes among K&R C, C89, C95, C99, C11, C++98, C++03, C++11, and C++14.
Support for C11 and C++11 types bool, char16_t, char32_t, complex, restrict,
size_t, thread_local, and wchar_t.
Support for inline function declarations.
Support for typedef declarations.
Support for variadic function arguments.
Support for C++11 constexpr, enum class, mutable, rvalue references, and the
function trailing return-type syntax.
Support for const, final, friend, override, volatile, virtual, pure virtual, and
ref-qualified C++ member function declarations.
Better warning and error messages complete with location information and color.
Take Maintainer'ship.
Submitted by: paul@lucasmail.org
Approved by: adamw (mentor, implicit) |
2.5_1 07 Aug 2016 17:21:26 |
marino |
devel/cdecl: document ncurses, fix for DragonFly
While here, incorporate getline fix into the regenerated patches. |
2.5 20 Jul 2016 15:33:20 |
mat |
Cleanup $() variables in ports Makefiles.
Mostly replace with ${}, but sometime, replace with $$() because it is
what was intended in the first place. (I think.)
Sponsored by: Absolight |
2.5 13 May 2016 18:51:43 |
bapt |
Prevent collision with getline(3) |
2.5 25 Dec 2015 14:42:15 |
amdmi3 |
- Switch to options helpers |