| // { dg-do compile } |
| // Contributed by: Michael Elizabeth Chastain |
| // <mec dot gnu at mindspring dot com> |
| // PR c++/13927: Wrong error message for redeclartion of type from union |
| |
| void foo(void) |
| { |
| union { int alpha; int beta; }; // { dg-error "previous declaration `int alpha'" } |
| double alpha; // { dg-error "declaration of" } |
| } |
| |
| // This checks both the templated version, and the position of the diagnostic |
| // (which is currently wrong). |
| template <int> |
| void tfoo(void) |
| { |
| union { |
| int alpha; // { dg-error "" "" { xfail *-*-* } } |
| int beta; |
| }; // { dg-bogus "" "misplaced position of the declaration" { xfail *-*-* } } |
| double alpha; // { dg-error "" "" } |
| } |
| |
| // The duplicated error messages are xfailed for now (tracked in the PR) |
| // { dg-bogus "" "duplicate error messages" { xfail *-*-* } 8 } |
| // { dg-bogus "" "duplicate error messages" { xfail *-*-* } 9 } |