[Bug c/37154] New: static inline function problem
wrobell at pld-linux dot org
gcc-bugzilla@gcc.gnu.org
Mon Aug 18 21:05:00 GMT 2008
i am getting SIGSEGV while starting two glib2 applications.
please take a look at glib2/gogject/gsignal.c code:
-----------------
2280 gboolean continue_emission;
2281
2282 if (!accumulator)
2283 return TRUE;
2284
2285 continue_emission = accumulator->func (ihint, return_accu,
handler_return, accumulator->data);
2286 g_value_reset (handler_return);
------------------
gdb claims that problem is at line 2285, variable "accumulator" is 0x0,
which should not happen due to lines 228{2,3}.
the function is declared as 'static inline'. removing inline keyword and
recompilation helps. commmand used to compile gsignal.c file:
--------------------
ppc-pld-linux-gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"GLib-GObject\" -I..
-I../glib -I.. -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED
-DGOBJECT_COMPILATION -DG_DISABLE_CONST_RETURNS -D_FORTIFY_SOURCE=2 -pthread
-O2 -fno-strict-aliasing -fwrapv -fsigned-char -gdwarf-2 -g2 -Wall -MT
gsignal.lo -MD -MP -MF .deps/gsignal.Tpo -c gsignal.c -fPIC -DPIC -o
.libs/gsignal.o
---------------------
--
Summary: static inline function problem
Product: gcc
Version: 4.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wrobell at pld-linux dot org
GCC build triplet: ppc-pld-linux-gcc
GCC host triplet: ppc-pld-linux-gcc
GCC target triplet: ppc-pld-linux-gcc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37154
More information about the Gcc-bugs
mailing list