source: branches/libc-0.6/testcase/weak/weak3-main.c@ 2509

Last change on this file since 2509 was 1191, checked in by bird, 22 years ago

more/fixed.

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1/* Example on weak aliasing as found in some GCC manual:
2 * http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
3 */
4#include <stdio.h>
5
6/* GCC Style */
7int __f ()
8{
9 return 1;
10}
11int f () __attribute__ ((weak, alias ("__f")));
12
13
14/* SUN style */
15extern int WeakExternalWithLocalDefault_ResolveDefault(void);
16int LocalDefault(void)
17{
18 return 2;
19}
20#pragma weak WeakExternalWithLocalDefault_ResolveDefault = LocalDefault
21
22extern int ExternalDefault(void);
23extern int WeakExternalWithExternalDefault_ResolveDefault(void);
24#pragma weak WeakExternalWithExternalDefault_ResolveDefault = ExternalDefault
25
26/* resolve weak external (still SUN style) */
27extern int WeakExternalWithLocalDefault_ResolveWKEXT(void);
28#pragma weak WeakExternalWithLocalDefault_ResolveWKEXT = LocalDefault
29
30#if 0 /* BROKEN_GAS */
31extern int WeakExternalWithExternalDefault_ResolveWKEXT(void);
32#pragma weak WeakExternalWithExternalDefault_ResolveWKEXT = ExternalDefault
33#endif
34
35
36int main()