[PATCH] D99225: [clang] cxx tests: cleanup, update and add some new ones

Matheus Izvekov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 23 17:02:46 PDT 2021


mizvekov added inline comments.


================
Comment at: clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7-cxx14.cpp:3
+// RUN: %clang_cc1 -verify -std=c++20 -verify %s
+// RUN: %clang_cc1 -verify -std=c++14 -verify %s
 
----------------
Quuxplusone wrote:
> (1) You skipped 17.
> (2) Isn't there some way to mark a Clang test as "run this in all modes '14 and later"? We shouldn't have to touch every single test every 3 years; there must be a way to do this; I just don't know what it is.
1) I skipped on purpose, felt like may have been adding more than is necessary, but I can add it no problem.
2) It sucks I know, but not as far as I know. Something has to be implemented in lit for that to happen.


================
Comment at: clang/test/CXX/drs/dr3xx.cpp:6
+// RUN: %clang_cc1 -std=c++11 -verify=expected,cxx98_17,cxx98_2b -triple %itanium_abi_triple %s -fexceptions -fcxx-exceptions -pedantic-errors
+// RUN: %clang_cc1 -std=c++98 -verify=expected,cxx98_17,cxx98_2b -triple %itanium_abi_triple %s -fexceptions -fcxx-exceptions -pedantic-errors
 
----------------
Quuxplusone wrote:
> `cxx98_2b` is "unconditional", right?
err, yes, I was not thinking very clearly :P


================
Comment at: clang/test/CXX/drs/dr3xx.cpp:444
   void f(volatile void); // expected-error {{'void' as parameter must not have type qualifiers}}
+  // cxx20_2b-warning at -1 {{volatile-qualified parameter type 'volatile void' is deprecated}}
   void g(const void); // expected-error {{'void' as parameter must not have type qualifiers}}
----------------
Quuxplusone wrote:
> This gives an error //and// a C++20 warning? 😛
> Oh yeah. Huh. https://godbolt.org/z/eMY9zMs54 That's definitely a Clang bug. Feel like filing it?
heh, no problem.


================
Comment at: clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp:3
+// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify %s
+// RUN: %clang_cc1 -std=c++98 -fsyntax-only -verify %s
+
----------------
Quuxplusone wrote:
> And 11, 14, 17?
Again, just avoiding the extra workload there, but I can add it.


================
Comment at: clang/test/SemaCXX/constant-expression-cxx11.cpp:1771
+  // expected-warning {{expression with side effects will be evaluated despite being used as an operand to 'typeid'}} \\
+  // cxx20_2b-note {{non-constexpr function 'g' cannot be used in a constant expression}}
 }
----------------
Quuxplusone wrote:
> What are those trailing (occasionally doubled) backslashes doing on lines 1768–1770?
> Get rid of them.
> You might then need to say `expected-warning at -1` and so on... which is fine.
Err the doubled one was a typo, but I was just keeping the local style.


================
Comment at: clang/test/SemaCXX/coroutine-rvo.cpp:1
-// RUN: %clang_cc1 -triple x86_64-apple-darwin9 %s -stdlib=libc++ -std=c++1z -fcoroutines-ts -fsyntax-only
+// RUN: %clang_cc1 -verify -std=c++17 -fcoroutines-ts -fsyntax-only %s
 
----------------
Quuxplusone wrote:
> Surely this should be tested in 20 (and 2b), since coroutines are a C++20 feature.
Yeah but remember, the coroutine change was unconditional, and I don't think this test is picking up any differences for the other modes.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99225/new/

https://reviews.llvm.org/D99225



More information about the cfe-commits mailing list