public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "gcc dot gnu dot org at chosenones dot dyndns dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/28048] [4.0/4.1/4.2 Regression] ICE on accessing member of dependent name
Date: Fri, 16 Jun 2006 13:06:00 -0000	[thread overview]
Message-ID: <20060616125949.26416.qmail@sourceware.org> (raw)
In-Reply-To: <bug-28048-12836@http.gcc.gnu.org/bugzilla/>



------- Comment #2 from gcc dot gnu dot org at chosenones dot dyndns dot org  2006-06-16 12:59 -------
I'm not entirely sure myself, but:

Section 14.6.7
"When looking for the declaration of a name used in a template function
definition or static data member template definition, the usual lookup rules
_basic.lookup.unqual_, _basic.lookup.koenig_) are used for non-dependent names.
 The lookup of names dependent on the template  arguments  is  postponed  until
 the  actual  template  argument  is known (_temp.dep_)."

Section 14.6.2.3.1 seems to make this a value-dependent expression:
"1 Except as described below, a constant expression is value-dependent if
  any subexpression is value-dependent."

Section 14.6.2.4
"An integral non-type template argument is dependent  if  the  constant
expression it specifies is value-dependent."


So, it seems to be a dependent name, and in other contexts, the lookup of
dependent names is delayed. Also, existing practice and common sense seem to
suggest that this be default. In any case, an ICE is probably not what should
happen.

Comeau C/C++ 4.3.3: Compiles
MSVC 7.1: Compiles

That expression as
-- A static member initializer: Compiles
-- A default function argument: Compiles

A nested type expression of the same form as
-- A base class: Compiles
-- A nested type specifier [typedef]: Compiles
-- Function return type or argument type: Compiles


-- 


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


  parent reply	other threads:[~2006-06-16 12:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-16  2:04 [Bug c++/28048] New: ICC " gcc dot gnu dot org at chosenones dot dyndns dot org
2006-06-16 10:47 ` [Bug c++/28048] ICE " rguenth at gcc dot gnu dot org
2006-06-16 13:06 ` gcc dot gnu dot org at chosenones dot dyndns dot org [this message]
2006-06-16 17:44 ` [Bug c++/28048] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
2006-07-17  2:42 ` mmitchel at gcc dot gnu dot org
2006-07-19  0:35 ` mmitchel at gcc dot gnu dot org
2006-07-19  5:15 ` mmitchel at gcc dot gnu dot org
2006-07-19  5:18 ` [Bug c++/28048] [4.0/4.1 " mmitchel at gcc dot gnu dot org
2006-07-19  6:43 ` [Bug c++/28048] [4.0 " mmitchel at gcc dot gnu dot org
2006-07-19  6:43 ` [Bug c++/28048] [4.0/4.1 " mmitchel at gcc dot gnu dot org
2007-02-03 17:38 ` [Bug c++/28048] [4.0 " gdr at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060616125949.26416.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).