2017-10-21 23:40:19 +00:00
|
|
|
/* Deviance Test 4.6.4.1: Ensure illegal array initializations are detected */
|
|
|
|
|
|
|
|
static int i1 [3] = { 1, 2, 3, 4 }; /* too many elements */
|
|
|
|
static long L1 [4] = { 1, 2, 3, 4, 5, 5, 7 };
|
|
|
|
static double d1 [3] = { 1.0, 2.0, 3.0, 4.0 };
|
|
|
|
static struct S1 { int i; float f; } s1 [2] = { {2, 1.0}, {3, 2.0},
|
|
|
|
{4, 3.0}, {5, 4.0} };
|
|
|
|
|
|
|
|
char ch1 [2] = "oh, what a beautiful baby!!";
|
|
|
|
comp c1 [3] = { 1, 2, 3, 4, 5, 6 };
|
|
|
|
float f1 [1] = { 0, 0, 0, 0, 0, 0 };
|
|
|
|
|
|
|
|
int i2 = 3;
|
|
|
|
float f2 = 3.0;
|
|
|
|
|
|
|
|
/* non-constant values */
|
|
|
|
static short i3 [] = { i2 * 2, i2 / 2 };
|
|
|
|
static double d3 [3] = { 3.0, (double) f2 };
|
|
|
|
static struct S1 s2 [2] = { i3 [0], f2 };
|
|
|
|
|
|
|
|
unsigned int i4 [2] = { i3 [1], i2 };
|
|
|
|
unsigned long L2 [4] = { (unsigned long) f2 + 3 };
|
|
|
|
|
|
|
|
main ()
|
|
|
|
{
|
|
|
|
int i5 [7] = { 14, 15, 16, 17, 18, 19, 20, 21 }; /* too many elements */
|
|
|
|
float f5 [3] = { 1.1, 1.1, 1.1, 1.1, 4.4 };
|
|
|
|
char ch [5] = "abcde"; /* no room for ending */
|
|
|
|
/* null */
|
|
|
|
|
|
|
|
double d5 [3] = { (double) (i2 * 2.3) }; /* non-constant values */
|
|
|
|
struct S1 s5 [2] = { i2 - (i2 + 2), f2 / 7.2 };
|
|
|
|
|
|
|
|
printf ("Failed Deviance Test 4.6.4.1\n");
|
|
|
|
}
|