re PR c++/48599 ([C++0x] no diagnostic for invalid use of auto with array declarator)
PR c++/48599 * decl.c (create_array_type_for_decl): Complain about array of auto. From-SVN: r174257
This commit is contained in:
parent
eda1990699
commit
5df0c0c767
@ -1,5 +1,8 @@
|
||||
2011-05-25 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/48599
|
||||
* decl.c (create_array_type_for_decl): Complain about array of auto.
|
||||
|
||||
PR c++/44944
|
||||
PR c++/49156
|
||||
* error.c (dump_template_bindings): Set processing_template_decl
|
||||
|
@ -7974,6 +7974,12 @@ create_array_type_for_decl (tree name, tree type, tree size)
|
||||
if (type == error_mark_node || size == error_mark_node)
|
||||
return error_mark_node;
|
||||
|
||||
/* 8.3.4/1: If the type of the identifier of D contains the auto
|
||||
type-specifier, the program is ill-formed. */
|
||||
if (pedantic && type_uses_auto (type))
|
||||
pedwarn (input_location, OPT_pedantic,
|
||||
"declaration of %qD as array of %<auto%>", name);
|
||||
|
||||
/* If there are some types which cannot be array elements,
|
||||
issue an error-message and return. */
|
||||
switch (TREE_CODE (type))
|
||||
|
@ -1,5 +1,7 @@
|
||||
2011-05-25 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/cpp0x/auto24.C: New.
|
||||
|
||||
* g++.dg/cpp0x/error4.C: New.
|
||||
|
||||
* g++.dg/cpp0x/rv-restrict.C: New.
|
||||
|
5
gcc/testsuite/g++.dg/cpp0x/auto24.C
Normal file
5
gcc/testsuite/g++.dg/cpp0x/auto24.C
Normal file
@ -0,0 +1,5 @@
|
||||
// PR c++/48599
|
||||
// { dg-options "-std=c++0x -pedantic-errors" }
|
||||
|
||||
int v[1];
|
||||
auto (*p)[1] = &v; // { dg-error "array of .auto" }
|
Loading…
Reference in New Issue
Block a user