re PR c/78285 (error on duplicate switch label where a note should be)
PR c/78285 * c-common.c (c_add_case_label): Turn error_at calls into inform. * gcc.dg/switch-5.c: Turn several dg-errors into dg-messages. * g++.dg/ext/case-range2.C: Likewise. From-SVN: r242532
This commit is contained in:
parent
c10e3d7f2a
commit
0d939c9575
5 changed files with 23 additions and 12 deletions
|
@ -1,3 +1,8 @@
|
|||
2016-11-16 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c/78285
|
||||
* c-common.c (c_add_case_label): Turn error_at calls into inform.
|
||||
|
||||
2016-11-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
|
||||
|
|
|
@ -4968,19 +4968,19 @@ c_add_case_label (location_t loc, splay_tree cases, tree cond, tree orig_type,
|
|||
if (high_value)
|
||||
{
|
||||
error_at (loc, "duplicate (or overlapping) case value");
|
||||
error_at (DECL_SOURCE_LOCATION (duplicate),
|
||||
"this is the first entry overlapping that value");
|
||||
inform (DECL_SOURCE_LOCATION (duplicate),
|
||||
"this is the first entry overlapping that value");
|
||||
}
|
||||
else if (low_value)
|
||||
{
|
||||
error_at (loc, "duplicate case value") ;
|
||||
error_at (DECL_SOURCE_LOCATION (duplicate), "previously used here");
|
||||
inform (DECL_SOURCE_LOCATION (duplicate), "previously used here");
|
||||
}
|
||||
else
|
||||
{
|
||||
error_at (loc, "multiple default labels in one switch");
|
||||
error_at (DECL_SOURCE_LOCATION (duplicate),
|
||||
"this is the first default label");
|
||||
inform (DECL_SOURCE_LOCATION (duplicate),
|
||||
"this is the first default label");
|
||||
}
|
||||
goto error_out;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2016-11-16 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c/78285
|
||||
* gcc.dg/switch-5.c: Turn several dg-errors into dg-messages.
|
||||
* g++.dg/ext/case-range2.C: Likewise.
|
||||
|
||||
2016-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/58001
|
||||
|
|
|
@ -11,7 +11,7 @@ T f2 (T i)
|
|||
{
|
||||
switch (i)
|
||||
{
|
||||
case low ... high : return i + 1; // { dg-error "previously" }
|
||||
case low ... high : return i + 1; // { dg-message "previously" }
|
||||
case 5 : return i + 2; // { dg-error "duplicate" }
|
||||
default : return 0;
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ T f2 (T i)
|
|||
int f (int i)
|
||||
{
|
||||
switch (i) {
|
||||
case 1 ... 10: return i + 1; // { dg-error "first entry" }
|
||||
case 1 ... 10: return i + 1; // { dg-message "first entry" }
|
||||
case 3 ... 5 : return i + 3; // { dg-error "duplicate" }
|
||||
default: return f2 (i); // { dg-message "required" }
|
||||
}
|
||||
|
|
|
@ -40,13 +40,13 @@ f (int a, double d, void *p)
|
|||
switch (a)
|
||||
{
|
||||
case 0:
|
||||
default: /* { dg-error "this is the first default label" } */
|
||||
default: /* { dg-message "this is the first default label" } */
|
||||
case 1:
|
||||
default: ; /* { dg-error "multiple default labels in one switch" } */
|
||||
}
|
||||
switch (a)
|
||||
{
|
||||
case 0: /* { dg-error "previously used here" } */
|
||||
case 0: /* { dg-message "previously used here" } */
|
||||
case 1:
|
||||
case 0: ; /* { dg-error "duplicate case value" } */
|
||||
}
|
||||
|
@ -60,11 +60,11 @@ f (int a, double d, void *p)
|
|||
}
|
||||
switch (a)
|
||||
{
|
||||
case 0: /* { dg-error "this is the first entry overlapping that value" } */
|
||||
case 0: /* { dg-message "this is the first entry overlapping that value" } */
|
||||
case -1 ... 1: /* { dg-error "duplicate \\(or overlapping\\) case value" } */
|
||||
case 2 ... 3: /* { dg-error "previously used here" } */
|
||||
case 2 ... 3: /* { dg-message "previously used here" } */
|
||||
case 2: /* { dg-error "duplicate case value" } */
|
||||
case 4 ... 7: /* { dg-error "this is the first entry overlapping that value" } */
|
||||
case 4 ... 7: /* { dg-message "this is the first entry overlapping that value" } */
|
||||
case 6 ... 9: ; /* { dg-error "duplicate \\(or overlapping\\) case value" } */
|
||||
}
|
||||
switch (a)
|
||||
|
|
Loading…
Add table
Reference in a new issue