aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/warn')
-rw-r--r--gcc/testsuite/g++.dg/warn/Wenum-compare.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/Wpointer-arith-1.C4
-rw-r--r--gcc/testsuite/g++.dg/warn/inline3.C20
3 files changed, 23 insertions, 3 deletions
diff --git a/gcc/testsuite/g++.dg/warn/Wenum-compare.C b/gcc/testsuite/g++.dg/warn/Wenum-compare.C
index f60080039fb..af7c483a238 100644
--- a/gcc/testsuite/g++.dg/warn/Wenum-compare.C
+++ b/gcc/testsuite/g++.dg/warn/Wenum-compare.C
@@ -6,5 +6,5 @@ enum E2 { b };
int foo (E1 e1, E2 e2)
{
- return e1 == e2; /* { dg-warning "comparison between" } */
+ return e1 == e2; /* { dg-warning "13:comparison between" } */
}
diff --git a/gcc/testsuite/g++.dg/warn/Wpointer-arith-1.C b/gcc/testsuite/g++.dg/warn/Wpointer-arith-1.C
index a4aa6960897..1e031f9d732 100644
--- a/gcc/testsuite/g++.dg/warn/Wpointer-arith-1.C
+++ b/gcc/testsuite/g++.dg/warn/Wpointer-arith-1.C
@@ -4,10 +4,10 @@
int main()
{
void *pv = 0;
- pv++; // { dg-warning "forbids incrementing a pointer" }
+ pv++; // { dg-warning "3:ISO C\\+\\+ forbids incrementing a pointer" }
typedef void (*pft) ();
pft pf = 0;
- pf++; // { dg-warning "forbids incrementing a pointer" }
+ pf++; // { dg-warning "3:ISO C\\+\\+ forbids incrementing a pointer" }
}
diff --git a/gcc/testsuite/g++.dg/warn/inline3.C b/gcc/testsuite/g++.dg/warn/inline3.C
new file mode 100644
index 00000000000..0d4dc8ff268
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/inline3.C
@@ -0,0 +1,20 @@
+struct S {
+ inline virtual void foo () = 0; // { dg-bogus "used but never defined" }
+#if __cplusplus > 201703L
+ constexpr virtual void bar () = 0; // { dg-bogus "used but never defined" "" { target c++2a } }
+#else
+ inline virtual void bar () = 0; // { dg-bogus "used but never defined" "" { target c++17_down } }
+#endif
+ S () {}
+};
+struct T : public S {
+ inline virtual void foo () {}
+#if __cplusplus > 201703L
+ constexpr virtual void bar () {}
+#else
+ inline virtual void bar () {}
+#endif
+ T () {}
+};
+T t;
+void foo (S *s) { s->foo (); s->bar (); }