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;