Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Aug 2011 07:01:16 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r224671 - stable/7/contrib/gcc/cp
Message-ID:  <201108060701.p7671G26039455@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Sat Aug  6 07:01:16 2011
New Revision: 224671
URL: http://svn.freebsd.org/changeset/base/224671

Log:
  MFC r224523, r224524:
  
  MFC r224523:
  Fix invalid assertion of C++ external static data member declarations
  as anonymous namespaces are local to the current translation.
  
  MFC r224524:
  Fix accidential dos-style endings to unix-style line endings
  from last commit (r224523) to match the version approved by re@
  
  GCC PR:		c++/33094
  
  Reviewed by:	uqs
  Obtained from:	gcc (branches/redhat/gcc-4_1-branch, rev. 129554, GPLv2)

Modified:
  stable/7/contrib/gcc/cp/ChangeLog
  stable/7/contrib/gcc/cp/decl.c
Directory Properties:
  stable/7/contrib/gcc/   (props changed)

Modified: stable/7/contrib/gcc/cp/ChangeLog
==============================================================================
--- stable/7/contrib/gcc/cp/ChangeLog	Sat Aug  6 07:00:26 2011	(r224670)
+++ stable/7/contrib/gcc/cp/ChangeLog	Sat Aug  6 07:01:16 2011	(r224671)
@@ -1,3 +1,9 @@
+2007-09-29  Jason Merrill  <jason@redhat.com>
+
+	PR c++/33094
+	* decl.c (make_rtl_for_nonlocal_decl): It's ok for a member
+	constant to not have DECL_EXTERNAL if it's file-local.
+
 2007-08-24  Jakub Jelinek  <jakub@redhat.com>
 
 	PR c++/31941

Modified: stable/7/contrib/gcc/cp/decl.c
==============================================================================
--- stable/7/contrib/gcc/cp/decl.c	Sat Aug  6 07:00:26 2011	(r224670)
+++ stable/7/contrib/gcc/cp/decl.c	Sat Aug  6 07:01:16 2011	(r224671)
@@ -4968,7 +4968,7 @@ make_rtl_for_nonlocal_decl (tree decl, t
       /* An in-class declaration of a static data member should be
 	 external; it is only a declaration, and not a definition.  */
       if (init == NULL_TREE)
-	gcc_assert (DECL_EXTERNAL (decl));
+	gcc_assert (DECL_EXTERNAL (decl) || !TREE_PUBLIC (decl));
     }
 
   /* We don't create any RTL for local variables.  */



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