2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58633
* parser.c (cp_parser_pseudo_destructor_name): Revert r174385 changes.
/testsuite
2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58633
* g++.dg/cpp0x/decltype57.C: New.
* g++.dg/cpp0x/enum18.C: Revert r174385 changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@203731
138bc75d-0d04-0410-961f-
82ee72b054a4
+2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58633
+ * parser.c (cp_parser_pseudo_destructor_name): Revert r174385 changes.
+
2013-09-13 Jason Merrill <jason@redhat.com>
PR c++/58273
/* Look for the `~'. */
cp_parser_require (parser, CPP_COMPL, RT_COMPL);
- /* Once we see the ~, this has to be a pseudo-destructor. */
- if (!processing_template_decl && !cp_parser_error_occurred (parser))
- cp_parser_commit_to_tentative_parse (parser);
-
/* Look for the type-name again. We are not responsible for
checking that it matches the first type-name. */
*type = cp_parser_nonclass_name (parser);
+2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58633
+ * g++.dg/cpp0x/decltype57.C: New.
+ * g++.dg/cpp0x/enum18.C: Revert r174385 changes.
+
2013-09-23 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt28.ad[sb]: New test.
--- /dev/null
+// PR c++/58633
+// { dg-do compile { target c++11 } }
+
+void foo(int i)
+{
+ typedef int I;
+ decltype(i.I::~I())* p;
+}
int main(void) {
enum e {};
e ev;
- ev.e::~e_u(); // { dg-error "e_u. has not been declared" }
+ ev.e::~e_u(); // { dg-error "" }
}