2013-10-21 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / init-string-1.c
blobace3b34562ee21420d18c5a5f6c12fe3a5e31eae
1 /* String initializers for arrays must not be parenthesized. Bug
2 11250 from h.b.furuseth at usit.uio.no. */
3 /* Origin: Joseph Myers <jsm@polyomino.org.uk> */
4 /* { dg-do compile } */
5 /* { dg-options "-std=c99 -pedantic-errors" } */
7 #include <stddef.h>
9 char *a = "a";
10 char *b = ("b");
11 char *c = (("c"));
13 char d[] = "d";
14 char e[] = ("e"); /* { dg-bogus "warning" "warning in place of error" } */
15 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 14 } */
16 char f[] = (("f")); /* { dg-bogus "warning" "warning in place of error" } */
17 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 16 } */
19 signed char g[] = { "d" };
20 unsigned char h[] = { ("e") }; /* { dg-bogus "warning" "warning in place of error" } */
21 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 20 } */
22 signed char i[] = { (("f")) }; /* { dg-bogus "warning" "warning in place of error" } */
23 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 22 } */
26 struct s { char a[10]; int b; wchar_t c[10]; };
28 struct s j = {
29 "j",
31 (L"j")
32 }; /* { dg-bogus "warning" "warning in place of error" } */
33 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 32 } */
34 struct s k = {
35 (("k")), /* { dg-bogus "warning" "warning in place of error" } */
36 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 35 } */
38 L"k"
41 struct s l = {
42 .c = (L"l"), /* { dg-bogus "warning" "warning in place of error" } */
43 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 42 } */
44 .a = "l"
47 struct s m = {
48 .c = L"m",
49 .a = ("m")
50 }; /* { dg-bogus "warning" "warning in place of error" } */
51 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 50 } */
53 char *n = (char []){ "n" };
55 char *o = (char []){ ("o") }; /* { dg-bogus "warning" "warning in place of error" } */
56 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 55 } */
58 wchar_t *p = (wchar_t [5]){ (L"p") }; /* { dg-bogus "warning" "warning in place of error" } */
59 /* { dg-error "parenthesized|near init" "paren array" { target *-*-* } 58 } */