Replace absolute line numbers in c-c++-common
authorTom de Vries <tom@codesourcery.com>
Wed, 3 May 2017 07:33:01 +0000 (07:33 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Wed, 3 May 2017 07:33:01 +0000 (07:33 +0000)
2017-05-03  Tom de Vries  <tom@codesourcery.com>

PR testsuite/80557
* c-c++-common/Wshift-negative-value-1.c: Replace absolute line numbers.
* c-c++-common/Wshift-negative-value-2.c: Same.
* c-c++-common/Wshift-negative-value-3.c: Same.
* c-c++-common/Wshift-negative-value-4.c: Same.
* c-c++-common/cilk-plus/AN/pr57541.c: Same.
* c-c++-common/cpp/pr60400.c: Same.
* c-c++-common/fmax-errors.c: Same.
* c-c++-common/goacc/data-2.c: Same.
* c-c++-common/goacc/host_data-2.c: Same.
* c-c++-common/gomp/simd4.c: Same.
* c-c++-common/pr28656.c: Same.
* c-c++-common/pr43395.c: Same.
* c-c++-common/torture/pr57945.c: Same.

From-SVN: r247537

14 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/Wshift-negative-value-1.c
gcc/testsuite/c-c++-common/Wshift-negative-value-2.c
gcc/testsuite/c-c++-common/Wshift-negative-value-3.c
gcc/testsuite/c-c++-common/Wshift-negative-value-4.c
gcc/testsuite/c-c++-common/cilk-plus/AN/pr57541.c
gcc/testsuite/c-c++-common/cpp/pr60400.c
gcc/testsuite/c-c++-common/fmax-errors.c
gcc/testsuite/c-c++-common/goacc/data-2.c
gcc/testsuite/c-c++-common/goacc/host_data-2.c
gcc/testsuite/c-c++-common/gomp/simd4.c
gcc/testsuite/c-c++-common/pr28656.c
gcc/testsuite/c-c++-common/pr43395.c
gcc/testsuite/c-c++-common/torture/pr57945.c

index 8cfebd41456dbab709df3f6b809c558460f08e31..e84e04540c2e33dd3b52667c8d87bfda4b67be28 100644 (file)
@@ -1,3 +1,20 @@
+2017-05-03  Tom de Vries  <tom@codesourcery.com>
+
+       PR testsuite/80557
+       * c-c++-common/Wshift-negative-value-1.c: Replace absolute line numbers.
+       * c-c++-common/Wshift-negative-value-2.c: Same.
+       * c-c++-common/Wshift-negative-value-3.c: Same.
+       * c-c++-common/Wshift-negative-value-4.c: Same.
+       * c-c++-common/cilk-plus/AN/pr57541.c: Same.
+       * c-c++-common/cpp/pr60400.c: Same.
+       * c-c++-common/fmax-errors.c: Same.
+       * c-c++-common/goacc/data-2.c: Same.
+       * c-c++-common/goacc/host_data-2.c: Same.
+       * c-c++-common/gomp/simd4.c: Same.
+       * c-c++-common/pr28656.c: Same.
+       * c-c++-common/pr43395.c: Same.
+       * c-c++-common/torture/pr57945.c: Same.
+
 2017-05-03  Tom de Vries  <tom@codesourcery.com>
 
        * c-c++-common/goacc/data-default-1.c: Add quotes to numerical comment
index 8f1403456086bc7397ed9a2d4408097ec2126983..7df1804615d65fe8b109bf476a89588cea44025d 100644 (file)
@@ -7,6 +7,7 @@ enum E {
   A = 0 << 1,
   B = 1 << 1,
   C = -1 << 1, /* { dg-warning "left shift of negative value|not an integer constant" } */
+  /* { dg-error "left operand of shift expression" "shift" { target c++ } .-1 } */
   D = 0 >> 1,
   E = 1 >> 1,
   F = -1 >> 1
@@ -47,5 +48,3 @@ right (int x)
   r += -1U >> x;
   return r;
 }
-
-/* { dg-error "left operand of shift expression" "shift" { target c++ } 9 } */
index 55523a531f570f939da3436e62e410b065430451..3a60ed7e1b8bbfb1cf2fc9df13a8a8f88cb432fb 100644 (file)
@@ -7,6 +7,8 @@ enum E {
   A = 0 << 1,
   B = 1 << 1,
   C = -1 << 1, /* { dg-warning "left shift of negative value" } */
+  /* { dg-error "not an integer constant" "no constant" { target c++ } .-1 } */
+  /* { dg-error "left operand of shift expression" "shift" { target c++ } .-2 } */
   D = 0 >> 1,
   E = 1 >> 1,
   F = -1 >> 1
@@ -47,6 +49,3 @@ right (int x)
   r += -1U >> x;
   return r;
 }
-
-/* { dg-error "not an integer constant" "no constant" { target c++ } 9 } */
-/* { dg-error "left operand of shift expression" "shift" { target c++ } 9 } */
index 1295b725569bdd3fbb1a51dcafc7f1161e1aa60e..503ca61eb6139eb6160f084987c7903496c78c4c 100644 (file)
@@ -7,6 +7,8 @@ enum E {
   A = 0 << 1,
   B = 1 << 1,
   C = -1 << 1,
+  /* { dg-error "not an integer constant" "no constant" { target c++ } .-1 } */
+  /* { dg-error "left operand of shift expression" "shift" { target c++ } .-2 } */
   D = 0 >> 1,
   E = 1 >> 1,
   F = -1 >> 1
@@ -47,6 +49,3 @@ right (int x)
   r += -1U >> x;
   return r;
 }
-
-/* { dg-error "not an integer constant" "no constant" { target c++ } 9 } */
-/* { dg-error "left operand of shift expression" "shift" { target c++ } 9 } */
index 3088220ffa738a010f4a0a65d48bae91242b7384..fa7cb4e7f513af595e60ea67aba343f95644bb60 100644 (file)
@@ -7,6 +7,8 @@ enum E {
   A = 0 << 1,
   B = 1 << 1,
   C = -1 << 1,
+  /* { dg-error "not an integer constant" "no constant" { target c++ } .-1 } */
+  /* { dg-error "left operand of shift expression" "shift" { target c++ } .-2 } */
   D = 0 >> 1,
   E = 1 >> 1,
   F = -1 >> 1
@@ -47,6 +49,3 @@ right (int x)
   r += -1U >> x;
   return r;
 }
-
-/* { dg-error "not an integer constant" "no constant" { target c++ } 9 } */
-/* { dg-error "left operand of shift expression" "shift" { target c++ } 9 } */
index f379e461c5a8251f2f4db9e6903ee191722fa47c..a956d0e18ab63d1ea4020dafc7c31e7bd9806712 100755 (executable)
@@ -9,6 +9,7 @@ int foo () {
   /* C compiler uses the term "undeclared" whereas C++ compiler uses
     "not declared".  Thus, grepping for declared seem to be the easiest.  */
   char c = (char)N; /* { dg-error "declared" } */
+  /* { dg-message "note: each" "defined" { target c } .-1 } */
   short s = (short)N;
   long l = (long)N;
   A[l:s:c];
@@ -22,5 +23,4 @@ int foo1 (int N) {
 }
 
 
-/* { dg-message "note: each" "defined" { target c }  11 } */
 
index fc3e0d9f49300f29fb5b4192400beb468140a00c..59e8aec36efec2f09c06badadae453b7c6b0b8a0 100644 (file)
@@ -2,12 +2,12 @@
 /* { dg-do compile } */
 /* { dg-options "-trigraphs -Wtrigraphs" } */
 
-??=include "pr60400-1.h"
-??=include "pr60400-2.h"
+??=include "pr60400-1.h" /* { dg-warning "trigraph" } */
+??=include "pr60400-2.h" /* { dg-warning "trigraph" } */
 
+/* These are line numbers in pr60400-{1,2}.h  Keep them absolute.  */
 /* { dg-warning "trigraph" "" { target *-*-* } 1 } */
 /* { dg-warning "trigraph" "" { target *-*-* } 2 } */
 /* { dg-warning "trigraph" "" { target *-*-* } 3 } */
 /* { dg-warning "trigraph" "" { target *-*-* } 4 } */
-/* { dg-warning "trigraph" "" { target *-*-* } 5 } */
-/* { dg-warning "trigraph" "" { target *-*-* } 6 } */
+
index b44e2386ae566360aa89fb1d7a569b28a3dd5c5b..947d60048a179af148426320883c3377bb3f7bce 100644 (file)
@@ -11,7 +11,7 @@ void foo (unsigned int i, unsigned int j)
 
   (k) ();                      /* { dg-error "" } */
   /* Make sure we see the notes related to the final error we emit.  */
-  /* { dg-message "identifier" "" { target c } 12 } */
+  /* { dg-message "identifier" "" { target c } .-2 } */
 
   /* Warnings after the final error should not appear.  */
   i + j; /* no warning.  */
index 1043bf8a0720aa9857c3622b74ad63ef7150a89d..a8723b04c8f3ab9525cd9002232e0e3f3ef33069 100644 (file)
@@ -6,6 +6,7 @@ foo (void)
 #pragma acc enter data copyin (a, b) async wait
 #pragma acc enter data create (b[20:30]) async wait
 #pragma acc enter data (a) /* { dg-error "expected '#pragma acc' clause before '\\\(' token" } */
+/* { dg-error "has no data movement clause" "" { target *-*-* } .-1 } */
 #pragma acc enter data create (b(1:10)) /* { dg-error "expected '\\\)' before '\\\(' token" } */
 #pragma acc exit data delete (a) if (0)
 #pragma acc exit data copyout (b) if (a)
@@ -20,4 +21,3 @@ foo (void)
 #pragma acc enter data2 /* { dg-error "expected 'data' after" } */
 }
 
-/* { dg-error "has no data movement clause" "" { target *-*-* } 8 } */
index 6337465d06c63c89efc954c3050420eac5e5a044..b3093e575ff40fbc580443bd8b70aaaa855243ab 100644 (file)
@@ -12,14 +12,14 @@ f (void)
   ;
 
 #pragma acc host_data use_device(v2)
+  /* { dg-error ".use_device_ptr. variable is neither a pointer nor an array" "" { target c } .-1 } */
+  /* { dg-error ".use_device_ptr. variable is neither a pointer, nor an array nor reference to pointer or array" "" { target c++ } .-2 } */
   ;
-  /* { dg-error ".use_device_ptr. variable is neither a pointer nor an array" "" { target c } 14 } */
-  /* { dg-error ".use_device_ptr. variable is neither a pointer, nor an array nor reference to pointer or array" "" { target c++ } 14 } */
   
 #pragma acc host_data use_device(v0)
+  /* { dg-error ".use_device_ptr. variable is neither a pointer nor an array" "" { target c } .-1 } */
+  /* { dg-error ".use_device_ptr. variable is neither a pointer, nor an array nor reference to pointer or array" "" { target c++ } .-2 } */
   ;
-  /* { dg-error ".use_device_ptr. variable is neither a pointer nor an array" "" { target c } 19 } */
-  /* { dg-error ".use_device_ptr. variable is neither a pointer, nor an array nor reference to pointer or array" "" { target c++ } 19 } */
 }
 
 
index 399003388ae148fb61499a0f8be8cbc196049b68..8c4a031935a9d34c071dbcf3255210734a2b0adb 100644 (file)
@@ -10,6 +10,8 @@ void
 foo (void)
 {
 #pragma omp simd linear(p) linear(f : 1)
+  /* { dg-error "linear clause applied to" "" { target *-*-* } .-1 } */
+  /* { dg-error "(incomplete|undefined) type" "" { target *-*-* } .-2 } */
   for (int i = 0; i < 10; i++)
     ;
 #pragma omp simd linear(j : 7.0)       /* { dg-error "step expression must be integral" } */
@@ -17,5 +19,3 @@ foo (void)
     ;
 }
 
-/* { dg-error "linear clause applied to" "" { target *-*-* } 12 } */
-/* { dg-error "(incomplete|undefined) type" "" { target *-*-* } 12 } */
index a0c2339f5934ea607ac1e6ec706a20c95c823778..903d7e51f1dd966342700385e9253227dac58f62 100644 (file)
@@ -18,12 +18,12 @@ void
 foo (void)
 {
   memcpy (0, 0, 0);
+  /* { dg-warning "null argument where non-null required\[^\n\r\]*argument 1" "" { target *-*-* } .-1 } */
+  /* { dg-warning "null argument where non-null required\[^\n\r\]*argument 2" "" { target *-*-* } .-2 } */
+
   bar (0, 0, 0, 0, 0);
+  /* { dg-warning "null argument where non-null required\[^\n\r\]*argument 1" "" { target *-*-* } .-1 } */
+  /* { dg-warning "null argument where non-null required\[^\n\r\]*argument 3" "" { target *-*-* } .-2 } */
+  /* { dg-warning "null argument where non-null required\[^\n\r\]*argument 4" "" { target *-*-* } .-3 } */
+  /* { dg-warning "null argument where non-null required\[^\n\r\]*argument 5" "" { target *-*-* } .-4 } */
 }
-
-/* { dg-warning "null argument where non-null required\[^\n\r\]*argument 1" "" { target *-*-* } 20 } */
-/* { dg-warning "null argument where non-null required\[^\n\r\]*argument 2" "" { target *-*-* } 20 } */
-/* { dg-warning "null argument where non-null required\[^\n\r\]*argument 1" "" { target *-*-* } 21 } */
-/* { dg-warning "null argument where non-null required\[^\n\r\]*argument 3" "" { target *-*-* } 21 } */
-/* { dg-warning "null argument where non-null required\[^\n\r\]*argument 4" "" { target *-*-* } 21 } */
-/* { dg-warning "null argument where non-null required\[^\n\r\]*argument 5" "" { target *-*-* } 21 } */
index 2c30634f45f9526c029fbfeebe31719cccead02c..f672c8c1994d681d6ad148552b930c8eb24f30a0 100644 (file)
@@ -4,27 +4,27 @@
 void *
 foo (void)
 {
-lab:
+ lab: /* { dg-line foo_lab } */
   return &&lab;
 /* { dg-warning "function returns address of label" "" { target c } .-1 } */
-/* { dg-warning "address of label" "" { target c++ } 7 } */
+/* { dg-warning "address of label" "" { target c++ } foo_lab } */
 }
 
 void *
 bar (void)
 {
   __label__ lab;
-lab:
+ lab: /* { dg-line bar_lab } */
   return &&lab;
 /* { dg-warning "function returns address of label" "" { target c } .-1 } */
-/* { dg-warning "address of label" "" { target c++ } 17 } */
+/* { dg-warning "address of label" "" { target c++ } bar_lab } */
 }
 
 void *
 baz (void)
 {
-  int i;
+  int i; /* { dg-line baz_i } */
   return &i;
 /* { dg-warning "function returns address of local variable" "" { target c } .-1 } */
-/* { dg-warning "address of local variable" "" { target c++ } 26 } */
+/* { dg-warning "address of local variable" "" { target c++ } baz_i } */
 }
index 5a5977f31df2f5e46b37b7630e2cda2d71f385b9..2678779d1dc8d7c0cbf58576b175238b552a6edd 100644 (file)
@@ -3,11 +3,10 @@
 
 extern int j;
 static int i __attribute__((weakref("j")));
+/* { dg-error "PTX does not support weak declarations" "" { target nvptx-*-* } .-1 } */
 
 int
 foo (void)
 {
   return &i ? i : 0;
 }
-
-/* { dg-error "PTX does not support weak declarations" "" { target nvptx-*-* } 5 } */