PR3042

Gabriel Dos Reis Gabriel.Dos-Reis@cmla.ens-cachan.fr
Sat Jun 9 19:07:00 GMT 2001


David Edelsohn <dje@watson.ibm.com> writes:

| 	The reason that I see this and the previous implicit template
| instantiation COMDAT issues as different is that "static" is a
| well-defined C and C++ keyword with well-defined semantics.

Whereas "static" is well-defined in C and C++, there is a fundamental
difference in their semantics: static data members have external linkage.

The issue at hand is more about implicit instantiation semantics
implementation than "static" semantics. 

| 	Implicit instantiation is an implementation issue, not a language
| issue.  I make this claim because GNU C++ and other compilers specifically
| provide options like -fno-implicit-templates and -frepo.  There is no
| -fno-implicit-statics flag.

No, implicit instantiation is a -language- issue and when implicit
instantiations occur is specified by the C++ standards.  Those options
you're referring to are implementation issues but they don't make
implicit instantiation not a language issue.

-- Gaby



More information about the Libstdc++ mailing list