gcc/cp/
PR c++/51473
* decl.c (check_tag_decl): Error out on auto specifier with no
declarator.
gcc/testsuite/
PR c++/51473
* g++.dg/cpp0x/auto30.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182375
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-12-15 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51473
+ * decl.c (check_tag_decl): Error out on auto specifier with no
+ declarator.
+
2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/51365
error_p = true;
if (declared_type == NULL_TREE && ! saw_friend && !error_p)
permerror (input_location, "declaration does not declare anything");
+ else if (declared_type != NULL_TREE && type_uses_auto (declared_type))
+ {
+ error ("%<auto%> can only be specified for variables "
+ "or function declarations");
+ return error_mark_node;
+ }
/* Check for an anonymous union. */
else if (declared_type && RECORD_OR_UNION_CODE_P (TREE_CODE (declared_type))
&& TYPE_ANONYMOUS_P (declared_type))
+2011-12-15 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51473
+ * g++.dg/cpp0x/auto30.C: New test.
+
2011-12-15 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray/poly_run_3.f90: New.
--- /dev/null
+// Origin PR c++/51473
+// { dg-options "-std=c++11" }
+
+struct A
+{
+ auto friend struct B; // { dg-error "multiple types|can only be specified|friend" }
+};
+
+auto int; // { dg-error "multiple types|can only be specified for variables" }