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

Arthur O'Dwyer via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 23 16:51:34 PDT 2021


Quuxplusone added a comment.

IMHO you should just go ahead and land the trivial trailing-whitespace changes.



================
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
 
----------------
(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.


================
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
 
----------------
`cxx98_2b` is "unconditional", right?


================
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}}
----------------
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?


================
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
+
----------------
And 11, 14, 17?


================
Comment at: clang/test/SemaCXX/constant-expression-cxx11.cpp:3
+// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify=expected,cxx20_2b -triple x86_64-linux -Wno-string-plus-int -Wno-pointer-arith -Wno-zero-length-array -Wno-c99-designator -fcxx-exceptions -pedantic %s -Wno-comment -Wno-tautological-pointer-compare -Wno-bool-conversion
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify=expected,cxx11 -triple x86_64-linux -Wno-string-plus-int -Wno-pointer-arith -Wno-zero-length-array -Wno-c99-designator -fcxx-exceptions -pedantic %s -Wno-comment -Wno-tautological-pointer-compare -Wno-bool-conversion
 
----------------
And 14, 17?


================
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}}
 }
----------------
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.


================
Comment at: clang/test/SemaCXX/constant-expression-cxx14.cpp:3
+// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify=expected,cxx20_2b %s -fcxx-exceptions -triple=x86_64-linux-gnu
+// RUN: %clang_cc1 -std=c++14 -fsyntax-only -verify=expected,cxx14    %s -fcxx-exceptions -triple=x86_64-linux-gnu
 
----------------
17?


================
Comment at: clang/test/SemaCXX/conversion-function.cpp:5
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify=expected,cxx98_14 -triple %itanium_abi_triple -Wbind-to-temporary-copy %s
+// RUN: %clang_cc1 -std=c++98 -fsyntax-only -verify=expected,cxx98_14 -triple %itanium_abi_triple -Wbind-to-temporary-copy %s
 
----------------
17?


================
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
 
----------------
Surely this should be tested in 20 (and 2b), since coroutines are a C++20 feature.


================
Comment at: clang/test/SemaCXX/deduced-return-type-cxx14.cpp:8
+// RUN: %clang_cc1 -std=c++14 -fsyntax-only -verify=expected,cxx14    %s
+// RUN: %clang_cc1 -std=c++14 -fsyntax-only -verify=expected,cxx14    %s -fdelayed-template-parsing -DDELAYED_TEMPLATE_PARSING
 
----------------
17?


================
Comment at: clang/test/SemaCXX/return-stack-addr.cpp:3
+// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify=expected       %s
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify=expected,cxx11 %s
 
----------------
14, 17?


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