1*b725ae77Skettenis #include <stdio.h> 2*b725ae77Skettenis 3*b725ae77Skettenis #ifdef PROTOTYPES callee(int x)4*b725ae77Skettenisint callee (int x) 5*b725ae77Skettenis #else 6*b725ae77Skettenis int callee( x ) 7*b725ae77Skettenis int x; 8*b725ae77Skettenis #endif 9*b725ae77Skettenis { 10*b725ae77Skettenis int y = x * x; 11*b725ae77Skettenis return (y - 2); 12*b725ae77Skettenis } 13*b725ae77Skettenis main()14*b725ae77Skettenisint main() 15*b725ae77Skettenis { 16*b725ae77Skettenis int i; 17*b725ae77Skettenis for (i = 1; i < 10; i++) 18*b725ae77Skettenis { 19*b725ae77Skettenis printf( "%d ", callee( i )); 20*b725ae77Skettenis 21*b725ae77Skettenis } 22*b725ae77Skettenis printf( " Goodbye!\n" ); 23*b725ae77Skettenis return 0; 24*b725ae77Skettenis } 25*b725ae77Skettenis /* This routine exists only for aCC. The way we compile this test is 26*b725ae77Skettenis that we use aCC for the actual compile into the object file but then 27*b725ae77Skettenis use ld directly for the link. When we do this, we get an undefined 28*b725ae77Skettenis symbol _main(). Therefore, for aCC, we have this routine in here and 29*b725ae77Skettenis ld is happy. */ 30*b725ae77Skettenis 31*b725ae77Skettenis #ifdef __cplusplus 32*b725ae77Skettenis extern "C" { _main()33*b725ae77Skettenisvoid _main() 34*b725ae77Skettenis { 35*b725ae77Skettenis } 36*b725ae77Skettenis } 37*b725ae77Skettenis #endif 38