[Bug c++/30734] New: name conflict between class and namespace name is not recognized

Gabriel Dos Reis gdr@cs.tamu.edu
Thu Feb 8 10:16:00 GMT 2007


"ulrich dot lauther at siemens dot com" <gcc-bugzilla@gcc.gnu.org> writes:

| 1  namespace Foo {
|    2  };
|    3  
|    4  class Foo {
|    5  };
|    6  
|    7  int main() {
|    8    class Foo1 : public Foo {
|    9    };
|   10    Foo1 my_Foo1; 
|   11    Foo my_foo;
|   12    return 0;
|   13  }
|   14  
|   15  
| Foo.C: In function 'int main()':
| Foo.C:11: error: expected primary-expression before 'my_foo'
| Foo.C:11: error: expected `;' before 'my_foo'
| 
| on line 8 and 10, "Foo" is understod asa class name, on line 11 as a namespace
| Without line 11, no error message at all

Line 4 is invalid; the front-end should have issued a diagnostic there.

-- Gaby



More information about the Gcc-bugs mailing list