d/dmd: Merge upstream dmd 423758078
authorIain Buclaw <ibuclaw@gdcproject.org>
Wed, 24 Apr 2019 09:15:59 +0000 (09:15 +0000)
committerIain Buclaw <ibuclaw@gcc.gnu.org>
Wed, 24 Apr 2019 09:15:59 +0000 (09:15 +0000)
Fixes another failing test to pass on BigEndian.

Initial patch by Robin Dapp.

Reviewed-on: https://github.com/dlang/dmd/pull/9684

gcc/testsuite/ChangeLog:

2019-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>

* gdc.test/README.gcc: New file.

From-SVN: r270536

gcc/d/dmd/MERGE
gcc/testsuite/ChangeLog
gcc/testsuite/gdc.test/README.gcc [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/test42.d

index 7424576512b79cb218d4ac1f8f4d62304dd15539..b81cfc64d70564b7adc9aeff6116a9cec0d079d5 100644 (file)
@@ -1,4 +1,4 @@
-3b3dca8be201b443f17621cd29cf614007b5c75e
+423758078f8fcd945815a5294806915a8a01d392
 
 The first line of this file holds the git revision number of the last
 merge done from the dlang/dmd repository.
index 73b34e071135d9134ec46e370211a712cbec245b..19972ed55c33e034643af3c60be24a684028df63 100644 (file)
@@ -1,3 +1,7 @@
+2019-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.test/README.gcc: New file.
+
 2019-04-24  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/90208
diff --git a/gcc/testsuite/gdc.test/README.gcc b/gcc/testsuite/gdc.test/README.gcc
new file mode 100644 (file)
index 0000000..984da5e
--- /dev/null
@@ -0,0 +1,14 @@
+The files in this subdirectory where noted are part of the D2
+programming language test suite for the Digitial Mars D compiler,
+hosted at https://github.com/dlang/dmd/.
+
+The current git revision number of these tests is maintained in
+gcc/d/dmd/MERGE.
+
+The following directories are part of DMD:
+  compilable/
+  fail_compilation/
+  runnable/
+
+All changes to dmd should go through the upstream repository first,
+then merged back to GCC.
index 87ee7a8e73a20a692273e1a804473f5ed67fbf94..76f8e212358be9f4a1315dab8e469dc8e3ad2df5 100644 (file)
@@ -4963,20 +4963,35 @@ struct Test244 {
 
 int noswap245(ubyte *data)
 {
-    return
-        (data[0]<<  0) |
-        (data[1]<<  8) |
-        (data[2]<< 16) |
-        (data[3]<< 24);
+    version (LittleEndian)
+        return
+            (data[0]<<  0) |
+            (data[1]<<  8) |
+            (data[2]<< 16) |
+            (data[3]<< 24);
+    version (BigEndian)
+        return
+            (data[0]<< 24) |
+            (data[1]<< 16) |
+            (data[2]<<  8) |
+            (data[3]<<  0);
+
 }
 
 int bswap245(ubyte *data)
 {
-    return
-        (data[0]<< 24) |
-        (data[1]<< 16) |
-        (data[2]<< 8 ) |
-        (data[3]<< 0 );
+    version (LittleEndian)
+        return
+            (data[0]<< 24) |
+            (data[1]<< 16) |
+            (data[2]<<  8) |
+            (data[3]<<  0);
+    version (BigEndian)
+        return
+            (data[0]<<  0) |
+            (data[1]<<  8) |
+            (data[2]<< 16) |
+            (data[3]<< 24);
 }
 
 void test245()