File tree Expand file tree Collapse file tree 3 files changed +13
-1
lines changed Expand file tree Collapse file tree 3 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -789,6 +789,9 @@ Bug Fixes to C++ Support
789789 Fixes:
790790 (`#68769 <https://github.com/llvm/llvm-project/issues/68769 >`_)
791791
792+ - Fixed a crash for C++98/03 while checking an ill-formed ``_Static_assert `` expression.
793+ Fixes: (`#72025 <https://github.com/llvm/llvm-project/issues/72025 >`_)
794+
792795- Clang now defers the instantiation of explicit specifier until constraint checking
793796 completes (except deduction guides). Fixes:
794797 (`#59827 <https://github.com/llvm/llvm-project/issues/59827 >`_)
Original file line number Diff line number Diff line change @@ -8618,7 +8618,7 @@ bool LValueExprEvaluator::VisitMaterializeTemporaryExpr(
86188618 Result.set(E);
86198619 } else {
86208620 Value = &Info.CurrentCall->createTemporary(
8621- E, E ->getType(),
8621+ E, Inner ->getType(),
86228622 E->getStorageDuration() == SD_FullExpression ? ScopeKind::FullExpression
86238623 : ScopeKind::Block,
86248624 Result);
Original file line number Diff line number Diff line change 1+ // RUN: %clang_cc1 -verify -std=c++03 -fsyntax-only %s
2+ struct V {
3+ char c[2 ];
4+ banana V () : c(" i" ) {} // expected-error {{unknown type name}}
5+ // expected-error@-1 {{constructor cannot have a return type}}
6+ };
7+
8+ _Static_assert (V().c[0 ], " " ); // expected-error {{is not an integral constant expression}}
9+
You can’t perform that action at this time.
0 commit comments