http://llvm.org/bugs/show_bug.cgi?id=6553
Douglas Gregor <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID --- Comment #4 from Douglas Gregor <[email protected]> 2010-03-09 15:23:22 CST --- (In reply to comment #3) > (In reply to comment #2) > > (In reply to comment #0) > > > The folowing code compiles fine with g++, clang++ wants fooNum to be > > > qualified > > > (Foo<T>::fooNum). > > > > > > > In [temp.dep] (14.7.2 in n3000), it says: > > > > In an expression of the form: > > > > postfix-expression ( expression-listopt ) > > > > where the postfix-expression is an unqualified-id but not a > > template-id, > > the unqualified-id denotes a dependent name if and only if any of the > > expressions in the expression-list is a type-dependent expression > > (14.7.2.2). > > > > 14.6.2 in C++03 has similar wording. > > > > My interpretation of that is that "getNum()" is not dependant, since the > > empty > > expression list is not type-dependent, and thus "fooNum(getNum())" is also > > not > > dependant, since its expression list isn't type-dependent. > > I don't think the issue is either of these expressions being dependent (and I > agree getNum() is clearly fine), it's that the base class is dependent. That > means an unqualified name cannot look into the base class and find a member > function. I would expect the fix to be calling "this->fooNum(getNum())" to > clarify that this is a member function call (as opposed to calling a function > at namespace scope). Perhaps there is something that makes this case special > that I'm missing though. Chandler is correct. fooNum() in the base class is not visible, and since getNum() is not type-dependent , fooNum is not a dependent name. GCC is wrong to permit this code. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
