------- Comment #4 from aldot at gcc dot gnu dot org 2008-01-31 14:47 ------- Smaller testcase: ----------------------------------- $ cat pr35034-1.c /* PR 35034 - fails to mangle function names for different TUs. */ /* { dg-do compile } */ /* { dg-options "-combine -O0" } */ /* { dg-additional-sources pr35034-2.c } */ typedef int int_t;
static void size_of_encoded_value (void) { }; extern int pthread_once (int_t *__once_control, void (*__init_routine) (void)); static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); ----------------------------------- $ cat pr35034-2.c void size_of_encoded_value (void) { }; ----------------------------------- Gives with current trunk: $ gcc-4.3-HEAD pr35034-1.c pr35034-2.c -O0 -c -o foo.o -combine -pipe {standard input}: Assembler messages: {standard input}:12: Error: symbol `size_of_encoded_value' is already defined $ gcc-4.3-HEAD pr35034-1.c pr35034-2.c -O0 -S -o - -combine -pipe .file "pr35034-1.c" .text .type size_of_encoded_value, @function size_of_encoded_value: pushl %ebp movl %esp, %ebp popl %ebp ret .size size_of_encoded_value, .-size_of_encoded_value .globl size_of_encoded_value .type size_of_encoded_value, @function size_of_encoded_value: pushl %ebp movl %esp, %ebp popl %ebp ret .size size_of_encoded_value, .-size_of_encoded_value .weakref __gthrw_pthread_once,pthread_once .ident "GCC: (GNU) 4.3.0 20080131 (experimental)" .section .note.GNU-stack,"",@progbits -- aldot at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |build, wrong-code Known to fail| |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35034