public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error
@ 2004-02-23 13:29 japple at freeshell dot org
  2004-02-23 13:59 ` [Bug c++/14258] [3.3/3.4/3.5 Regression] typename " giovannibajo at libero dot it
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: japple at freeshell dot org @ 2004-02-23 13:29 UTC (permalink / raw)
  To: gcc-bugs

The following code:

template<typename T>
struct A {
  typedef A type;
};
                                                                               
                            
template<typename T>
struct B : A<T> {
  using typename A<T>::type;
  type f(type);
};

Give a "syntax error before typename." Without typename in the using
declaration, however, type in B<T> is not a typename, so f's declaration is not
well formed.

Because the "typename" is necessary, this is not the same as bug 3033.

-- 
           Summary: using typename (only when necessary) in a using
                    declaration reports bogus error
           Product: gcc
           Version: 3.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: japple at freeshell dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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


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

* [Bug c++/14258] [3.3/3.4/3.5 Regression] typename in a using declaration reports bogus error
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
@ 2004-02-23 13:59 ` giovannibajo at libero dot it
  2004-02-23 14:00 ` giovannibajo at libero dot it
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: giovannibajo at libero dot it @ 2004-02-23 13:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-02-23 13:59 -------
Yes. I flag this as a regression since the valid code used to be accepted 
thanks to the implicit typename extension.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |rejects-valid
      Known to fail|                            |3.3.3 3.4.0 3.5.0
      Known to work|                            |3.2
   Last reconfirmed|0000-00-00 00:00:00         |2004-02-23 13:59:44
               date|                            |
            Summary|using typename (only when   |[3.3/3.4/3.5 Regression]
                   |necessary) in a using       |typename in a using
                   |declaration reports bogus   |declaration reports bogus
                   |error                       |error


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


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

* [Bug c++/14258] [3.3/3.4/3.5 Regression] typename in a using declaration reports bogus error
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
  2004-02-23 13:59 ` [Bug c++/14258] [3.3/3.4/3.5 Regression] typename " giovannibajo at libero dot it
@ 2004-02-23 14:00 ` giovannibajo at libero dot it
  2004-02-23 14:00 ` [Bug c++/14258] [3.4/3.5 " giovannibajo at libero dot it
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: giovannibajo at libero dot it @ 2004-02-23 14:00 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
   Target Milestone|---                         |3.3.4


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


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

* [Bug c++/14258] [3.4/3.5 Regression] typename in a using declaration reports bogus error
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
  2004-02-23 13:59 ` [Bug c++/14258] [3.3/3.4/3.5 Regression] typename " giovannibajo at libero dot it
  2004-02-23 14:00 ` giovannibajo at libero dot it
@ 2004-02-23 14:00 ` giovannibajo at libero dot it
  2004-02-27 12:47 ` giovannibajo at libero dot it
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: giovannibajo at libero dot it @ 2004-02-23 14:00 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-02-23 14:00 -------
Ehm, sorry, this is obviously a regression only for 3.4 and mainline.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|3.3.3 3.4.0 3.5.0           |3.4.0 3.5.0
      Known to work|3.2                         |3.2 3.3.3
            Summary|[3.3/3.4/3.5 Regression]    |[3.4/3.5 Regression]
                   |typename in a using         |typename in a using
                   |declaration reports bogus   |declaration reports bogus
                   |error                       |error
   Target Milestone|3.3.4                       |3.4.0


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


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

* [Bug c++/14258] [3.4/3.5 Regression] typename in a using declaration reports bogus error
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
                   ` (2 preceding siblings ...)
  2004-02-23 14:00 ` [Bug c++/14258] [3.4/3.5 " giovannibajo at libero dot it
@ 2004-02-27 12:47 ` giovannibajo at libero dot it
  2004-03-01  2:10 ` mmitchel at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: giovannibajo at libero dot it @ 2004-02-27 12:47 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-02-27 12:47 -------
The problem is that our USING_DECL doesn't record the "typename", that is the 
fact that it is a type which is imported through it. This used to work thanks 
to the implicit type name extension, I believe.

-- 


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


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

* [Bug c++/14258] [3.4/3.5 Regression] typename in a using declaration reports bogus error
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
                   ` (3 preceding siblings ...)
  2004-02-27 12:47 ` giovannibajo at libero dot it
@ 2004-03-01  2:10 ` mmitchel at gcc dot gnu dot org
  2004-03-18 12:01 ` [Bug c++/14258] " reichelt at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-03-01  2:10 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-03-01 02:10 -------
This is expected behavior, given that G++ does not implement the new
using-declaration semantics, but rather the old ARM-style access-declaration
semantics.

This bug will not be fixed in GCC 3.4.x, so I have changed the target milestone
to 3.5.0.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.0                       |3.5.0


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


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

* [Bug c++/14258] typename in a using declaration reports bogus error
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
                   ` (4 preceding siblings ...)
  2004-03-01  2:10 ` mmitchel at gcc dot gnu dot org
@ 2004-03-18 12:01 ` reichelt at gcc dot gnu dot org
  2004-03-30  1:19 ` [Bug c++/14258] typename in a using declaration not supported giovannibajo at libero dot it
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-03-18 12:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-03-18 12:01 -------
It's not a regression. The code never compiled - in some versions we only
get a warning in addition to the error.
I therefore removed the target milestone.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Severity|critical                    |normal
           Keywords|                            |monitored
      Known to fail|3.4.0 3.5.0                 |2.95.3 3.0.4 3.2.3 3.3.3
                   |                            |3.4.0 3.5.0
      Known to work|3.2 3.3.3                   |
            Summary|[3.4/3.5 Regression]        |typename in a using
                   |typename in a using         |declaration reports bogus
                   |declaration reports bogus   |error
                   |error                       |
   Target Milestone|3.5.0                       |---


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


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

* [Bug c++/14258] typename in a using declaration not supported
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
                   ` (5 preceding siblings ...)
  2004-03-18 12:01 ` [Bug c++/14258] " reichelt at gcc dot gnu dot org
@ 2004-03-30  1:19 ` giovannibajo at libero dot it
  2004-11-18 12:26 ` pinskia at gcc dot gnu dot org
  2005-05-10 17:42 ` pinskia at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: giovannibajo at libero dot it @ 2004-03-30  1:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-03-30 01:19 -------
*** Bug 14778 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org


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


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

* [Bug c++/14258] typename in a using declaration not supported
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
                   ` (6 preceding siblings ...)
  2004-03-30  1:19 ` [Bug c++/14258] typename in a using declaration not supported giovannibajo at libero dot it
@ 2004-11-18 12:26 ` pinskia at gcc dot gnu dot org
  2005-05-10 17:42 ` pinskia at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-18 12:26 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-18 12:25 -------
*** Bug 18541 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |igodard at pacbell dot net


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


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

* [Bug c++/14258] typename in a using declaration not supported
  2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
                   ` (7 preceding siblings ...)
  2004-11-18 12:26 ` pinskia at gcc dot gnu dot org
@ 2005-05-10 17:42 ` pinskia at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-10 17:42 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-05-10 17:42 -------
*** Bug 21484 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |smelkov at mph1 dot phys dot
                   |                            |spbu dot ru


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


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

end of thread, other threads:[~2005-05-10 17:42 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-02-23 13:29 [Bug c++/14258] New: using typename (only when necessary) in a using declaration reports bogus error japple at freeshell dot org
2004-02-23 13:59 ` [Bug c++/14258] [3.3/3.4/3.5 Regression] typename " giovannibajo at libero dot it
2004-02-23 14:00 ` giovannibajo at libero dot it
2004-02-23 14:00 ` [Bug c++/14258] [3.4/3.5 " giovannibajo at libero dot it
2004-02-27 12:47 ` giovannibajo at libero dot it
2004-03-01  2:10 ` mmitchel at gcc dot gnu dot org
2004-03-18 12:01 ` [Bug c++/14258] " reichelt at gcc dot gnu dot org
2004-03-30  1:19 ` [Bug c++/14258] typename in a using declaration not supported giovannibajo at libero dot it
2004-11-18 12:26 ` pinskia at gcc dot gnu dot org
2005-05-10 17:42 ` pinskia at gcc dot gnu dot org

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).