dyld-635.2.tar.gz
[apple/dyld.git] / unit-tests / test-cases / lazy-pointer-binding / main.c
1 /*
2 * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23 #include <stdbool.h>
24 #include <stdio.h> // fprintf(), NULL
25 #include <stdlib.h> // exit(), EXIT_SUCCESS
26 #include <dlfcn.h>
27
28 #include "test.h" // PASS(), FAIL(), XPASS(), XFAIL()
29
30 extern bool floattest(double p1, float p2, double p3, float p4, double p5, float p6,
31 double p7, float p8, double p9, float p10, double p11, float p12,
32 double p13, float p14);
33
34 extern bool inttest(long long p1, long long p2, long long p3, long long p4, long long p5);
35
36
37
38 int main()
39 {
40 if ( ! floattest(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0) ) {
41 FAIL("lazy-pointer-binding float parameters");
42 return EXIT_SUCCESS;
43 }
44
45 if ( ! inttest(0x100000002, 0x300000004, 0x500000006, 0x700000008, 0x90000000A) ) {
46 FAIL("lazy-pointer-binding int parameters");
47 return EXIT_SUCCESS;
48 }
49
50 PASS("lazy-pointer-binding");
51 return EXIT_SUCCESS;
52 }