freebsd-ports/devel/cdecl
Larry Rosenman b18acf6f2c 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:

Added types _Accum and _Fract (and accum and fract).
Added modifier _Sat (and sat and saturated).
Added the typedefs int_hk_t, int_hr_t, int_k_t, int_lk_t, int_lr_t, int_r_t, uint_uhk_t, uint_uhr_t, uint_uk_t, uint_ulk_t, uint_ulr_t, and uint_your_t.
Since the Embedded C standard is based on C99, support for Embedded C is available only when the language is set to C99.

Forbidding attribute syntax
The [[xxx]] attribute syntax is now forbidden until either C2X or C++11.

class, struct, & union optional ;
Semicolons are now optional after class, struct, or union declarations.

class, struct, & union define themselves
Before now:

class C { typedef int Int; }
would define only C::Int as a type. Now, the enclosing class, struct, or union is also defined as a type. Hence, the above is now equivalent to:

define C as class C
define C::Int as int
This also means that either:

class C { }
class C
is eqivalent to:

define C as class C
class, struct, & union commands
class, struct, and union are now commands (just like namespace).

Per-scope types; fixed English scope name order
Each scope of a scoped name (sname) now has its own type. Additionally, the English printed order is now (correctly) inner-to-outermost. For example:

c++decl> namespace N { class C { typedef int I; }; }
c++decl> explain N::C::I x
declare x as I of class C of namespace N
Floating-point extensions for C types
Added types _Decimal32_t, _Decimal64_t, _Decimal64x, _Decimal128x, _Float32, _Float32x, _Float64, _Float128, _Float128x, femode_t, and long_double_t.

Aligned to
Now allowing to in addition to as for ... aligned [as|to] ....

show as
Now allowing an optional as in show ... [as] typedef.

asm
Added the asm keyword to prevent declarations from using it.
2020-07-30 20:18:43 +00:00
..
distinfo devel/cdecl: update to 8.0. 2020-07-30 20:18:43 +00:00
Makefile devel/cdecl: update to 8.0. 2020-07-30 20:18:43 +00:00
pkg-descr