[Bug sanitizer/64344] New: [5 Regression] [UBSAN] ICE with -fsanitize=float-cast-overflow [ICE in -fsanitize=float-cast-overflow]
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Dec 17 17:25:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64344
Bug ID: 64344
Summary: [5 Regression] [UBSAN] ICE with
-fsanitize=float-cast-overflow [ICE in
-fsanitize=float-cast-overflow]
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: burnus at gcc dot gnu.org
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org,
mpolacek at gcc dot gnu.org
New since today:
$ gcc -w -fsanitize=float-cast-overflow new8.i
new8.i: In function ‘float2long’:
new8.i:11:23: internal compiler error: in -fsanitize=float-cast-overflow
*exponent = (int32 )log((double )value);
^
0x9058fb gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
../../gcc/gimplify.c:8451
For the following program:
/* ----------------------------------------------------------*/
typedef enum {
PARAPROX_Q_EXTRA_FAST = 4
} pthread_cond_t;
extern int drand48_r (struct drand48_data *__restrict __buffer,
int __reject3)
{
}
typedef int int32;
float2long(int32 *mantisse, int32 *exponent, float value)
{
*exponent = (int32 )log((double )value);
}
More information about the Gcc-bugs
mailing list