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

Roman Divacky rdivacky at freebsd.org
Sat Jul 30 21:08:34 UTC 2011


Why are we compiling our in-tree gcc with assertions enabled in the first
place?

On Sat, Jul 30, 2011 at 05:27:29PM +0000, Martin Matuska wrote:
> Author: mm
> Date: Sat Jul 30 17:27:29 2011
> New Revision: 224523
> URL: http://svn.freebsd.org/changeset/base/224523
> 
> Log:
>   Fix invalid assertion of C++ external static data member declarations
>   as anonymous namespaces are local to the current translation.
>   
>   GCC PR:		c++/33094
>   
>   Reviewed by:	uqs
>   Approved by:	re (kib)
>   Obtained from:	gcc (branches/redhat/gcc-4_1-branch, rev. 129554, GPLv2)
>   MFC after:	1 week
> 
> Modified:
>   head/contrib/gcc/cp/ChangeLog
>   head/contrib/gcc/cp/decl.c
> 
> Modified: head/contrib/gcc/cp/ChangeLog
> ==============================================================================
> --- head/contrib/gcc/cp/ChangeLog	Sat Jul 30 14:13:57 2011	(r224522)
> +++ head/contrib/gcc/cp/ChangeLog	Sat Jul 30 17:27:29 2011	(r224523)
> @@ -1,3 +1,9 @@
> +2007-09-29  Jason Merrill  <jason at 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 at redhat.com>
>  
>  	PR c++/31941
> 
> Modified: head/contrib/gcc/cp/decl.c
> ==============================================================================
> --- head/contrib/gcc/cp/decl.c	Sat Jul 30 14:13:57 2011	(r224522)
> +++ head/contrib/gcc/cp/decl.c	Sat Jul 30 17:27:29 2011	(r224523)
> @@ -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.  */


More information about the svn-src-head mailing list