svn commit: r289150 - head/contrib/gcc/cp

Pedro Giffuni pfg at FreeBSD.org
Mon Oct 12 01:55:48 UTC 2015



On 11/10/2015 07:20 p.m., Adrian Chadd wrote:
> Heya!
>
> How'd you test this? Sean is reporting (on irc) there's some weirdness
> after this commit.

Hmm... I only rebuilt it and ran minimal tests in my box.
It only looked imporant for mesa.

I will revert to investigate, thanks for the report.

Pedro.

>
> -a
>
>
> On 11 October 2015 at 12:58, Pedro F. Giffuni <pfg at freebsd.org> wrote:
>> Author: pfg
>> Date: Sun Oct 11 19:58:57 2015
>> New Revision: 289150
>> URL: https://svnweb.freebsd.org/changeset/base/289150
>>
>> Log:
>>    Correct handling of enum attributes with g++
>>
>>    From OpenBSD's commit log:
>>
>>    This was responsible for memory corruption with recent versions
>>    of Mesa where c and c++ code share a header with a packed enum type.
>>
>>    Reference:
>>    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39219
>>
>>    Obtained from:        OpenBSD (CVS rev. 1.2)
>>    MFC after:    1 week
>>
>> Modified:
>>    head/contrib/gcc/cp/parser.c
>>
>> Modified: head/contrib/gcc/cp/parser.c
>> ==============================================================================
>> --- head/contrib/gcc/cp/parser.c        Sun Oct 11 19:30:09 2015        (r289149)
>> +++ head/contrib/gcc/cp/parser.c        Sun Oct 11 19:58:57 2015        (r289150)
>> @@ -10906,6 +10906,7 @@ cp_parser_enum_specifier (cp_parser* par
>>     if (cp_parser_allow_gnu_extensions_p (parser))
>>       {
>>         tree trailing_attr = cp_parser_attributes_opt (parser);
>> +      trailing_attr = chainon (trailing_attr, attributes);
>>         cplus_decl_attributes (&type,
>>                               trailing_attr,
>>                               (int) ATTR_FLAG_TYPE_IN_PLACE);
>>



More information about the svn-src-head mailing list