public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/38313]  New: g++ fails to parse a member function with a parenthesized type name as its declarator
@ 2008-11-28 21:18 jason at gcc dot gnu dot org
  2008-11-28 21:19 ` [Bug c++/38313] " jason at gcc dot gnu dot org
  0 siblings, 1 reply; 5+ messages in thread
From: jason at gcc dot gnu dot org @ 2008-11-28 21:18 UTC (permalink / raw)
  To: gcc-bugs

This testcase:

struct foo { };
struct bar { };

struct baz {
  static foo (bar)();
};

confuses cp_parser_constructor_declarator_p, which just looks as far as foo
(bar) before deciding incorrectly that this is a constructor declarator.

This is related to PR 38278, but is a much older issue; it fails as far back as
3.4, though 3.2 seems to accept it.


-- 
           Summary: g++ fails to parse a member function with a
                    parenthesized type name as its declarator
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jason at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38313


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug c++/38313] g++ fails to parse a member function with a parenthesized type name as its declarator
  2008-11-28 21:18 [Bug c++/38313] New: g++ fails to parse a member function with a parenthesized type name as its declarator jason at gcc dot gnu dot org
@ 2008-11-28 21:19 ` jason at gcc dot gnu dot org
  0 siblings, 0 replies; 5+ messages in thread
From: jason at gcc dot gnu dot org @ 2008-11-28 21:19 UTC (permalink / raw)
  To: gcc-bugs



-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
      Known to fail|                            |3.4.6 4.1.3 4.2.2 4.3.3
                   |                            |4.4.0
      Known to work|                            |3.2.3
   Last reconfirmed|0000-00-00 00:00:00         |2008-11-28 21:18:14
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38313


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug c++/38313] g++ fails to parse a member function with a parenthesized type name as its declarator
       [not found] <bug-38313-4@http.gcc.gnu.org/bugzilla/>
  2013-11-03 16:57 ` paolo.carlini at oracle dot com
  2013-11-03 23:51 ` paolo at gcc dot gnu.org
@ 2013-11-03 23:53 ` paolo.carlini at oracle dot com
  2 siblings, 0 replies; 5+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-11-03 23:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38313

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
           Assignee|paolo.carlini at oracle dot com    |unassigned at gcc dot gnu.org
   Target Milestone|---                         |4.9.0

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Fixed for 4.9.0.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug c++/38313] g++ fails to parse a member function with a parenthesized type name as its declarator
       [not found] <bug-38313-4@http.gcc.gnu.org/bugzilla/>
  2013-11-03 16:57 ` paolo.carlini at oracle dot com
@ 2013-11-03 23:51 ` paolo at gcc dot gnu.org
  2013-11-03 23:53 ` paolo.carlini at oracle dot com
  2 siblings, 0 replies; 5+ messages in thread
From: paolo at gcc dot gnu.org @ 2013-11-03 23:51 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38313

--- Comment #2 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> ---
Author: paolo
Date: Sun Nov  3 23:49:41 2013
New Revision: 204339

URL: http://gcc.gnu.org/viewcvs?rev=204339&root=gcc&view=rev
Log:
/cp
2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/38313
    * parser.c (cp_parser_constructor_declarator_p): Check that the
    class-name matches current_class_type.

/testsuite
2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/38313
    * g++.dg/lookup/name-clash10.C: New.

Added:
    trunk/gcc/testsuite/g++.dg/lookup/name-clash10.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/parser.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug c++/38313] g++ fails to parse a member function with a parenthesized type name as its declarator
       [not found] <bug-38313-4@http.gcc.gnu.org/bugzilla/>
@ 2013-11-03 16:57 ` paolo.carlini at oracle dot com
  2013-11-03 23:51 ` paolo at gcc dot gnu.org
  2013-11-03 23:53 ` paolo.carlini at oracle dot com
  2 siblings, 0 replies; 5+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-11-03 16:57 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38313

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|gcc-bugs at gcc dot gnu.org        |
           Assignee|unassigned at gcc dot gnu.org      |paolo.carlini at oracle dot com
      Known to fail|                            |

--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Mine.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-11-03 23:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-28 21:18 [Bug c++/38313] New: g++ fails to parse a member function with a parenthesized type name as its declarator jason at gcc dot gnu dot org
2008-11-28 21:19 ` [Bug c++/38313] " jason at gcc dot gnu dot org
     [not found] <bug-38313-4@http.gcc.gnu.org/bugzilla/>
2013-11-03 16:57 ` paolo.carlini at oracle dot com
2013-11-03 23:51 ` paolo at gcc dot gnu.org
2013-11-03 23:53 ` paolo.carlini at oracle dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).