1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00
freebsd-ports/devel/cdecl/Makefile
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

28 lines
520 B
Makefile

# Created by: David O'Brien (obrien@NUXI.com)
# $FreeBSD$
PORTNAME= cdecl
PORTVERSION= 8.0
DISTVERSIONPREFIX= ${PORTNAME}-
CATEGORIES= devel
MAINTAINER= ler@FreeBSD.org
COMMENT= Explains complicated C/C++ declarations in plain English
LICENSE= GPLv3
BUILD_DEPENDS= flex:textproc/flex
USES= autoreconf bison ncurses readline
CONFLICTS= cutils-[0-9]*
USE_GITHUB= yes
GH_ACCOUNT= paul-j-lucas
GNU_CONFIGURE= yes
PLIST_FILES= bin/cdecl bin/c++decl man/man1/cdecl.1.gz man/man1/c++decl.1.gz
.include <bsd.port.mk>