diff options
Diffstat (limited to 'validation')
| -rw-r--r-- | validation/generic-bad0.c | 4 | ||||
| -rw-r--r-- | validation/generic-dr481.c | 16 |
2 files changed, 20 insertions, 0 deletions
diff --git a/validation/generic-bad0.c b/validation/generic-bad0.c index acc3d5e7..d11030db 100644 --- a/validation/generic-bad0.c +++ b/validation/generic-bad0.c @@ -18,6 +18,10 @@ void foo(int n) generic-bad0.c:5:33: warning: multiple default in generic expression generic-bad0.c:5:30: note: previous was here generic-bad0.c:6:25: warning: Variable length array is used. +generic-bad0.c:6:21: error: variable length array type in generic selection +generic-bad0.c:7:21: error: incomplete type in generic selection +generic-bad0.c:8:21: error: incomplete type in generic selection +generic-bad0.c:9:21: error: function type in generic selection generic-bad0.c:11:17: error: no generic selection for 'int [addressable] n' * check-error-end */ diff --git a/validation/generic-dr481.c b/validation/generic-dr481.c new file mode 100644 index 00000000..a2d27b98 --- /dev/null +++ b/validation/generic-dr481.c @@ -0,0 +1,16 @@ +static char const* a = _Generic("bla", char*: "blu"); +static char const* b = _Generic("bla", char[4]: "blu"); +static char const* c = _Generic((int const){ 0 }, int: "blu"); +static char const* d = _Generic((int const){ 0 }, int const: "blu"); +static char const* e = _Generic(+(int const){ 0 }, int: "blu"); +static char const* f = _Generic(+(int const){ 0 }, int const: "blu"); + +/* + * check-name: generic-dr481 + * + * check-error-start +generic-dr481.c:2:32: error: no generic selection for 'char *' +generic-dr481.c:4:32: error: no generic selection for 'int const [toplevel]' +generic-dr481.c:6:32: error: no generic selection for 'int' + * check-error-end + */ |
