-
Notifications
You must be signed in to change notification settings - Fork 12k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[clang][bytecode] Diagnose weak reads in final load #109515
Conversation
They aren't allowed here either.
@llvm/pr-subscribers-clang Author: Timm Baeder (tbaederr) ChangesThey aren't allowed here either. Full diff: https://github.com/llvm/llvm-project/pull/109515.diff 2 Files Affected:
diff --git a/clang/lib/AST/ByteCode/Interp.cpp b/clang/lib/AST/ByteCode/Interp.cpp
index 17cf3ccdeb6a94..65b4c0a9cb7660 100644
--- a/clang/lib/AST/ByteCode/Interp.cpp
+++ b/clang/lib/AST/ByteCode/Interp.cpp
@@ -620,6 +620,8 @@ bool CheckFinalLoad(InterpState &S, CodePtr OpPC, const Pointer &Ptr) {
return false;
if (!CheckTemporary(S, OpPC, Ptr, AK_Read))
return false;
+ if (!CheckWeak(S, OpPC, Ptr))
+ return false;
if (!CheckMutable(S, OpPC, Ptr))
return false;
return true;
diff --git a/clang/test/CodeGenCXX/weak-init.cpp b/clang/test/CodeGenCXX/weak-init.cpp
index 634021f38f854c..d9b17d9ca74f87 100644
--- a/clang/test/CodeGenCXX/weak-init.cpp
+++ b/clang/test/CodeGenCXX/weak-init.cpp
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 -triple=x86_64-pc-linux-gnu -emit-llvm %s -o - | FileCheck %s
+// RUN: %clang_cc1 -triple=x86_64-pc-linux-gnu -emit-llvm %s -o - -fexperimental-new-constant-interpreter | FileCheck %s
extern const int W __attribute__((weak)) = 99;
const int S = 77;
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/51/builds/4125 Here is the relevant piece of the build log for the reference
|
They aren't allowed here either.
They aren't allowed here either.
They aren't allowed here either.