clang-concepts-monorepo
clang-concepts-monorepo copied to clipboard
****** OBSOLETE - CONCEPTS HAS BEEN MERGED INTO CLANG TRUNK AND DEVELOPMENT CONTINUES THERE ****** This fork of llvm-project contains my implementation of C++2a Concepts for the Clang compiler, and wi...
I'd like to integrate a clang-concepts-built clang-tidy into my CMake project, which means that it's dependent on GCC flags when building with GCC. Since GCC uses `-fconcepts`, this means that...
check-clang tests pass with assertions off, however when built with LLVM_ENABLE_ASSERTIONS the following tests fail: Clang :: ASTMerge/exprs-cpp/test.cpp Clang :: ASTMerge/unnamed_fields/test.cpp Clang :: CXX/concepts-ts/dcl/dcl.fct/p17.cpp Clang :: CXX/concepts-ts/expr/expr.prim/expr.prim.id/p4.cpp Clang :: Import/cxx-for-range/test.cpp...
libstdc++ uses __cpp_concepts to check if concepts are enabled. Unfortunately, it is going off a very old version of concepts that did not require parenthesizing expressions that are not just...
When using a requires-expression as a template argument such as `enable_if`, the compiler emits: "error: cannot yet mangle expression type RequiresExpr". Some examples: https://godbolt.org/z/J42cg7 ```c++ #include int main() { return...
I use this to conveniently determine if any of an arbitrary number of booleans is true: ``` constexpr bool Or(std::initializer_list) { return false; } constexpr bool Or(std::initializer_list) { return true;...
```c++ template concept AnyType = true; template class configuration { //!\brief Friend declaration for other instances of the configuration. template friend class configuration; }; int main() { configuration{}; return 0;...
Given: ``` constexpr bool q = true; constexpr auto x = [] { return 42; }; using FTy = decltype(x); void g(bool); void f() { FTy (x)() & requires(bool (q))...
Hi @saarraz! It is cool that our library does not ICE anymore and that a lot of stuff is already working. Right now we have the problem that a really...
https://godbolt.org/z/tpU4_Z ``` :2:33: error: type 'int' cannot be used prior to '::' because it has no members struct S { static const int s = T::value; }; ^ :4:52: note:...
This is a minor issue I found when trying to use concept-enabled version of clang with Xcode. It's not critical by any means, but I would still like to report...