4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
30 * Test different inline assignments by various expressions.
32 * SECTION: Type and Constant Definitions/Inlines
34 * NOTES: The commented lines for the floats and doubles should be uncommented
35 * once the functionality is implemented.
39 #
pragma ident
"%Z%%M% %I% %E% SMI"
41 #
pragma D option quiet
44 inline
char new_char
= 'c' + 2;
45 inline
short new_short
= 10 * new_char
;
46 inline
int new_int
= 100 + new_short
;
47 inline
long new_long
= 1234567890;
48 inline
long long new_long_long
= 1234512345 * new_long
;
49 inline int8_t new_int8
= 'p';
50 inline int16_t new_int16
= 20 / new_int8
;
51 inline int32_t new_int32
= 200;
52 inline int64_t new_int64
= 2000000 * (-new_int16
);
53 inline intptr_t new_intptr
= 0x12345 - 129;
54 inline uint8_t new_uint8
= 'q';
55 inline uint16_t new_uint16
= 30 - new_uint8
;
56 inline uint32_t new_uint32
= 300 - 0;
57 inline uint64_t new_uint64
= 3000000;
58 inline uintptr_t new_uintptr
= 0x67890 / new_uint64
;
60 /* inline float new_float = 1.23456;
61 inline double new_double = 2.34567890;
62 inline long double new_long_double = 3.567890123;
65 inline
int * pointer
= &`kmem_flags;
66 inline int result = 3 > 2 ? 3 : 2;
70 printf("new_char: %c\nnew_short: %d\nnew_int: %d\nnew_long: %d\n",
71 new_char, new_short, new_int, new_long);
72 printf("new_long_long: %d\nnew_int8: %d\nnew_int16: %d\n",
73 new_long_long, new_int8, new_int16);
74 printf("new_int32: %d\nnew_int64: %d\n", new_int32, new_int64);
75 printf("new_intptr: %d\nnew_uint8: %d\nnew_uint16: %d\n",
76 new_intptr, new_uint8, new_uint16);
77 printf("new_uint32:%d\nnew_uint64: %d\nnew_uintptr:%d\nresult:%d",
78 new_uint32, new_uint64, new_uintptr, result);