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
789
789
Fixes:
790
790
(`#68769 <https://github.com/llvm/llvm-project/issues/68769 >`_)
791
791
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
+
792
795
- Clang now defers the instantiation of explicit specifier until constraint checking
793
796
completes (except deduction guides). Fixes:
794
797
(`#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(
8618
8618
Result.set(E);
8619
8619
} else {
8620
8620
Value = &Info.CurrentCall->createTemporary(
8621
- E, E ->getType(),
8621
+ E, Inner ->getType(),
8622
8622
E->getStorageDuration() == SD_FullExpression ? ScopeKind::FullExpression
8623
8623
: ScopeKind::Block,
8624
8624
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