This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
target/2247: IA64 compiler ICE with -O2
- To: gcc-gnats at gcc dot gnu dot org
- Subject: target/2247: IA64 compiler ICE with -O2
- From: sje at cup dot hp dot com
- Date: 9 Mar 2001 22:44:16 -0000
- Reply-To: sje at cup dot hp dot com
>Number: 2247
>Category: target
>Synopsis: IA64 compiler ICE with -O2
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Fri Mar 09 14:46:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: sje@cup.hp.com
>Release: 2.97 20010122 (experimental)
>Organization:
>Environment:
IA64 Linux
>Description:
The compiler aborts in flow.c:6592 with the attached
program is compiled with -O2.
>How-To-Repeat:
Compile the program on IA64 Linux with -O2. The compiler
will abort.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="x.c"
Content-Disposition: inline; filename="x.c"
typedef struct variable *DYNAMIC_FUNC ();
typedef struct variable {
char *name;
char *value;
char *exportstr;
DYNAMIC_FUNC *dynamic_value;
DYNAMIC_FUNC *assign_func;
int attributes;
int context;
struct variable *prev_context;
} SHELL_VAR;
extern SHELL_VAR *find_variable (char *);
extern SHELL_VAR *find_tempenv_variable (char *);
extern int array_needs_making;
void
set_var_attribute (name, attribute, undo)
char *name;
int attribute, undo;
{
SHELL_VAR *var, *tv;
if (undo)
var = find_variable (name);
else
tv = find_tempenv_variable (name);
if (var)
((undo == 0) ? ((var)->attributes |= (attribute)) :
((var)->attributes &= ~(attribute)));
if (var && ((var)->attributes) & (0x001))
array_needs_making++;
}