decl.c (grokdeclarator): Use id_loc and EXPR_LOCATION in a few error messages.
authorPaolo Carlini <paolo.carlini@oracle.com>
Wed, 14 Aug 2019 08:56:58 +0000 (08:56 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 14 Aug 2019 08:56:58 +0000 (08:56 +0000)
/cp
2019-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): Use id_loc and EXPR_LOCATION in
a few error messages.

/testsuite
2019-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/enum20.C: Test location(s) too.
* g++.dg/other/friend3.C: Likewise.
* g++.dg/parse/dtor5.C: Likewise.
* g++.dg/parse/friend7.C: Likewise.
* g++.dg/template/error22.C: Likewise.
* g++.old-deja/g++.brendan/err-msg5.C: Likewise.

From-SVN: r274435

gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/conversion/simd4.C

index 3ae8e535501f28991502b6daf5953fa61bf3f687..c3b91b0e18d9baab312b276267438be008058b40 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * decl2.c (grok_array_decl): Use the location of the open square
+       bracket in error message about invalid types.
+
 2019-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * decl.c (grokdeclarator): Check here for typedef a function
index ad2459236b804a7508738f64b30f2066f4831880..a32108f9d168e07da04371437928120a6ff1ecbe 100644 (file)
@@ -434,8 +434,8 @@ grok_array_decl (location_t loc, tree array_expr, tree index_exp,
        array_expr = p2, index_exp = i1;
       else
        {
-         error ("invalid types %<%T[%T]%> for array subscript",
-                type, TREE_TYPE (index_exp));
+         error_at (loc, "invalid types %<%T[%T]%> for array subscript",
+                   type, TREE_TYPE (index_exp));
          return error_mark_node;
        }
 
index db38df3766bbbf635fe84d653022019104c5976f..78202075f192544f91440cbac14be273711921ec 100644 (file)
@@ -1,3 +1,7 @@
+2019-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * g++.dg/conversion/simd4.C: Test locations.
+
 2019-08-14  Richard Sandiford  <richard.sandiford@arm.com>
 
        * gcc.target/aarch64/sve/peel_ind_1.c: Look for an inverted .B VL1.
index f8f7f2e4501d5d68182426b60b71630b84b56f78..22274a1783811d1dd1a2d8ad146e94fc025f93c2 100644 (file)
@@ -12,13 +12,13 @@ void
 foo ()
 {
   b[t];
-  b[u];                // { dg-error "invalid types" }
-  b[v];                // { dg-error "invalid types" }
-  b[w];                // { dg-error "invalid types" }
+  b[u];                // { dg-error "4:invalid types" }
+  b[v];                // { dg-error "4:invalid types" }
+  b[w];                // { dg-error "4:invalid types" }
   t[b];
-  u[b];                // { dg-error "invalid types" }
-  v[b];                // { dg-error "invalid types" }
-  w[b];                // { dg-error "invalid types" }
+  u[b];                // { dg-error "4:invalid types" }
+  v[b];                // { dg-error "4:invalid types" }
+  w[b];                // { dg-error "4:invalid types" }
   new int[t];
   new int[u];  // { dg-error "new-declarator must have integral" }
   new int[v];  // { dg-error "new-declarator must have integral" }