mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 12:00:11 -05:00
As GDCFLAGS is overriden by the top-level make file with '-O2 -g', libphobos ends up always being built with all contracts, invariants, and asserts compiled in. This adds a new configurable that defaults to omit compiling any run-time checks into the library using '-frelease'. Other choices either set the flags '-fno-release', enabling all run-time checks, or '-fassert', which only compiles in asserts. The omission of compiling in contracts results in a smaller library size, with faster build times. libphobos/ChangeLog: PR d/94305 * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Add --enable-libphobos-checking and substitute CHECKING_DFLAGS. Remove -frelease from GDCFLAGS. * libdruntime/Makefile.am: Add CHECKING_DFLAGS to AM_DFLAGS. * libdruntime/Makefile.in: Regenerate. * src/Makefile.am: Add CHECKING_DFLAGS to AM_DFLAGS. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * testsuite/testsuite_flags.in: Add -fno-release -funittest to --gdcflags.
The files in this directory where noted are part of the DRuntime and Phobos library. DRuntime is the low-level runtime library backing the D programming language, hosted at https://github.com/dlang/druntime/. Phobos is the standard library for the D Programming Language, hosted at https://github.com/dlang/phobos/. The following sources and directories are part of DRuntime: libdruntime/core/ libdruntime/gc/ libdruntime/gcstub/ libdruntime/object.d libdruntime/rt/ The following sources and directories are part of Phobos: src/etc/ src/index.d src/std/ To report a bug or look up known issues with the runtime or standard library please visit the issue tracker at https://issues.dlang.org/. All changes to either of these libraries should go through the upstream repository first, then merged back to GCC.