jcsxky wrote:
@ymand Could you take a look at this pr?
https://github.com/llvm/llvm-project/pull/68510
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jcsxky deleted
https://github.com/llvm/llvm-project/pull/68510
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jcsxky updated
https://github.com/llvm/llvm-project/pull/68510
>From 55ca8fa197e469a7c8f57d7a174c07a063eb022e Mon Sep 17 00:00:00 2001
From: huqizhi
Date: Sun, 8 Oct 2023 16:00:29 +0800
Subject: [PATCH] [clang][analysis]Use dyn_cast_or_null instead cast to prevent
crash
jcsxky wrote:
> Thanks for this fix! Unfortunately, I wasn't able to repro the crash in
> godbolt: https://godbolt.org/z/s741z5djY. Can you double check that the check
> crashes on that example without your fix?
The test case is different from that in this patch. Use `float` in `optional`.
@@ -180,3 +180,44 @@ void std_forward_rvalue_ref_safe(absl::optional&&
opt) {
std::forward>(opt).value();
}
+
+namespace std {
+
+template
+class optional {
+public:
+ template
+ optional& operator=(const U ){
jcsxky wrote:
Using `absl::optional`
@@ -180,3 +180,44 @@ void std_forward_rvalue_ref_safe(absl::optional&&
opt) {
std::forward>(opt).value();
}
+
+namespace std {
+
+template
+class optional {
+public:
+ template
+ optional& operator=(const U ){
+ data = u;
+ }
+private:
+ T
@@ -180,3 +180,44 @@ void std_forward_rvalue_ref_safe(absl::optional&&
opt) {
std::forward>(opt).value();
}
+
+namespace std {
+
+template
+class optional {
+public:
+ template
+ optional& operator=(const U ){
ymand wrote:
The issue isn't specifix
@@ -180,3 +180,44 @@ void std_forward_rvalue_ref_safe(absl::optional&&
opt) {
std::forward>(opt).value();
}
+
+namespace std {
+
+template
+class optional {
+public:
+ template
+ optional& operator=(const U ){
+ data = u;
+ }
+private:
+ T
@@ -180,3 +180,44 @@ void std_forward_rvalue_ref_safe(absl::optional&&
opt) {
std::forward>(opt).value();
}
+
+namespace std {
+
+template
+class optional {
+public:
+ template
+ optional& operator=(const U ){
+ data = u;
+ }
+private:
+ T
https://github.com/HerrCai0907 approved this pull request.
https://github.com/llvm/llvm-project/pull/68510
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jcsxky updated
https://github.com/llvm/llvm-project/pull/68510
>From 7a8c515c70bb06ae886c8c434d9d3a79a152d115 Mon Sep 17 00:00:00 2001
From: huqizhi
Date: Sun, 8 Oct 2023 16:00:29 +0800
Subject: [PATCH] [clang][analysis]Use dyn_cast_or_null instead cast to prevent
crash
@@ -599,7 +599,7 @@ void transferAssignment(const CXXOperatorCallExpr *E,
BoolValue ,
LatticeTransferState ) {
assert(E->getNumArgs() > 0);
- if (auto *Loc = cast(
+ if (auto *Loc = dyn_cast_or_null(
jcsxky wrote:
updated
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/68510
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
13 matches
Mail list logo