Boost logo

Boost :

Subject: Re: [boost] [timer] May I apply trivial fix?
From: Agustín K-ballo Bergé (kaballo86_at_[hidden])
Date: 2013-08-03 17:26:07


On 03/08/2013 04:45 p.m., Steven Watanabe wrote:
> AMDG
>
> On 08/02/2013 03:33 PM, Agustín K-ballo Bergé wrote:
>> <snip>
>> Doesn't a defaulted function get the access level it would get if
>> implicitly declared? In C++11 mode the singleton constructor and
>> destructor would be public. At least gcc-4.8.1 thinks so:
>> http://ideone.com/FSXqeX
>>
>> <snip>
>>
>> [dcl.fct.def.default]/4:
>> Explicitly-defaulted functions and implicitly-declared functions are
>> collectively called defaulted functions, and the implementation shall
>> provide implicit definitions for them (12.1 12.4, 12.8), which might
>> mean defining them as deleted. (...)
>>
>> [class.ctor]/4: A default constructor for a class X is a constructor of
>> class X that can be called without an argument. If there is no
>> user-declared constructor for class X, a constructor having no
>> parameters is implicitly declared as defaulted (8.4). An
>> implicitly-declared default constructor is an inline **public** member
>> of its class. (...)
>>
>
> I don't see it. This paragraph says nothing about
> explicitly defaulted functions. It very clearly
> states that it applies to *implicitly-declared*
> default constructors
>

I was just looking for something that may justify the way GCC reacts. I
will be happy if this just happens to be a bug in GCC.

Regards,

-- 
Agustín K-ballo Bergé.-
http://talesofcpp.fusionfenix.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk