1 /* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12 /* 13 * Copyright (c) 2019, Joyent, Inc. 14 */ 15 16 /* 17 * Test the encoding of references to another type. Specifically the references 18 * that we generally care about are things like: 19 * 20 * o pointers 21 * o typedefs 22 * o const 23 * o volatile 24 * o restrict 25 */ 26 27 int a; 28 typedef int test_int_t; 29 test_int_t aa; 30 const short b; 31 volatile float c; 32 33 int *d; 34 int **dd; 35 int ***ddd; 36 test_int_t *e; 37 const test_int_t *ce; 38 volatile test_int_t *ve; 39 volatile const test_int_t *cve; 40 int *const *f; 41 const char *const g; 42 43 typedef int *const * foo_t; 44 const volatile foo_t *cvh;