You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[clang] Apply missing changes from several Sema-related commits
cherry-picked:
8009bbe[email protected] Tue Apr 30 14:25:09 2024 -0400 Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (llvm#84050)" (llvm#90152)
3191e0b[email protected] Fri May 3 17:07:52 2024 -0400 [Clang][Sema] Fix template name lookup for operator= (llvm#90999)
62b5b61[email protected] Wed May 8 20:49:59 2024 -0400 [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (llvm#91498)
75ebcbf[email protected] Thu May 9 16:34:40 2024 -0400 [Clang][Sema] Revert changes to operator= lookup in templated classes from llvm#91498, llvm#90999, and llvm#90152 (llvm#91620)
596a9c1[email protected] Mon May 13 12:24:46 2024 -0400 [Clang][Sema] Fix bug where operator-> typo corrects in the current instantiation (llvm#91972)
fd87d76[email protected] Mon May 20 13:55:01 2024 -0400 [Clang][Sema] Don't build CXXDependentScopeMemberExprs for potentially implicit class member access expressions (llvm#92318)
e75b58c[email protected] Mon May 20 14:50:58 2024 -0400 [Clang][Sema] Do not add implicit 'const' when matching constexpr function template explicit specializations after C++14 (llvm#92449)
bae2c54[email protected] Mon Jul 1 20:55:57 2024 +0300 [clang][NFC] Move documentation of `Sema` functions into `Sema.h`
e6d305e[email protected] Mon Sep 4 16:54:42 2023 +0200 Add support of Windows Trace Logging macros
Change-Id: I521b2ebabd7eb9a0df78c577992bfd8508ba44fd
- Fixed a crash using ``__array_rank`` on 64-bit targets. (#GH113044).
468
+
- Support MSVC predefined macro expressions in constant expressions and in
469
+
local structs.
468
470
- The warning emitted for an unsupported register variable type now points to
469
471
the unsupported type instead of the ``register`` keyword (#GH109776).
470
472
@@ -542,6 +544,9 @@ Bug Fixes to C++ Support
542
544
- Fixed an assertion failure in debug mode, and potential crashes in release mode, when
543
545
diagnosing a failed cast caused indirectly by a failed implicit conversion to the type of the constructor parameter.
544
546
- Fixed an assertion failure by adjusting integral to boolean vector conversions (#GH108326)
547
+
- Clang no longer treats ``constexpr`` class scope function template specializations of non-static members
548
+
as implicitly ``const`` in language modes after C++11.
549
+
- Mangle friend function templates with a constraint that depends on a template parameter from an enclosing template as members of the enclosing class. (#GH110247)
545
550
- Fixed an issue deducing non-type template arguments of reference type. (#GH73460)
546
551
- Fixed an issue in constraint evaluation, where type constraints on the lambda expression
547
552
containing outer unexpanded parameters were not correctly expanded. (#GH101754)
template<typename T> constexpr T f(); // expected-warning 0-1{{C++14}} expected-note 0-1{{candidate}}
92
90
template <typename T>
93
91
T g() const; // expected-note-re {{candidate template ignored: could not match 'T (){{( __attribute__\(\(thiscall\)\))?}} const' against 'char (){{( __attribute__\(\(thiscall\)\))?}}'}}
92
+
#if __cplusplus >= 201402L
93
+
// expected-note@-2 {{candidate template ignored: could not match 'T () const' against 'int ()'}}
94
+
#endif
94
95
};
95
96
96
97
// explicit specialization can differ in constepxr
0 commit comments