mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-13 15:01:21 +08:00
Disable gdc execution tests without libphobos
gcc/testsuite: * lib/target-supports.exp (check_compile): Handle D. (check_effective_target_d_runtime): New proc. * lib/gdc-dg.exp (gdc-dg-test): Demote link and run tests to compile unless d_runtime. * gdc.dg/runnable.d: Skip unless d_runtime. * gdc.dg/lto/lto.exp: Require d_runtime to run tests. gcc: * doc/sourcebuild.texi (Effective-Target Keywords, Environment attributes): Document d_runtime. From-SVN: r266438
This commit is contained in:
parent
12422bc85c
commit
6d9434e595
gcc
@ -1,3 +1,8 @@
|
||||
2018-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* doc/sourcebuild.texi (Effective-Target Keywords, Environment
|
||||
attributes): Document d_runtime.
|
||||
|
||||
2018-11-25 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
PR bootstrap/88157
|
||||
|
@ -2106,6 +2106,9 @@ Target provides a full C99 runtime.
|
||||
Target @code{string.h} and @code{wchar.h} headers provide C++ required
|
||||
overloads for @code{strchr} etc. functions.
|
||||
|
||||
@item d_runtime
|
||||
Target provides the D runtime.
|
||||
|
||||
@item dummy_wcsftime
|
||||
Target uses a dummy @code{wcsftime} function that always returns zero.
|
||||
|
||||
|
@ -1,3 +1,12 @@
|
||||
2018-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* lib/target-supports.exp (check_compile): Handle D.
|
||||
(check_effective_target_d_runtime): New proc.
|
||||
* lib/gdc-dg.exp (gdc-dg-test): Demote link and run tests to
|
||||
compile unless d_runtime.
|
||||
* gdc.dg/runnable.d: Skip unless d_runtime.
|
||||
* gdc.dg/lto/lto.exp: Require d_runtime to run tests.
|
||||
|
||||
2018-11-24 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/88143
|
||||
|
@ -36,6 +36,11 @@ if { ![check_effective_target_lto] } {
|
||||
return
|
||||
}
|
||||
|
||||
# Likewise if the D runtime library is missing.
|
||||
if { ![check_effective_target_d_runtime] } {
|
||||
return
|
||||
}
|
||||
|
||||
lto_init no-mathlib
|
||||
|
||||
# Define an identifier for use with this suite to avoid name conflicts
|
||||
|
@ -1,5 +1,6 @@
|
||||
// { dg-additional-sources "imports/runnable.d" }
|
||||
// { dg-do run { target hw } }
|
||||
// { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
|
||||
|
||||
module runnable;
|
||||
|
||||
|
@ -19,6 +19,19 @@ load_lib gcc-dg.exp
|
||||
# Define gdc callbacks for dg.exp.
|
||||
|
||||
proc gdc-dg-test { prog do_what extra_tool_flags } {
|
||||
upvar dg-do-what dg-do-what
|
||||
|
||||
# Demote link and run tests to compile-only if D runtime is missing.
|
||||
if ![check_effective_target_d_runtime] {
|
||||
switch $do_what {
|
||||
link -
|
||||
run {
|
||||
set do_what compile
|
||||
set dg-do-what compile
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set result \
|
||||
[gcc-dg-test-1 gdc_target_compile $prog $do_what $extra_tool_flags]
|
||||
|
||||
|
@ -31,6 +31,7 @@
|
||||
# Assume by default that CONTENTS is C code.
|
||||
# Otherwise, code should contain:
|
||||
# "// C++" for c++,
|
||||
# "// D" for D,
|
||||
# "! Fortran" for Fortran code,
|
||||
# "/* ObjC", for ObjC
|
||||
# "// ObjC++" for ObjC++
|
||||
@ -58,6 +59,7 @@ proc check_compile {basename type contents args} {
|
||||
switch -glob -- $contents {
|
||||
"*! Fortran*" { set src ${basename}[pid].f90 }
|
||||
"*// C++*" { set src ${basename}[pid].cc }
|
||||
"*// D*" { set src ${basename}[pid].d }
|
||||
"*// ObjC++*" { set src ${basename}[pid].mm }
|
||||
"*/* ObjC*" { set src ${basename}[pid].m }
|
||||
"*// Go*" { set src ${basename}[pid].go }
|
||||
@ -7154,6 +7156,19 @@ proc check_effective_target_c99_runtime { } {
|
||||
}]
|
||||
}
|
||||
|
||||
# Return 1 if the target provides the D runtime.
|
||||
|
||||
proc check_effective_target_d_runtime { } {
|
||||
return [check_no_compiler_messages d_runtime executable {
|
||||
// D
|
||||
module mod;
|
||||
|
||||
extern(C) int main() {
|
||||
return 0;
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
# Return 1 if target wchar_t is at least 4 bytes.
|
||||
|
||||
proc check_effective_target_4byte_wchar_t { } {
|
||||
|
Loading…
x
Reference in New Issue
Block a user