gcc/cp/
* parser.c (cp_parser_alias_declaration): Require ';' at the end
of the declaration.
libstdc++-v3/
* include/ext/pointer.h (rebind): Append missing ';'.
gcc/testsuite
* g++.dg/cpp0x/alias-decl-12.C: New test.
* g++.dg/ext/alias-decl-attr4.C: Append missing ';'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181195
138bc75d-0d04-0410-961f-
82ee72b054a4
2011-11-09 Dodji Seketeli <dodji@redhat.com>
+ PR c++/51027
+ * parser.c (cp_parser_alias_declaration): Require ';' at the end
+ of the declaration.
+
+2011-11-09 Dodji Seketeli <dodji@redhat.com>
+
PR debug/51032
* decl2.c (check_member_template): Accept alias templates and ...
* parser.c (cp_parser_alias_declaration): ... use it here.
cp_parser_require (parser, CPP_EQ, RT_EQ);
type = cp_parser_type_id (parser);
+ cp_parser_require (parser, CPP_SEMICOLON, RT_SEMICOLON);
/* A typedef-name can also be introduced by an alias-declaration. The
identifier following the using keyword becomes a typedef-name. It has
2011-11-09 Dodji Seketeli <dodji@redhat.com>
+ PR c++/51027
+ * g++.dg/cpp0x/alias-decl-12.C: New test.
+ * g++.dg/ext/alias-decl-attr4.C: Append missing ';'.
+
+2011-11-09 Dodji Seketeli <dodji@redhat.com>
+
PR debug/51032
* g++.dg/cpp0x/alias-decl-debug-0.C: New test.
--- /dev/null
+// Origin: PR c++/51027
+// { dg-options "-std=c++0x" }
+
+using INT = int // { dg-error "expected|;|at end of input" }
template < typename Val > struct S
{
using vector_type __attribute__((vector_size(16))) =
- typename A<Val>::type
+ typename A<Val>::type;
typedef Val vector_type2 __attribute__((vector_size(16)));
int pr_size() { return sizeof(vector_type); }
int pr_size2() { return sizeof(vector_type2); }
+2011-11-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51027
+ * include/ext/pointer.h (rebind): Append missing ';'.
+
2011-11-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
template<typename _Up>
using rebind = typename __gnu_cxx::_Pointer_adapter<
- typename pointer_traits<_Storage_policy>::rebind<_Up>>
+ typename pointer_traits<_Storage_policy>::rebind<_Up>>;
static pointer pointer_to(typename pointer::reference __r) noexcept
{ return pointer(std::addressof(__r)); }