* [Bug middle-end/27260] [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
@ 2006-04-22 11:04 ` rguenth at gcc dot gnu dot org
2006-04-22 11:15 ` rguenth at gcc dot gnu dot org
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-04-22 11:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2006-04-22 11:04 -------
Testcase:
typedef unsigned int size_t;
typedef void *ClientData;
typedef struct Tcl_Interp { } Tcl_Interp;
extern char *addRE;
extern char *rmRE;
extern char *aproposRE;
typedef struct _mod_trace { char **re_ptr; } ModTrace;
static char module_name[] = "cmdTrace.c";
static char _all_off[] = "-.*";
static ModTrace TraceSelect[] = {
{ &addRE, "load", _all_off, 0 }
, { &rmRE, "unload", _all_off, 0 }
, { &aproposRE, "apropos", _all_off, 0 }
};
int cmdModuleTrace( ClientData client_data, Tcl_Interp *interp, int
argc, char *argv[]) {
int i, k;
int cmd_tab_size;
char *cmd_table;
cmd_tab_size = sizeof( TraceSelect) / sizeof( TraceSelect[ 0]);
if((char *) ((void *)0) == (cmd_table = (char *) malloc( cmd_tab_size)))
return((0 == Module_Error( 70, module_name, 306, ((void *)0))) ? 0 :
1); (__builtin_constant_p (cmd_tab_size) && (cmd_tab_size) == 0 ?
(__warn_memset_zero_len (), (void) (!i), (void) (cmd_tab_size), (void *)
(cmd_table)) : ((__builtin_object_size (cmd_table, 0) != (size_t) -1) ?
__builtin___memset_chk (cmd_table, !i, cmd_tab_size, __builtin_object_size
(cmd_table, 0)) : __memset_ichk (cmd_table, !i, cmd_tab_size)));
}
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amodra at bigpond dot net
| |dot au
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
2006-04-22 11:04 ` [Bug middle-end/27260] " rguenth at gcc dot gnu dot org
@ 2006-04-22 11:15 ` rguenth at gcc dot gnu dot org
2006-04-22 13:08 ` rguenth at gcc dot gnu dot org
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-04-22 11:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from rguenth at gcc dot gnu dot org 2006-04-22 11:15 -------
More reduced testcase:
void cmdModuleTrace(int i)
{
char *cmd_table;
cmd_table = (char *) __builtin_malloc( 3);
__builtin_memset (cmd_table, !i, 3);
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
2006-04-22 11:04 ` [Bug middle-end/27260] " rguenth at gcc dot gnu dot org
2006-04-22 11:15 ` rguenth at gcc dot gnu dot org
@ 2006-04-22 13:08 ` rguenth at gcc dot gnu dot org
2006-04-22 13:12 ` aj at gcc dot gnu dot org
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-04-22 13:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2006-04-22 13:08 -------
The problem is we expand the value in QI mode because of
val = builtin_save_expr (val);
len = builtin_save_expr (len);
len_rtx = expand_expr (len, NULL_RTX, VOIDmode, 0);
dest_mem = get_memory_rtx (dest, len);
if (TREE_CODE (val) != INTEGER_CST)
{
tree cval;
rtx val_rtx;
cval = fold_build1 (CONVERT_EXPR, unsigned_char_type_node, val);
val_rtx = expand_expr (cval, NULL_RTX, VOIDmode, 0);
The "easiest" solution is something like
Index: gcc/builtins.c
===================================================================
*** gcc/builtins.c (revision 113168)
--- gcc/builtins.c (working copy)
*************** expand_builtin_memset (tree arglist, rtx
*** 3437,3442 ****
--- 3437,3443 ----
/* Stabilize the arguments in case we fail. */
dest = builtin_save_expr (dest);
val = builtin_save_expr (val);
+ expand_expr (val, NULL_RTX, VOIDmode, 0);
len = builtin_save_expr (len);
len_rtx = expand_expr (len, NULL_RTX, VOIDmode, 0);
which forces expansion in the original mode. This may be not the best fix
though, as we then get (subreg:QI (reg:SI)) for the expansion of cval.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (2 preceding siblings ...)
2006-04-22 13:08 ` rguenth at gcc dot gnu dot org
@ 2006-04-22 13:12 ` aj at gcc dot gnu dot org
2006-04-22 13:19 ` [Bug middle-end/27260] [4.1/4.2 " rguenth at gcc dot gnu dot org
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: aj at gcc dot gnu dot org @ 2006-04-22 13:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from aj at gcc dot gnu dot org 2006-04-22 13:12 -------
The original ICE happens on PPC and IA64. I have not checked whether the
reduced testcase ICEs on both.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1/4.2 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (3 preceding siblings ...)
2006-04-22 13:12 ` aj at gcc dot gnu dot org
@ 2006-04-22 13:19 ` rguenth at gcc dot gnu dot org
2006-04-22 15:40 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-04-22 13:19 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from rguenth at gcc dot gnu dot org 2006-04-22 13:19 -------
Testcase also fails on mainline x86_64 with -Os.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
GCC target triplet|powerpc-linux |
Summary|[4.1 Regression] ICE in |[4.1/4.2 Regression] ICE in
|expand_expr_real_1, at |expand_expr_real_1, at
|expr.c:6750 |expr.c:6750
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1/4.2 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (4 preceding siblings ...)
2006-04-22 13:19 ` [Bug middle-end/27260] [4.1/4.2 " rguenth at gcc dot gnu dot org
@ 2006-04-22 15:40 ` pinskia at gcc dot gnu dot org
2006-04-22 20:22 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-04-22 15:40 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Severity|normal |blocker
Known to fail| |4.1.1 4.2.0
Known to work| |4.1.0
Target Milestone|--- |4.1.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1/4.2 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (5 preceding siblings ...)
2006-04-22 15:40 ` pinskia at gcc dot gnu dot org
@ 2006-04-22 20:22 ` pinskia at gcc dot gnu dot org
2006-04-24 13:18 ` amodra at bigpond dot net dot au
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-04-22 20:22 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pinskia at gcc dot gnu dot org 2006-04-22 20:22 -------
Confirmed.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-04-22 20:22:17
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1/4.2 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (6 preceding siblings ...)
2006-04-22 20:22 ` pinskia at gcc dot gnu dot org
@ 2006-04-24 13:18 ` amodra at bigpond dot net dot au
2006-04-26 13:45 ` patchapp at dberlin dot org
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: amodra at bigpond dot net dot au @ 2006-04-24 13:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from amodra at bigpond dot net dot au 2006-04-24 13:18 -------
I'll look at it in the morning. I've been away this (extended) weekend,
without email access.
--
amodra at bigpond dot net dot au changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |amodra at bigpond dot net
|dot org |dot au
Status|NEW |ASSIGNED
Last reconfirmed|2006-04-22 20:22:17 |2006-04-24 13:18:44
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1/4.2 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (7 preceding siblings ...)
2006-04-24 13:18 ` amodra at bigpond dot net dot au
@ 2006-04-26 13:45 ` patchapp at dberlin dot org
2006-04-28 3:41 ` amodra at gcc dot gnu dot org
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: patchapp at dberlin dot org @ 2006-04-26 13:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from patchapp at dberlin dot org 2006-04-26 13:45 -------
Subject: Bug number PR27260
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00989.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1/4.2 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (8 preceding siblings ...)
2006-04-26 13:45 ` patchapp at dberlin dot org
@ 2006-04-28 3:41 ` amodra at gcc dot gnu dot org
2006-04-29 4:02 ` [Bug middle-end/27260] [4.1 " pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: amodra at gcc dot gnu dot org @ 2006-04-28 3:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from amodra at gcc dot gnu dot org 2006-04-28 03:41 -------
Subject: Bug 27260
Author: amodra
Date: Fri Apr 28 03:41:34 2006
New Revision: 113341
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113341
Log:
gcc/
PR middle-end/27260
* builtins.c (expand_builtin_memset): Expand val in original mode.
gcc/testsuite/
PR middle-end/27260
* gcc.c-torture/execute/pr27260.c: New.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr27260.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (9 preceding siblings ...)
2006-04-28 3:41 ` amodra at gcc dot gnu dot org
@ 2006-04-29 4:02 ` pinskia at gcc dot gnu dot org
2006-05-08 6:13 ` amodra at gcc dot gnu dot org
2006-05-08 6:14 ` amodra at bigpond dot net dot au
12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-04-29 4:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from pinskia at gcc dot gnu dot org 2006-04-29 04:02 -------
Fixed at least on the mainline.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail|4.1.1 4.2.0 |4.1.1
Known to work|4.1.0 |4.1.0 4.2.0
Summary|[4.1/4.2 Regression] ICE in |[4.1 Regression] ICE in
|expand_expr_real_1, at |expand_expr_real_1, at
|expr.c:6750 |expr.c:6750
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (10 preceding siblings ...)
2006-04-29 4:02 ` [Bug middle-end/27260] [4.1 " pinskia at gcc dot gnu dot org
@ 2006-05-08 6:13 ` amodra at gcc dot gnu dot org
2006-05-08 6:14 ` amodra at bigpond dot net dot au
12 siblings, 0 replies; 14+ messages in thread
From: amodra at gcc dot gnu dot org @ 2006-05-08 6:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from amodra at gcc dot gnu dot org 2006-05-08 06:13 -------
Subject: Bug 27260
Author: amodra
Date: Mon May 8 06:13:23 2006
New Revision: 113623
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113623
Log:
PR middle-end/27260
* builtins.c (expand_builtin_memset): Expand val in original mode.
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/builtins.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/27260] [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750
2006-04-22 11:03 [Bug middle-end/27260] New: [4.1 Regression] ICE in expand_expr_real_1, at expr.c:6750 rguenth at gcc dot gnu dot org
` (11 preceding siblings ...)
2006-05-08 6:13 ` amodra at gcc dot gnu dot org
@ 2006-05-08 6:14 ` amodra at bigpond dot net dot au
12 siblings, 0 replies; 14+ messages in thread
From: amodra at bigpond dot net dot au @ 2006-05-08 6:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from amodra at bigpond dot net dot au 2006-05-08 06:14 -------
Patch commited to 4.1
--
amodra at bigpond dot net dot au changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27260
^ permalink raw reply [flat|nested] 14+ messages in thread