Boost logo

Boost :

From: Tobias Schwinger (tschwinger_at_[hidden])
Date: 2005-06-21 07:15:53


John Maddock wrote:
>>GCC Bug 8503
>>------------
>>
>>during the Function Types review there was a report about GCC 3.2 warnings
>>"volatile qualified function" (remove_cv on a function).
>>
>>It seems it's http://gcc.gnu.org/bugzilla/show_bug.cgi?8503. According to
>>the
>>GCC-Bugzilla, John's watching it - probably even the reporter.
>>However, it seems it's currently not addressed by TypeTraits, so I wrote a
>>preliminary patch to work around it (see attached file).
>>Thanks to Jody Hadins for helping tracking it.
>
>
> I don't have a copy of gcc-3.2 set up at present to test with, can this wait
> until after the release?
>

Of course. I just wanted to have it said before I forget.

That is, as long as /you/ can live with it (as the cv traits may return wrong
results on functions for the affected versions).

For 3.2 the test suite passes (using the corrected patch in the follow-up), but
__GNUC_MINOR__ < 2 should be tested too.

>
>>is_aggregate == "is_class_or_union"
>>------------------------------------
>>
>>Not that I currently need it -- but shouldn't there be a public one like
>>this,
>>at least for completeness ?
>
>
> Ummm, an aggregate has special meaning in the std, and it's *not* the same
> as "is_class_or_union"; an aggregate is a type that can be initialised with
> an initializer list:

Just read 8.5.1... Sorry, I was mislead by these GCC diagnostic messages:

     struct X : my_not_class_not_union ... // "non-aggregate not ok" (or so)
     struct Y : my_union // "use aggregate but no union" (or so)

A "publicly accessible is_class_or_union" would still be a good idea, IMO...

>
> MyAgg f = { a, b, c, };
>
> There's also no way to implement it as far as I know, not that that's
> stopped us before mind you ;-)
>

...but 'is_aggregate' a very bad name for it.

Regards,

Tobias


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