1 /* 2 * CDDL HEADER START 3 * 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. 7 * 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. 12 * 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] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #pragma ident "%Z%%M% %I% %E% SMI" 28 29 /* 30 * ASSERTION: 31 * Test printf() with simple integer arguments, using a variety of 32 * sizes and thereby exercise the automatic size extension feature. 33 * 34 * SECTION: Output Formatting/printf() 35 * 36 */ 37 38 #pragma D option quiet 39 40 BEGIN 41 { 42 printf("\n%d\n", (char)0x1234567890abcdef); 43 printf("%d\n", (short)0x1234567890abcdef); 44 printf("%d\n", (int)0x1234567890abcdef); 45 printf("%d\n", (long long)0x1234567890abcdef); 46 47 printf("\n%d\n", (unsigned char)0x1234567890abcdef); 48 printf("%d\n", (unsigned short)0x1234567890abcdef); 49 printf("%d\n", (unsigned int)0x1234567890abcdef); 50 printf("%d\n", (unsigned long long)0x1234567890abcdef); 51 52 printf("\n%u\n", (char)0x1234567890abcdef); 53 printf("%u\n", (short)0x1234567890abcdef); 54 printf("%u\n", (int)0x1234567890abcdef); 55 printf("%u\n", (long long)0x1234567890abcdef); 56 57 printf("\n%u\n", (unsigned char)0x1234567890abcdef); 58 printf("%u\n", (unsigned short)0x1234567890abcdef); 59 printf("%u\n", (unsigned int)0x1234567890abcdef); 60 printf("%u\n", (unsigned long long)0x1234567890abcdef); 61 62 printf("\n%x\n", (unsigned char)0x1234567890abcdef); 63 printf("%x\n", (unsigned short)0x1234567890abcdef); 64 printf("%x\n", (unsigned int)0x1234567890abcdef); 65 printf("%x\n", (unsigned long long)0x1234567890abcdef); 66 67 printf("\n%x\n", (char)0x1234567890abcdef); 68 printf("%x\n", (short)0x1234567890abcdef); 69 printf("%x\n", (int)0x1234567890abcdef); 70 printf("%x\n", (long long)0x1234567890abcdef); 71 72 printf("\n%o\n", (unsigned char)0x1234567890abcdef); 73 printf("%o\n", (unsigned short)0x1234567890abcdef); 74 printf("%o\n", (unsigned int)0x1234567890abcdef); 75 printf("%o\n", (unsigned long long)0x1234567890abcdef); 76 77 printf("\n%o\n", (char)0x1234567890abcdef); 78 printf("%o\n", (short)0x1234567890abcdef); 79 printf("%o\n", (int)0x1234567890abcdef); 80 printf("%o\n", (long long)0x1234567890abcdef); 81 82 printf("\n%p\n", (void *)0x12345678); 83 printf("%p\n", (int *)0x90abcdef); 84 printf("%p\n", (uintptr_t)0x67890abc); 85 86 exit(0); 87 } 88