Commit 873b5de8 by Iain Buclaw

d: Merge upstream dmd f8a1a5153, druntime 2b5c0b27

Adds a new test directive COMPILABLE_MATH_TEST, and support has been
added for it in gdc-convert-test so that they are skipped if phobos is
not present on the target.

Only change in D runtime is a small documentation fix.

Reviewed-on: https://github.com/dlang/druntime/pull/3067
	     https://github.com/dlang/dmd/pull/11060

gcc/testsuite/ChangeLog:

	PR d/89418
	* lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for compilable
	tests that depend on the phobos standard library.
parent 2370bdbb
09db0c41ee922502fa0966bde24c1cb9b15ad436
f8a1a515346b16ebbd9da56a908540cbef1ee582
The first line of this file holds the git revision number of the last
merge done from the dlang/dmd repository.
2020-04-27 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/89418
* lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for compilable
tests that depend on the phobos standard library.
2020-04-27 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/94777
* gdc.dg/pr94777a.d: New test.
* gdc.dg/pr94777b.d: New test.
......
// COMPILABLE_MATH_TEST
// Test CTFE builtins for std.math functions.
import std.math;
......
/*
COMPILABLE_MATH_TEST
REQUIRED_ARGS:
PERMUTE_ARGS:
TEST_OUTPUT:
......
......@@ -302,6 +302,12 @@ proc gdc-convert-test { base test } {
# It will need skipping if phobos is not available on the target.
regsub -- {RUNNABLE_PHOBOS_TEST.*$} $copy_line "" out_line
set needs_phobos 1
} elseif [regexp -- {COMPILABLE_MATH_TEST} $copy_line match sources] {
# COMPILABLE_MATH_TEST annotates tests that import the std.math
# module. Which will need skipping if not available on the target.
regsub -- {RUNNABLE_PHOBOS_TEST.*$} $copy_line "" out_line
set needs_phobos 1
}
puts $fdout $out_line
......@@ -358,6 +364,9 @@ proc gdc-convert-test { base test } {
# Cleanup extra generated files.
puts $fdout "// { dg-final { file delete $genfile } }"
}
if $needs_phobos {
puts $fdout "// { dg-skip-if \"imports phobos\" { ! d_runtime_has_std_library } }"
}
}
fail_compilation {
......
e68a5ae36790fa9dc5bab6155bc450eb6bf8c12c
2b5c0b2766949e788e4929c5fb0e2ba698ff79a3
The first line of this file holds the git revision number of the last
merge done from the dlang/druntime repository.
......@@ -73,8 +73,8 @@ const(ubyte)[] toUbyte(T)(const ref T val) if (is(Unqual!T == float) || is(Unqua
// Parse DoubleDoubles as a pair of doubles.
// The layout of the type is:
//
// [1| 7 | 56 ][ 8 | 56 ]
// [S| Exp | Fraction (hi) ][ Unused | Fraction (low) ]
// [1| 11 | 52 ][1| 11 | 52 ]
// [S| Exponent | Fraction (hi) ][S| Exponent | Fraction (low) ]
//
// We can get the least significant bits by subtracting the IEEE
// double precision portion from the real value.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment