/* Example on weak aliasing as found in some GCC manual: * http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html */ /* GCC Style */ int __f () { return 1; } int f () __attribute__ ((weak, alias ("__f"))); /* SUN style */ extern int WeakExternalWithLocalDefault(); int LocalDefault() { return -1; } #pragma weak WeakExternalWithLocalDefault = LocalDefault /* This doesn't work in GCC, though it's the only thing which works in VAC. */ extern int ExternalDefault(); extern int WeakExternalWithLocalDefault(); #pragma weak WeakExternalWithExternalDefault = ExternalDefault int main() { int rc; rc = WeakExternalWithLocalDefault(); rc += WeakExternalWithExternalDefault(); return rc; }