This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: PR3042


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]