Changeset 1186 for trunk/testcase/weak/weak3.c
- Timestamp:
- Feb 5, 2004, 5:58:41 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/testcase/weak/weak3.c
-
Property cvs2svn:cvs-rev
changed from
1.5
to1.6
r1185 r1186 2 2 * http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html 3 3 */ 4 #include <stdio.h> 4 5 5 /* GCC Style */ 6 /* GCC Style */ 6 7 int __f () 7 8 { … … 12 13 13 14 /* SUN style */ 14 extern int WeakExternalWithLocalDefault ();15 int LocalDefault( )15 extern int WeakExternalWithLocalDefault_ResolveDefault(void); 16 int LocalDefault(void) 16 17 { 17 return -1;18 return 2; 18 19 } 19 #pragma weak WeakExternalWithLocalDefault = LocalDefault20 #pragma weak WeakExternalWithLocalDefault_ResolveDefault = LocalDefault 20 21 22 extern int ExternalDefault(void); 23 extern int WeakExternalWithExternalDefault_ResolveDefault(void); 24 #pragma weak WeakExternalWithExternalDefault_ResolveDefault = ExternalDefault 21 25 22 /* This doesn't work in GCC, though it's the only thing which works in VAC. */ 23 extern int ExternalDefault(); 24 extern int WeakExternalWithLocalDefault(); 25 #pragma weak WeakExternalWithExternalDefault = ExternalDefault 26 /* resolve weak external (still SUN style) */ 27 extern int WeakExternalWithLocalDefault_ResolveWKEXT(void); 28 #pragma weak WeakExternalWithLocalDefault_ResolveWKEXT = LocalDefault 26 29 30 extern int WeakExternalWithExternalDefault_ResolveWKEXT(void); 31 #pragma weak WeakExternalWithExternalDefault_ResolveWKEXT = ExternalDefault 27 32 28 33 29 34 int main() 30 35 { 31 int rc; 36 int rc = 0; 37 int i; 32 38 33 rc = WeakExternalWithLocalDefault(); 34 rc += WeakExternalWithExternalDefault(); 39 i = f(); 40 if (i != 1) 41 { 42 printf("weak3: f() returned %d expected %d\n", i, 1); 43 rc++; 44 } 45 46 i = WeakExternalWithLocalDefault_ResolveDefault(); 47 if (i != 2) 48 { 49 printf("weak3: WeakExternalWithLocalDefault_ResolveDefault() returned %d expected %d\n", i, 2); 50 rc++; 51 } 52 53 i = WeakExternalWithExternalDefault_ResolveDefault(); 54 if (i != -1) 55 { 56 printf("weak3: WeakExternalWithExternalDefault_ResolveDefault() returned %d expected %d\n", i, -1); 57 rc++; 58 } 59 60 i = WeakExternalWithLocalDefault_ResolveWKEXT(); 61 if (i != -2) 62 { 63 printf("weak3: WeakExternalWithLocalDefault_ResolveWKEXT() returned %d expected %d\n", i, -2); 64 rc++; 65 } 66 67 i = WeakExternalWithExternalDefault_ResolveWKEXT(); 68 if (i != -3) 69 { 70 printf("weak3: WeakExternalWithExternalDefault_ResolveWKEXT() returned %d expected %d\n", i, -3); 71 rc++; 72 } 35 73 36 74 return rc; -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.