libphobos: Fix FAIL phobos.exp/core.time on CentOS 5.11, Linux 2.6.18
Merges upstream druntime e03164b5. Reviewed-on: https://github.com/dlang/druntime/pull/2581 libphobos/ChangeLog: 2019-04-24 Iain Buclaw <ibuclaw@gdcproject.org> PR d/89432 * testsuite/lib/libphobos.exp (check_effective_target_linux_pre_2639): New proc. * testsuite/libphobos.druntime/druntime.exp: Add compiler flag -fversion=Linux_Pre_2639 if target is linux_pre_2639. * testsuite/libphobos.druntime_shared/druntime_shared.exp: Likewise. From-SVN: r270554
This commit is contained in:
parent
265e6a0ae0
commit
58990c4d3a
@ -1,3 +1,12 @@
|
||||
2019-04-24 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||
|
||||
PR d/89432
|
||||
* testsuite/lib/libphobos.exp (check_effective_target_linux_pre_2639):
|
||||
New proc.
|
||||
* testsuite/libphobos.druntime/druntime.exp: Add compiler flag
|
||||
-fversion=Linux_Pre_2639 if target is linux_pre_2639.
|
||||
* testsuite/libphobos.druntime_shared/druntime_shared.exp: Likewise.
|
||||
|
||||
2019-04-24 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||
|
||||
PR d/88654
|
||||
|
@ -1,4 +1,4 @@
|
||||
513652173d6f02206be3ddaa2b6ed0b191ea4e3d
|
||||
e03164b5259a9f116eb91dfa5a18c192fa72e575
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the dlang/druntime repository.
|
||||
|
@ -2539,8 +2539,11 @@ unittest
|
||||
|
||||
static bool clockSupported(ClockType c)
|
||||
{
|
||||
version (Linux_Pre_2639) // skip CLOCK_BOOTTIME on older linux kernels
|
||||
return c != ClockType.second && c != ClockType.bootTime;
|
||||
// Skip unsupported clocks on older linux kernels, assume that only
|
||||
// CLOCK_MONOTONIC and CLOCK_REALTIME exist, as that is the lowest
|
||||
// common denominator supported by all versions of Linux pre-2.6.12.
|
||||
version (Linux_Pre_2639)
|
||||
return c == ClockType.normal || c == ClockType.precise;
|
||||
else
|
||||
return c != ClockType.second; // second doesn't work with MonoTimeImpl
|
||||
|
||||
|
@ -261,3 +261,20 @@ proc check_effective_target_libcurl_available { } {
|
||||
int main (void) { return 0; }
|
||||
} "-lcurl"]
|
||||
}
|
||||
|
||||
# Return true if the target is linux version < 2.6.39
|
||||
proc check_effective_target_linux_pre_2639 { } {
|
||||
if { ![istarget *-*-linux*] } {
|
||||
return 0
|
||||
}
|
||||
|
||||
if { [check_no_compiler_messages linux_pre_2639 assembly {
|
||||
#include <linux/version.h>
|
||||
#if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE < KERNEL_VERSION(2.6.39)
|
||||
#error Yes, it is.
|
||||
#endif
|
||||
}] } {
|
||||
return 0
|
||||
}
|
||||
return 1
|
||||
}
|
||||
|
@ -22,13 +22,19 @@ if { ![isnative] || ![is-effective-target static] } {
|
||||
# Gather a list of all tests.
|
||||
set tests [lsort [filter_libphobos_unittests [find $srcdir/../libdruntime "*.d"]]]
|
||||
|
||||
set version_flags ""
|
||||
|
||||
if { [is-effective-target linux_pre_2639] } {
|
||||
lappend version_flags "-fversion=Linux_Pre_2639"
|
||||
}
|
||||
|
||||
# Initialize dg.
|
||||
dg-init
|
||||
|
||||
# Main loop.
|
||||
foreach test $tests {
|
||||
set libphobos_test_name "$subdir/[dg-trim-dirname $srcdir/../libdruntime $test]"
|
||||
dg-runtest $test "" "-fmain -fbuilding-libphobos-tests"
|
||||
dg-runtest $test "" "-fmain -fbuilding-libphobos-tests $version_flags"
|
||||
set libphobos_test_name ""
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,12 @@ if { ![isnative] || ![is-effective-target shared] } {
|
||||
# Gather a list of all tests.
|
||||
set tests [lsort [filter_libphobos_unittests [find $srcdir/../libdruntime "*.d"]]]
|
||||
|
||||
set version_flags ""
|
||||
|
||||
if { [is-effective-target linux_pre_2639] } {
|
||||
lappend version_flags "-fversion=Linux_Pre_2639"
|
||||
}
|
||||
|
||||
# Initialize dg.
|
||||
dg-init
|
||||
|
||||
@ -29,7 +35,7 @@ dg-init
|
||||
foreach test $tests {
|
||||
set libphobos_test_name "$subdir/[dg-trim-dirname $srcdir/../libdruntime $test]"
|
||||
dg-runtest $test "-fversion=Shared -shared-libphobos" \
|
||||
"-fmain -fbuilding-libphobos-tests -fno-moduleinfo"
|
||||
"-fmain -fbuilding-libphobos-tests -fno-moduleinfo $version_flags"
|
||||
set libphobos_test_name ""
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user