dmd/compiler/test/runnable/link20802.sh
Tim Schendekehl 6a2fe78ba4
Fix Bugzilla 20802 - Link failure with writefln (#16200)
The issue is caused by compiling druntime/phobos and the application
with different flags. The template instance for __switch_errorT is not
included in the build of druntime/phobos, because they are compiled
with -release. DMD will also not include it in an application compiled
without -release, because it assumes, that it is already in druntime.
See comment https://issues.dlang.org/show_bug.cgi?id=20802#c3 by Spoov.

The template instance for __switch_errorT is now always instantiated in
druntime, so it is part of the ABI of druntime.
2024-02-19 06:35:00 +08:00

14 lines
365 B
Bash
Executable file

#!/usr/bin/env bash
dir=${RESULTS_DIR}${SEP}runnable
libname=${OUTPUT_BASE}${LIBEXT}
exename=${OUTPUT_BASE}${EXE}
$DMD -m${MODEL} -I${EXTRA_FILES} -lib -release -of${libname} ${EXTRA_FILES}${SEP}link20802b.d
$DMD -m${MODEL} -I${EXTRA_FILES} -of${exename} ${EXTRA_FILES}${SEP}link20802a.d ${libname}
${exename}
rm_retry ${OUTPUT_BASE}{${LIBEXT},${EXE},${OBJ}}