http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47141
Summary: segfault Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: reg...@cs.utah.edu CC: cheny...@cs.utah.edu Searching on "Segmentation fault" in the bugzilla returns hundreds of matches so I can't really verify this is new, sorry! But at least it's a small testcase :). Valgrind talks about a read past the bound of a malloc'd block and also about a null ptr dereference -- hard to tell what is the real problem. [reg...@gamow tmp435]$ current-gcc -c small.c -O2 small.c: In function 'func_115': small.c:30:1: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [reg...@gamow tmp435]$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r168380-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/compiler-install/gcc-r168380-install --program-prefix=r168380- --enable-languages=c,c++ Thread model: posix gcc version 4.6.0 20101231 (experimental) (GCC) [reg...@gamow tmp435]$ cat small.c typedef signed char int8_t; typedef int int32_t; typedef unsigned int uint32_t; static uint32_t safe_add_func_uint32_t_u_u (uint32_t ui1, uint32_t ui2) { return ui1 + ui2; }; int8_t *const func_112 (int32_t * p_113, int8_t p_114) { func_115 (func_115, 0); return 0; } int32_t func_115 (uint32_t p_116, uint32_t p_117, int8_t * p_118) { int32_t l_141; int32_t *l_186 = &l_141; if (l_141) { } else for (l_141 = 0; l_141; l_141 = safe_add_func_uint32_t_u_u (l_141, 1)) { } return *l_186; }