+2005-03-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * g++.dg/other/cv_func.C, g++.dg/other/offsetof3.C,
+ g++.dg/parse/error11.C, g++.dg/tc1/dr108.C,
+ g++.dg/template/local4.C, g++.dg/template/nontype6.C,
+ g++.dg/warn/deprecated.C: Ensure uniqueness of test assertion
+ names.
+
2005-03-14 Geoffrey Keating <geoffk@apple.com>
* gcc.dg/cpp/normalize-1.c: New.
typedef int FI(int);
FIC f; // { dg-error "qualified" }
-// { dg-error "ignoring" "" { target *-*-* } 6 }
+// { dg-error "ignoring" "ignoring" { target *-*-* } 6 }
struct S {
FIC f; // OK
};
FIC S::*pm = &S::f;
const FI S::*pm2 = &S::f; // { dg-error "qualifier" }
-// { dg-error "cannot convert" "" { target *-*-* } 17 }
+// { dg-error "cannot convert" "cannot convert" { target *-*-* } 17 }
const FIC S::*pm3 = &S::f; // { dg-error "qualifier" }
int S::f(int) const
typedef __SIZE_TYPE__ size_t;
size_t yoff = size_t(&(pX(0)->y)); /* { dg-warning "invalid access" "" } */
-/* { dg-warning "macro was used incorrectly" "" { target *-*-* } 15 } */
+/* { dg-warning "macro was used incorrectly" "macro" { target *-*-* } 15 } */
// On the first error message, an additional note about the use of
// -fpermissive should be present
-// { dg-error "-fpermissive" "" { target *-*-* } 18 }
+// { dg-error "-fpermissive" "-fpermissive" { target *-*-* } 18 }
};
// Additional notes on the same line are allowed
-// { dg-error "" "" { target *-*-* } 10 }
+// { dg-error "" "additional" { target *-*-* } 10 }
struct S {};
// We do not simply use "local|match" on line 10 because we want to
// make sure that "local" appears.
- // { dg-error "local" "" { target *-*-* } 10 }
+ // { dg-error "local" "local" { target *-*-* } 10 }
foo<S> (); // { dg-error "trying|match" }
}
void func(void)
{
(void)A<T>::type(); // { dg-error "if a type is meant" }
-// { dg-error "parsed as a non-type" "" { target *-*-* } 15 }
+// { dg-error "parsed as a non-type" "non-type" { target *-*-* } 15 }
}
template void func<float>(void); // { dg-error "instantiated from here" }
int (*pf)() = f1; /* { dg-warning "'f1' is deprecated" "" } */
z = w + x + y + g1 + g2 + g3; /* { dg-warning "'x' is deprecated" "" } */
- /* { dg-warning "'y' is deprecated" "" { target *-*-* } 55 } */
- /* { dg-warning "'g2' is deprecated" "" { target *-*-* } 55 } */
- /* { dg-warning "'g3' is deprecated" "" { target *-*-* } 55 } */
- return f1(); /* { dg-warning "'f1' is deprecated" "" } */
+ /* { dg-warning "'y' is deprecated" "y" { target *-*-* } 55 } */
+ /* { dg-warning "'g2' is deprecated" "g2" { target *-*-* } 55 } */
+ /* { dg-warning "'g3' is deprecated" "g3" { target *-*-* } 55 } */
+ return f1(); /* { dg-warning "'f1' is deprecated" "f1" } */
}
int func2(S1 *p)
p->u1.field5 = g1 + p->field7;
p->u2.field9; /* { dg-warning "'u2' is deprecated" "" } */
return p->u1.field6 + p->field8; /* { dg-warning "'field6' is deprecated" "" } */
- /* { dg-warning "'field8' is deprecated" "" { target *-*-* } 73 } */
+ /* { dg-warning "'field8' is deprecated" "field8" { target *-*-* } 73 } */
}
struct SS1 {