diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2019-12-02 09:46:51 +0000 |
---|---|---|
committer | Iain Sandoe <iain@sandoe.co.uk> | 2019-12-02 09:46:51 +0000 |
commit | 9d5bec7646fdc120087e39ba6ac01b5c299bf8aa (patch) | |
tree | 00f30fd30ba8b51d3af1a92679caff966f093489 /gcc/testsuite/g++.dg/warn/inline3.C | |
parent | bf31886696cb7906760c6d7d24fab82d5bb646ba (diff) | |
parent | 02e688f0e850db35366a26a525e2876f93ffafd6 (diff) |
c++-coroutines - merge trunk r278894.
2019-12-02 Iain Sandoe <iain@sandoe.co.uk>
Merge trunk r278894.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/c++-coroutines@278895 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/g++.dg/warn/inline3.C')
-rw-r--r-- | gcc/testsuite/g++.dg/warn/inline3.C | 20 |
1 files changed, 20 insertions, 0 deletions
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 (); } |