Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/ada/acats/tests/cxb/cxb30130.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* | |
2 -- CXB30130.C | |
3 -- | |
4 -- Grant of Unlimited Rights | |
5 -- | |
6 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687, | |
7 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained | |
8 -- unlimited rights in the software and documentation contained herein. | |
9 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making | |
10 -- this public release, the Government intends to confer upon all | |
11 -- recipients unlimited rights equal to those held by the Government. | |
12 -- These rights include rights to use, duplicate, release or disclose the | |
13 -- released technical data and computer software in whole or in part, in | |
14 -- any manner and for any purpose whatsoever, and to have or permit others | |
15 -- to do so. | |
16 -- | |
17 -- DISCLAIMER | |
18 -- | |
19 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR | |
20 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED | |
21 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE | |
22 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE | |
23 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A | |
24 -- PARTICULAR PURPOSE OF SAID MATERIAL. | |
25 --* | |
26 -- | |
27 -- FUNCTION NAME: CXB30130 ("square_it") | |
28 -- | |
29 -- FUNCTION DESCRIPTION: | |
30 -- This C function returns the square of num1 through the function | |
31 -- name, and returns the square of parameters num2, num3, and num4 | |
32 -- through the argument list (modifying the objects pointed to by | |
33 -- the parameters). | |
34 -- | |
35 -- INPUTS: | |
36 -- This function requires that four parameters be passed to it. | |
37 -- The types of these parameters are, in order: int, pointer to short, | |
38 -- pointer to float, and pointer to double. | |
39 -- | |
40 -- PROCESSING: | |
41 -- The function will calculate the square of the int parameter (num1), | |
42 -- and return this value as the function result through the function | |
43 -- name. The function will also calculate the square of the values | |
44 -- pointed to by the remaining three parameters (num2, num3, num4), | |
45 -- and will modify the referenced memory locations to contain the | |
46 -- squared values. | |
47 -- | |
48 -- OUTPUTS: | |
49 -- The square of num1 is returned through function name. | |
50 -- Parameters num2-num4 now point to values that are the squared results | |
51 -- of the originally referenced values (i.e., the original values are | |
52 -- modified as a result of this function). | |
53 -- | |
54 -- CHANGE HISTORY: | |
55 -- 12 Oct 95 SAIC Initial prerelease version. | |
56 -- | |
57 --! | |
58 */ | |
59 | |
60 int CXB30130 (int num1, short* num2, float* num3, double* num4) | |
61 | |
62 /* NOTE: The above function definition should be accepted by an ANSI-C */ | |
63 /* compiler. Older C compilers may reject it; they may, however */ | |
64 /* accept the following five lines. An implementation may comment */ | |
65 /* out the above function definition and uncomment the following */ | |
66 /* one. Otherwise, an implementation must provide the necessary */ | |
67 /* modifications to this C code to satisfy the function */ | |
68 /* requirements (see Function Description). */ | |
69 /* */ | |
70 /* int CXB30130 (num1, num2, num3, num4) */ | |
71 /* int num1; */ | |
72 /* short* num2; */ | |
73 /* float* num3; */ | |
74 /* double* num4; */ | |
75 /* */ | |
76 | |
77 { | |
78 int return_value = 0; | |
79 | |
80 return_value = num1 * num1; | |
81 *num2 = *num2 * *num2; /* Return square of these parameters through */ | |
82 *num3 = *num3 * *num3; /* the parameter list. */ | |
83 *num4 = *num4 * *num4; | |
84 | |
85 return (return_value); /* Return square of num1 through function name */ | |
86 } |