Nice surprise with C++11

Daniel Gutson daniel.gutson at tallertechnologies.com
Fri Jul 31 12:51:00 UTC 2015


El 31/7/2015 2:37, "Sebastian Huber" <sebastian.huber at embedded-brains.de>
escribió:
>
> Hello Daniel,

Hello Sebastian.

>
>
> On 30/07/15 17:26, Daniel Gutson wrote:
>>
>> On Thu, Jul 30, 2015 at 11:31 AM, Daniel Gutson
>> <daniel.gutson at tallertechnologies.com>  wrote:
>>>
>>> >
>>> >El 30/7/2015 11:27, "Joel Sherrill"<joel.sherrill at oarcorp.com>
escribió:
>>>>
>>>> >>
>>>> >>
>>>> >>
>>>> >>On 7/30/2015 9:08 AM, Daniel Gutson wrote:
>>>>>
>>>>> >>>
>>>>> >>>IOW, I think that the double parens is only for decltype.
>>>>
>>>> >>
>>>> >>
>>>> >>Historical convention is to put parens around variable names
>>>> >>in macros. What type of impact does this have?
>>>
>>> >
>>> >If what I think is correct, then the impact os none since this a bug.
But I
>>> >will look at it deeper once I arrive to the office in 1h. I will try
with
>>> >different versions of gcc and clang and look into the C++ standard. So
far
>>> >the (()) seems to be a decltype only thing, so this would be a
frontend bug.
>>
>> As I mentioned in the bugzilla, I think this is a bug of the front-end
>> (since I could not reproduce
>> it in earlier versions of g++ (4.8.4) and clang (3.5)). I already
>> asked Ville Voutilainen and Jens Maurer
>> (from the C++ Committee) to look into it. I will let you know.
>
>
> thanks for looking at this issue. Is this really a problem within the
scope of the standard?

The bug has been introduced when implementing the new rules related to
decltype in C++14. Indeed the code has something like 'if (cxxversion <
CPP14) return;' meaning that the newly (faulty) introduced code is not
executed when running previous std versions: that's why -std=c++11 should
work (the problem is that g++ 6 defaults to c++14).

>The global register variables are GCC specific.

Yes, a GNU C extension.

> Is it possible to construct objects without an address via plain C++?

Sorry I don't understand the question. Rephrase please?

Global objects and objects of static storage duration don't take an address.

>
>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax     : +49 89 189 47 41-09
> E-Mail  : sebastian.huber at embedded-brains.de
> PGP     : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20150731/e35b4217/attachment-0002.html>


More information about the devel mailing list