Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Oct 2015 19:58:57 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r289150 - head/contrib/gcc/cp
Message-ID:  <201510111958.t9BJwvuI069443@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510111958.t9BJwvuI069443>