+++ /dev/null
-/*
- * Test file with lots of different types.
- */
-
-/*
- * First the basic C types.
- */
-
-#ifndef __STDC__
-#define signed /**/
-#endif
-
-char v_char;
-signed char v_signed_char;
-unsigned char v_unsigned_char;
-
-short v_short;
-signed short v_signed_short;
-unsigned short v_unsigned_short;
-
-int v_int;
-signed int v_signed_int;
-unsigned int v_unsigned_int;
-
-long v_long;
-signed long v_signed_long;
-unsigned long v_unsigned_long;
-
-float v_float;
-double v_double;
-
-/*
- * Now some derived types, which are arrays, functions-returning,
- * pointers, structures, unions, and enumerations.
- */
-
-/**** arrays *******/
-
-char v_char_array[2];
-signed char v_signed_char_array[2];
-unsigned char v_unsigned_char_array[2];
-
-short v_short_array[2];
-signed short v_signed_short_array[2];
-unsigned short v_unsigned_short_array[2];
-
-int v_int_array[2];
-signed int v_signed_int_array[2];
-unsigned int v_unsigned_int_array[2];
-
-long v_long_array[2];
-signed long v_signed_long_array[2];
-unsigned long v_unsigned_long_array[2];
-
-float v_float_array[2];
-double v_double_array[2];
-
-/**** pointers *******/
-
-char *v_char_pointer;
-signed char *v_signed_char_pointer;
-unsigned char *v_unsigned_char_pointer;
-
-short *v_short_pointer;
-signed short *v_signed_short_pointer;
-unsigned short *v_unsigned_short_pointer;
-
-int *v_int_pointer;
-signed int *v_signed_int_pointer;
-unsigned int *v_unsigned_int_pointer;
-
-long *v_long_pointer;
-signed long *v_signed_long_pointer;
-unsigned long *v_unsigned_long_pointer;
-
-float *v_float_pointer;
-double *v_double_pointer;
-
-/**** structs *******/
-
-struct t_struct {
- char v_char_member;
- short v_short_member;
- int v_int_member;
- long v_long_member;
- float v_float_member;
- double v_double_member;
-} v_struct1;
-
-struct {
- char v_char_member;
- short v_short_member;
- int v_int_member;
- long v_long_member;
- float v_float_member;
- double v_double_member;
-} v_struct2;
-
-/**** unions *******/
-
-union t_union {
- char v_char_member;
- short v_short_member;
- int v_int_member;
- long v_long_member;
- float v_float_member;
- double v_double_member;
-} v_union;
-
-union {
- char v_char_member;
- short v_short_member;
- int v_int_member;
- long v_long_member;
- float v_float_member;
- double v_double_member;
-} v_union2;
-
-/*** Functions returning type ********/
-
-char v_char_func () { return(0); }
-signed char v_signed_char_func () { return (0); }
-unsigned char v_unsigned_char_func () { return (0); }
-
-short v_short_func () { return (0); }
-signed short v_signed_short_func () { return (0); }
-unsigned short v_unsigned_short_func () { return (0); }
-
-int v_int_func () { return (0); }
-signed int v_signed_int_func () { return (0); }
-unsigned int v_unsigned_int_func () { return (0); }
-
-long v_long_func () { return (0); }
-signed long v_signed_long_func () { return (0); }
-unsigned long v_unsigned_long_func () { return (0); }
-
-float v_float_func () { return (0.0); }
-double v_double_func () { return (0.0); }
-
-/**** Some misc more complicated things *******/
-
-struct link {
- struct link *next;
-#ifdef __STDC__
- struct link *(*linkfunc) (struct link *this, int flags);
-#else
- struct link *(*linkfunc) ();
-#endif
- struct t_struct stuff[1][2][3];
-} *s_link;
-
-union tu_link {
- struct link *next;
-#ifdef __STDC__
- struct link *(*linkfunc) (struct link *this, int flags);
-#else
- struct link *(*linkfunc) ();
-#endif
- struct t_struct stuff[1][2][3];
-} u_link;
-
-/**** Enumerations *******/
-
-enum {red, green, blue} primary;
-enum colors {yellow, purple, pink} nonprimary;
-
-enum {chevy, ford} clunker;
-enum cars {bmw, porsche} sportscar;
-
-typedef enum {FALSE, TRUE} boolean;
-typedef enum bvals {false, true} boolean2;
-
-enum misordered {two = 2, one = 1, zero = 0, three = 3};
-
-/***********/
-
-main ()
-{
- /* Some linkers (e.g. on AIX) remove unreferenced variables,
- so make sure to reference them. */
- v_char = 0;
- v_signed_char = 1;
- v_unsigned_char = 2;
-
- v_short = 3;
- v_signed_short = 4;
- v_unsigned_short = 5;
-
- v_int = 6;
- v_signed_int = 7;
- v_unsigned_int = 8;
-
- v_long = 9;
- v_signed_long = 10;
- v_unsigned_long = 11;
-
- v_float = 100.0;
- v_double = 200.0;
-
-
- v_char_array[0] = v_char;
- v_signed_char_array[0] = v_signed_char;
- v_unsigned_char_array[0] = v_unsigned_char;
-
- v_short_array[0] = v_short;
- v_signed_short_array[0] = v_signed_short;
- v_unsigned_short_array[0] = v_unsigned_short;
-
- v_int_array[0] = v_int;
- v_signed_int_array[0] = v_signed_int;
- v_unsigned_int_array[0] = v_unsigned_int;
-
- v_long_array[0] = v_long;
- v_signed_long_array[0] = v_signed_long;
- v_unsigned_long_array[0] = v_unsigned_long;
-
- v_float_array[0] = v_float;
- v_double_array[0] = v_double;
-
- v_char_pointer = &v_char;
- v_signed_char_pointer = &v_signed_char;
- v_unsigned_char_pointer = &v_unsigned_char;
-
- v_short_pointer = &v_short;
- v_signed_short_pointer = &v_signed_short;
- v_unsigned_short_pointer = &v_unsigned_short;
-
- v_int_pointer = &v_int;
- v_signed_int_pointer = &v_signed_int;
- v_unsigned_int_pointer = &v_unsigned_int;
-
- v_long_pointer = &v_long;
- v_signed_long_pointer = &v_signed_long;
- v_unsigned_long_pointer = &v_unsigned_long;
-
- v_float_pointer = &v_float;
- v_double_pointer = &v_double;
-
- primary = blue;
- nonprimary = pink;
- sportscar = porsche;
- clunker = ford;
-
- u_link.next = s_link;
-
- v_union2.v_short_member = v_union.v_short_member;
-}