Doc question: is "templatized" a word?

Sandra Loosemore sandra@codesourcery.com
Sat Feb 11 20:36:00 GMT 2017


On 02/11/2017 06:21 AM, Jonathan Wakely wrote:
> On 11 February 2017 at 08:48, Gerald Pfeifer wrote:
>> On Fri, 10 Feb 2017, Sandra Loosemore wrote:
>>> The documentation for -Wno-non-template-friend refers to "non-templatized
>>> friend functions" and "templatized functions".  I don't see the term
>>> "templatized" used anywhere in the C++ standard.  This paragraph also uses
>>> "nontemplate function", which I assume refers to the same thing the C++
>>> standard spells "non-template function".  So does "non-templatized function"
>>> also mean "non-template function"?  Or does it have some other meaning?
>>
>> I would avoid "templatized" and believe "non-template function" is
>> more appropriate in your example.
>
> Yes,
>
> s/non-templatized/non-template/
> s/nontemplate/non-template/
> s/templatized function/function template/
>
> But I wonder if that warning is even useful nowadays. The example of
> "friend foo(int);" is bogus and is correctly rejected:
>
> fr.cc:2:17: error: ISO C++ forbids declaration of ‘foo’ with no type
> [-fpermissive]
>     friend foo(int);
>                   ^

I hadn't actually gotten that far :-) but it looks like that's an 
implicit-int error unrelated to the actual purpose of this option.

This ended up on my todo list firstly because "templatized" didn't 
spell-check, and secondly because the "new compiler behavior" documented 
in connection with this option has existed at least since 1998 and can 
hardly be considered "new" any more.  Also I think the reference to 
section 14.5.3 of the C++ standard is bit-rotten (it's 14.5.4 in the 
c++0x draft I have handy).

I'll leave it up to the C++ experts to decide whether the option should 
just be removed and the warning replaced with a hard error controlled by 
some other flag.  Otherwise the docs for this option need to be 
rewritten to explain what it does without reference to ancient changes 
in G++ from before templates were fully implemented.  I can take a stab 
at that if nobody else offers up some alternative text first.

-Sandra



More information about the Gcc mailing list