
D front-end changes: - Parsing and compiling C code is now possible using `import'. - `throw' statements can now be used as an expression. - Improvements to the D template emission strategy when compiling with `-funittest'. D Runtime changes: - New core.int128 module for implementing intrinsics to support 128-bit integer types. - C bindings for the kernel and C runtime have been better separated to allow compiling for hybrid targets, such as kFreeBSD. Phobos changes: - The std.experimental.checkedint module has been renamed to std.checkedint. gcc/d/ChangeLog: * d-builtins.cc (d_build_builtins_module): Set purity of DECL_PURE_P functions to PURE::const_. * d-gimplify.cc (bit_field_ref): New function. (d_gimplify_modify_expr): Handle implicit casting for assignments to bit-fields. (d_gimplify_unary_expr): New function. (d_gimplify_binary_expr): New function. (d_gimplify_expr): Handle UNARY_CLASS_P and BINARY_CLASS_P. * d-target.cc (Target::_init): Initialize bitFieldStyle. (TargetCPP::parameterType): Update signature. (Target::supportsLinkerDirective): New function. * dmd/MERGE: Merge upstream dmd 52844d4b1. * expr.cc (ExprVisitor::visit (ThrowExp *)): New function. * types.cc (d_build_bitfield_integer_type): New function. (insert_aggregate_bitfield): New function. (layout_aggregate_members): Handle inserting bit-fields into an aggregate type. libphobos/ChangeLog: * Makefile.in: Regenerate. * libdruntime/MERGE: Merge upstream druntime dbd0c874. * libdruntime/Makefile.am (DRUNTIME_CSOURCES): Add core/int128.d. (DRUNTIME_DISOURCES): Add __builtins.di. * libdruntime/Makefile.in: Regenerate. * src/MERGE: Merge upstream phobos 896b1d0e1. * src/Makefile.am (PHOBOS_DSOURCES): Add std/checkedint.d. * src/Makefile.in: Regenerate. * testsuite/testsuite_flags.in: Add -fall-instantiations to --gdcflags.
60 lines
1.5 KiB
Bash
Executable file
60 lines
1.5 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
#
|
|
# This script computes the various flags needed to run D Phobos unittests.
|
|
#
|
|
|
|
# Print a message saying how this script is intended to be invoked
|
|
print_usage() {
|
|
cat <<EOF
|
|
Usage:
|
|
testsuite_flags --gdc
|
|
--gdcflags
|
|
--gdcpaths
|
|
--gdcldflags
|
|
|
|
EOF
|
|
}
|
|
|
|
# Establish configure-generated directory structure.
|
|
BUILD_DIR=@libphobos_builddir@
|
|
SRC_DIR=@libphobos_srcdir@
|
|
query=$1
|
|
|
|
case ${query} in
|
|
--gdc)
|
|
GDC="@GDC@"
|
|
echo ${GDC}
|
|
;;
|
|
--gdcflags)
|
|
GDCFLAGS_default="-fmessage-length=0 -fno-show-column"
|
|
GDCFLAGS_config="@WARN_DFLAGS@ @GDCFLAGS@ @CET_DFLAGS@
|
|
@phobos_compiler_shared_flag@
|
|
-fall-instantiations -fpreview=dip1000
|
|
-fno-release -funittest"
|
|
echo ${GDCFLAGS_default} ${GDCFLAGS_config}
|
|
;;
|
|
--gdcpaths)
|
|
GDCPATHS_default="-nostdinc"
|
|
GDCPATHS_config="-B${BUILD_DIR}/src
|
|
-I${BUILD_DIR}/libdruntime
|
|
-I${SRC_DIR}/libdruntime"
|
|
# Include phobos in search path if compiling in library.
|
|
if [ "x@ENABLE_LIBDRUNTIME_ONLY_FALSE@" = "x" ]; then
|
|
GDCPATHS_config="${GDCPATHS_config} -I${SRC_DIR}/src"
|
|
fi
|
|
echo ${GDCPATHS_default} ${GDCPATHS_config}
|
|
;;
|
|
--gdcldflags)
|
|
GDCLDFLAGS="-B${BUILD_DIR}/src
|
|
-B${BUILD_DIR}/libdruntime/gcc
|
|
-B${BUILD_DIR}/src/.libs
|
|
-L${BUILD_DIR}/src/.libs"
|
|
echo ${GDCLDFLAGS}
|
|
;;
|
|
*)
|
|
print_usage
|
|
;;
|
|
esac
|
|
|
|
exit 0
|