File tree Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -130,6 +130,9 @@ Bug Fixes to C++ Support
130130- Fixed a bug where variables referenced by requires-clauses inside
131131 nested generic lambdas were not properly injected into the constraint scope.
132132 (`#73418 <https://github.com/llvm/llvm-project/issues/73418 >`_)
133+ - Fixed deducing auto& from const int in template parameters of partial
134+ specializations.
135+ (`#77189 <https://github.com/llvm/llvm-project/issues/77189 >`_)
133136
134137Bug Fixes to AST Handling
135138^^^^^^^^^^^^^^^^^^^^^^^^^
Original file line number Diff line number Diff line change @@ -649,6 +649,7 @@ static bool IsPossiblyOpaquelyQualifiedTypeInternal(const Type *T) {
649649 case Type::PackIndexing:
650650 case Type::UnresolvedUsing:
651651 case Type::TemplateTypeParm:
652+ case Type::Auto:
652653 return true ;
653654
654655 case Type::ConstantArray:
Original file line number Diff line number Diff line change 1+ // RUN: %clang_cc1 -fsyntax-only -std=c++17 -verify %s
2+ // RUN: %clang_cc1 -fsyntax-only -std=c++20 -verify %s
3+ // expected-no-diagnostics
4+
5+ struct false_type {
6+ static constexpr bool value = false ;
7+ };
8+
9+ struct true_type {
10+ static constexpr bool value = true ;
11+ };
12+
13+ template <auto & Value, int >
14+ struct test : false_type {};
15+
16+ template <auto & Value>
17+ struct test <Value, 0 > : true_type {};
18+
19+ int main () {
20+ static constexpr int v = 42 ;
21+ static_assert (test<v, 0 >::value);
22+ }
You can’t perform that action at this time.
0 commit comments