diff options
author | Steven Bosscher <stevenb@suse.de> | 2005-09-19 05:04:58 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2005-09-19 05:04:58 +0000 |
commit | 31c304baef95db414d5429ede8767f469a253945 (patch) | |
tree | 9e9a80ed7c0c194680c9e165cc538ad6c898a19f /gcc/testsuite/gcc.dg | |
parent | 02c375d90d4e0b486814c915ee7fe8a47afb4716 (diff) | |
download | gcc-31c304baef95db414d5429ede8767f469a253945.zip gcc-31c304baef95db414d5429ede8767f469a253945.tar.gz gcc-31c304baef95db414d5429ede8767f469a253945.tar.bz2 |
re PR rtl-optimization/23943 (segv in side_effects_p())
gcc/
PR rtl-optimization/23943
* cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
testsuite/
* gcc.dg/pr23943.c: New test.
From-SVN: r104413
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr23943.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr23943.c b/gcc/testsuite/gcc.dg/pr23943.c new file mode 100644 index 0000000..f0e60bf --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr23943.c @@ -0,0 +1,20 @@ +/* This used to ICE in side_effects_p, due to a problem in cse.c. + Origin: marcus at jet dot franken dot de. */ +/* { dg-do compile { target x86_64-*-* } } */ +/* { dg-options "-O2 -fPIC" } */ + +typedef long unsigned int size_t; + +extern size_t strlen (__const char *__s) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + +static char savecallsin[256] = ""; + +int read_agent_config(void) +{ + savecallsin[0] = '\0'; + + if (savecallsin[strlen(savecallsin) - 1] != '/') + __builtin___strncat_chk (savecallsin, "/", sizeof(savecallsin) - strlen(savecallsin) - 1, __builtin_object_size (savecallsin, 2 > 1)) ; + return 0; +} |