1169689Skan/* Verify that flexible arrays can be initialized from STRING_CST 2169689Skan constructors. */ 3169689Skan 4169689Skan/* Baselines. */ 5169689Skanstruct { 6169689Skan char a1c; 7169689Skan char *a1p; 8169689Skan} a1 = { 9169689Skan '4', 10169689Skan "62" 11169689Skan}; 12169689Skan 13169689Skanstruct { 14169689Skan char a2c; 15169689Skan char a2p[2]; 16169689Skan} a2 = { 17169689Skan 'v', 18169689Skan "cq" 19169689Skan}; 20169689Skan 21169689Skan/* The tests. */ 22169689Skanstruct { 23169689Skan char a3c; 24169689Skan char a3p[]; 25169689Skan} a3 = { 26169689Skan 'o', 27169689Skan "wx" 28169689Skan}; 29169689Skan 30169689Skanstruct { 31169689Skan char a4c; 32169689Skan char a4p[]; 33169689Skan} a4 = { 34169689Skan '9', 35169689Skan { 'e', 'b' } 36169689Skan}; 37169689Skan 38169689Skanmain() 39169689Skan{ 40169689Skan if (a1.a1c != '4') 41169689Skan abort(); 42169689Skan if (a1.a1p[0] != '6') 43169689Skan abort(); 44169689Skan if (a1.a1p[1] != '2') 45169689Skan abort(); 46169689Skan if (a1.a1p[2] != '\0') 47 abort(); 48 49 if (a2.a2c != 'v') 50 abort(); 51 if (a2.a2p[0] != 'c') 52 abort(); 53 if (a2.a2p[1] != 'q') 54 abort(); 55 56 if (a3.a3c != 'o') 57 abort(); 58 if (a3.a3p[0] != 'w') 59 abort(); 60 if (a3.a3p[1] != 'x') 61 abort(); 62 63 if (a4.a4c != '9') 64 abort(); 65 if (a4.a4p[0] != 'e') 66 abort(); 67 if (a4.a4p[1] != 'b') 68 abort(); 69 70 return 0; 71} 72