[GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-709-gf271f67d

Richard B. Kreckel kreckel at in.terlu.de
Mon Feb 8 12:20:51 CET 2021


On 08.02.21 12:04, Alexey Sheplyakov wrote:
> On 2/3/21 6:50 PM, Richard B. Kreckel via GiNaC-devel wrote:
> 
>> commit f271f67d2fc798079326e450bc0e53eb80fb2e96
>> Author: Richard Kreckel <kreckel at ginac.de>
>> Date:   Wed Feb 3 14:40:49 2021 +0100
>>
>>      Avoid "instantiation of variable 'reg_info' required..." warning.
>>           With -Wundefined-var-template (on by default), CLang++ warns
>> that
>>      no definition for the static 'reg_info' member variable is
>> available.
>>
> 
> The patch confuses me a bit.
> 
> Firstly, the compiler has complained about missing instantiation,
> and you've provided (an explicit) specialization instead. Yet
> the compiler seems to be happy.
> 
> Secondly this
> 
> /** Definition of container::reg_info for exprseq. */
> template<> registered_class_info exprseq::reg_info;
> 
> is a declaration, not definition. According to 14.7.3.13
> "An explicit specialization of a static data member of a template is
> a definition if the declaration includes an initializer; otherwise,
> it's a declaration."

I was following this advice here
<https://stackoverflow.com/questions/56463004/fixing-warning-wundefined-var-template>.

  -richy.


More information about the GiNaC-devel mailing list