1239385Smm/*
2239385Smm * CDDL HEADER START
3239385Smm *
4239385Smm * This file and its contents are supplied under the terms of the
5239385Smm * Common Development and Distribution License ("CDDL"), version 1.0.
6239385Smm * You may only use this file in accordance with the terms of version
7239385Smm * 1.0 of the CDDL.
8239385Smm *
9239385Smm * A full copy of the text of the CDDL should have accompanied this
10239385Smm * source.  A copy of the CDDL is also available via the Internet at
11239385Smm * http://www.illumos.org/license/CDDL.
12239385Smm *
13239385Smm * CDDL HEADER END
14239385Smm */
15239385Smm
16239385Smm/*
17239385Smm * Copyright (c) 2012 by Delphix. All rights reserved.
18239385Smm */
19239385Smm
20239385Smm/*
21239385Smm * Test compile-time casting between integer types of different size.
22239385Smm */
23239385Smm
24239385Smm#pragma D option quiet
25239385Smm
26239385Smmint64_t x;
27239385Smm
28239385SmmBEGIN
29239385Smm{
30239385Smm	x = (int32_t)(int16_t)0xfff0;
31239385Smm	printf("%16x %20d %20u\n", x, x, x);
32239385Smm	x = (int32_t)(uint16_t)0xfff0;
33239385Smm	printf("%16x %20d %20u\n", x, x, x);
34239385Smm	x = (uint32_t)(int16_t)0xfff0;
35239385Smm	printf("%16x %20d %20u\n", x, x, x);
36239385Smm	x = (uint32_t)(uint16_t)0xfff0;
37239385Smm	printf("%16x %20d %20u\n", x, x, x);
38239385Smm	printf("\n");
39239385Smm
40239385Smm	x = (int16_t)(int32_t)0xfff0;
41239385Smm	printf("%16x %20d %20u\n", x, x, x);
42239385Smm	x = (int16_t)(uint32_t)0xfff0;
43239385Smm	printf("%16x %20d %20u\n", x, x, x);
44239385Smm	x = (uint16_t)(int32_t)0xfff0;
45239385Smm	printf("%16x %20d %20u\n", x, x, x);
46239385Smm	x = (uint16_t)(uint32_t)0xfff0;
47239385Smm	printf("%16x %20d %20u\n", x, x, x);
48239385Smm
49239385Smm	exit(0);
50239385Smm}
51