/* Check semantics of various constructs to generate renamed symbols. */ extern int printf (const char *, ...); void target(void); void target(void) { printf("in target function\n"); } void alias_for_target(void) __attribute__((alias("target"))); #ifdef __leading_underscore void asm_for_target(void) __asm__("_target"); #else void asm_for_target(void) __asm__("target"); #endif /* This is not supposed to compile, alias targets must be defined in the same unit. In TCC they even must be defined before the reference void alias_for_undef(void) __attribute__((alias("undefined"))); */ extern void inunit2(void); int main(void) { target(); alias_for_target(); asm_for_target(); inunit2(); return 0; }