decl.c (make_rtl_for_local_static): Don't create register RTL for addressable constants.

* decl.c (make_rtl_for_local_static): Don't create register RTL
	for addressable constants.

From-SVN: r29945
This commit is contained in:
Mark Mitchell 1999-10-13 16:13:25 +00:00 committed by Mark Mitchell
parent ce74b7d6e8
commit 1f1479dc91
4 changed files with 22 additions and 0 deletions

View File

@ -1,3 +1,8 @@
1999-10-13 Mark Mitchell <mark@codesourcery.com>
* decl.c (make_rtl_for_local_static): Don't create register RTL
for addressable constants.
1999-10-13 Nathan Sidwell <nathan@acm.org>
* cp-tree.h (build_x_va_arg): Prototype new function.

View File

@ -7434,6 +7434,7 @@ make_rtl_for_local_static (decl)
&& ! TREE_PUBLIC (decl)
&& ! DECL_EXTERNAL (decl)
&& ! TYPE_NEEDS_DESTRUCTOR (type)
&& ! TREE_ADDRESSABLE (decl)
&& DECL_MODE (decl) != BLKmode)
{
/* As an optimization, we try to put register-sized static

View File

@ -1,5 +1,6 @@
// Build don't link:
// Origin: Ulrich Drepper <drepper@cygnus.com>
// Special g++ Options: -w
struct st
{

View File

@ -0,0 +1,15 @@
// Build don't link:
// Origin: Raja R Harinath <harinath@cs.umn.edu>
enum ReservedName {
rIGNORE,
rINCLUDE
};
void maybeStatusKeyword()
{
static const ReservedName statusKeywords[] = { rINCLUDE, rIGNORE };
for (int i = 0; i < 2; i++) {
ReservedName r = statusKeywords[i];
}
}