On 10/19/2010 01:31, Don wrote: > It's not obvious to me how that can be done in the presence of > templates. Although it's easy to distinguish between library and > non-library *files*, it's not at all easy to distinguish between library > and non-library *code*.
Simple. If the template is in a library file, it's library code, regardless of where it was instantiated. Rationale: - If the warning is triggered on every instantiation of the template, then it's obviously the library's problem. - If the warning is triggered on only some template instantiations, the warning is probably spurious. Template instantiations often generate code that would look wrong in isolation, but is actually correct. - If you really want to catch those extra warnings, you can always turn on warnings for library code and shift through the results. You could add a compiler option to enable warning on templates in library code if the template was instantiated in user code, but I personally don't see the point. -- Rainer Deyke - rain...@eldwood.com