Hi, Has anyone seen this?
When a prototyped function of var-arg is called without any arguments to the variable part, "crxor 6,6,6" is not generated. "-O0 -mno-prototype" does NOT resolve the problem either. --------test.c-------- int test(const char *a, ...); void test1(const char *a) { test(a, 0); } void test2(const char *a) { test(a); } --------test.s-------- .file "test.c" .section ".text" .align 2 .globl test1 .type test1, @function test1: stwu 1,-24(1) mflr 0 stw 31,20(1) stw 0,28(1) mr 31,1 stw 3,8(31) lwz 3,8(31) li 4,0 crxor 6,6,6 <== has it bl test lwz 11,0(1) lwz 0,4(11) mtlr 0 lwz 31,-4(11) mr 1,11 blr .size test1, .-test1 .align 2 .globl test2 .type test2, @function test2: stwu 1,-24(1) mflr 0 stw 31,20(1) stw 0,28(1) mr 31,1 stw 3,8(31) lwz 3,8(31) bl test <== does not have lwz 11,0(1) lwz 0,4(11) mtlr 0 lwz 31,-4(11) mr 1,11 blr .size test2, .-test2 .ident "GCC: (GNU) 3.4.3" __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com