diff mbox series

[committed] d: Turn on deprecation warnings by default.

Message ID 20200625154126.2308272-1-ibuclaw@gdcproject.org
State New
Headers show
Series [committed] d: Turn on deprecation warnings by default. | expand

Commit Message

Iain Buclaw June 25, 2020, 3:41 p.m. UTC
Hi,

This patch makes deprecation warnings the default in gdc, fixing both
the library and any tests that are currently using deprecated styles.
This is the default in the upstream reference compiler, and can reduce
some confusion when comparing warning/error messages of gdc and dmd side
by side.

Merges libphobos with upstream druntime d05ebaad and phobos 021ae0df7.

Bootstrapped and regression tested on x86_64-linux-gnu, and committed to
mainline.

Regards
Iain.

---
gcc/d/ChangeLog:

	* d-lang.cc (d_init_options): Turn on deprecation warnings by default.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime d05ebaad.
	* src/MERGE: Merge upstream phobos 021ae0df7.
	* testsuite/libphobos.typeinfo/struct-align.d: Remove empty statement.

gcc/testsuite/ChangeLog:

	* gdc.dg/asm1.d: Don't use deprecated asm syntax.
	* gdc.dg/compilable.d: Add public to selective import.
	* gdc.dg/lto/ltotests_0.d: Explicitly catch Throwable.
	* gdc.dg/runnable.d: Remove empty statement.
---
 gcc/d/d-lang.cc                                       | 2 +-
 gcc/testsuite/gdc.dg/asm1.d                           | 8 ++++----
 gcc/testsuite/gdc.dg/compilable.d                     | 2 +-
 gcc/testsuite/gdc.dg/lto/ltotests_0.d                 | 2 +-
 gcc/testsuite/gdc.dg/runnable.d                       | 2 +-
 libphobos/libdruntime/MERGE                           | 2 +-
 libphobos/libdruntime/rt/util/utf.d                   | 4 ++--
 libphobos/src/MERGE                                   | 2 +-
 libphobos/src/std/range/package.d                     | 2 +-
 libphobos/testsuite/libphobos.typeinfo/struct-align.d | 2 +-
 10 files changed, 14 insertions(+), 14 deletions(-)
diff mbox series

Patch

diff --git a/gcc/d/d-lang.cc b/gcc/d/d-lang.cc
index 82e24de8cd1..24a1125ef8d 100644
--- a/gcc/d/d-lang.cc
+++ b/gcc/d/d-lang.cc
@@ -306,7 +306,7 @@  d_init_options (unsigned int, cl_decoded_option *decoded_options)
   global.params.cplusplus = CppStdRevisionCpp14;
 
   /* Warnings and deprecations are disabled by default.  */
-  global.params.useDeprecated = DIAGNOSTICoff;
+  global.params.useDeprecated = DIAGNOSTICinform;
   global.params.warnings = DIAGNOSTICoff;
 
   global.params.imppath = new Strings ();
diff --git a/gcc/testsuite/gdc.dg/asm1.d b/gcc/testsuite/gdc.dg/asm1.d
index 3fcfd6a58c1..dce36769370 100644
--- a/gcc/testsuite/gdc.dg/asm1.d
+++ b/gcc/testsuite/gdc.dg/asm1.d
@@ -13,8 +13,8 @@  void parse2()
 {
     asm 
     {
-        "" : : "g" 1 ? 2 : 3;
-        "" : : "g" 1 ? 2 : : 3;
+        "" : : "g" (1 ? 2 : 3);
+        "" : : "g" (1 ? 2 : :) 3;
         // { dg-error "expression expected, not ':'" "" { target *-*-* } .-1 }
         // { dg-error "expected constant string constraint for operand" "" { target *-*-* } .-2 }
     }
@@ -58,7 +58,7 @@  void semantic1()
 void semantic2a(X...)(X expr)
 {
     alias X[0] var1;
-    asm { "%0" : "=m" var1; }   // { dg-error "double 'double' is a type, not an lvalue" }
+    asm { "%0" : "=m" (var1); } // { dg-error "double 'double' is a type, not an lvalue" }
 }
 
 void semantic2()
@@ -86,6 +86,6 @@  void semantic4()
 {
     asm
     {
-        "%0" : : "m" S4.foo;    // { dg-error "template instance opDispatch!\"foo\" has no value" }
+        "%0" : : "m" (S4.foo);  // { dg-error "template instance opDispatch!\"foo\" has no value" }
     }
 }
diff --git a/gcc/testsuite/gdc.dg/compilable.d b/gcc/testsuite/gdc.dg/compilable.d
index 92a18756a0e..3f92f9b2957 100644
--- a/gcc/testsuite/gdc.dg/compilable.d
+++ b/gcc/testsuite/gdc.dg/compilable.d
@@ -250,7 +250,7 @@  class C204 : I204
 // https://bugzilla.gdcproject.org/show_bug.cgi?id=241
 
 import imports.gdc241a;
-import imports.gdc241b : S241, C241, E241, N241;
+public import imports.gdc241b : S241, C241, E241, N241;
 
 /******************************************/
 // https://bugzilla.gdcproject.org/show_bug.cgi?id=242
diff --git a/gcc/testsuite/gdc.dg/lto/ltotests_0.d b/gcc/testsuite/gdc.dg/lto/ltotests_0.d
index bb18beaa9c8..91737609f10 100644
--- a/gcc/testsuite/gdc.dg/lto/ltotests_0.d
+++ b/gcc/testsuite/gdc.dg/lto/ltotests_0.d
@@ -46,7 +46,7 @@  struct S61b
     {
         try
             other.a();
-        catch
+        catch (Throwable)
             other.b();
     }
 }
diff --git a/gcc/testsuite/gdc.dg/runnable.d b/gcc/testsuite/gdc.dg/runnable.d
index 7307e09a645..d974bda8c58 100644
--- a/gcc/testsuite/gdc.dg/runnable.d
+++ b/gcc/testsuite/gdc.dg/runnable.d
@@ -243,7 +243,7 @@  void test36b()(char val)
 auto test36c_1()
 {
     int a;
-    void c() {};
+    void c() {}
     class Result
     {
         int b;
diff --git a/libphobos/libdruntime/MERGE b/libphobos/libdruntime/MERGE
index 5e3bf3b795a..bcde10514ec 100644
--- a/libphobos/libdruntime/MERGE
+++ b/libphobos/libdruntime/MERGE
@@ -1,4 +1,4 @@ 
-5cc061a8733731d5b40334c0eb7a927b6d6241ce
+d05ebaad15fbffce6d707c138c84d7b60fcf5ffd
 
 The first line of this file holds the git revision number of the last
 merge done from the dlang/druntime repository.
diff --git a/libphobos/libdruntime/rt/util/utf.d b/libphobos/libdruntime/rt/util/utf.d
index 07758409ec7..55869b37c8c 100644
--- a/libphobos/libdruntime/rt/util/utf.d
+++ b/libphobos/libdruntime/rt/util/utf.d
@@ -651,9 +651,9 @@  string toUTF8(in wchar[] s)
         else
         {
             r.length = i;
-            foreach (dchar c; s[i .. slen])
+            foreach (dchar ch; s[i .. slen])
             {
-                encode(r, c);
+                encode(r, ch);
             }
             break;
         }
diff --git a/libphobos/src/MERGE b/libphobos/src/MERGE
index 5900ca7c6a4..1562f747b74 100644
--- a/libphobos/src/MERGE
+++ b/libphobos/src/MERGE
@@ -1,4 +1,4 @@ 
-64ed4684fa2a0f2401f5b6df34f6dcb4c3973945
+021ae0df76727a32809a29887095ab7093489ea3
 
 The first line of this file holds the git revision number of the last
 merge done from the dlang/phobos repository.
diff --git a/libphobos/src/std/range/package.d b/libphobos/src/std/range/package.d
index fe581f3853b..13601cb9da9 100644
--- a/libphobos/src/std/range/package.d
+++ b/libphobos/src/std/range/package.d
@@ -4874,7 +4874,7 @@  if (allSatisfy!(isInputRange, Ranges))
     // Just make sure 1-range case instantiates.  This hangs the compiler
     // when no explicit stopping policy is specified due to Bug 4652.
     auto stuff = lockstep([1,2,3,4,5], StoppingPolicy.shortest);
-    foreach (int i, a; stuff)
+    foreach (i, a; stuff)
     {
         assert(stuff[i] == a);
     }
diff --git a/libphobos/testsuite/libphobos.typeinfo/struct-align.d b/libphobos/testsuite/libphobos.typeinfo/struct-align.d
index 72866517481..54eaaa6ff5a 100644
--- a/libphobos/testsuite/libphobos.typeinfo/struct-align.d
+++ b/libphobos/testsuite/libphobos.typeinfo/struct-align.d
@@ -2,7 +2,7 @@  module structalign;
 
 void main ()
 {
-    struct K { int *a; };
+    struct K { int *a; }
     K k;
     auto ti = typeid (k);