-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[Clang][NFC] Explicitly delete copy ctor and assignment for CGAtomicOptionsRAII #137275
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][NFC] Explicitly delete copy ctor and assignment for CGAtomicOptionsRAII #137275
Conversation
…ptionsRAII Static analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explict copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted.
@llvm/pr-subscribers-clang Author: Shafik Yaghmour (shafik) ChangesStatic analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted. Full diff: https://github.com/llvm/llvm-project/pull/137275.diff 1 Files Affected:
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 4c5e8a8a44926..561f8f6a2a2fb 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -869,6 +869,9 @@ class CodeGenFunction : public CodeGenTypeCache {
}
CGM.setAtomicOpts(AO);
}
+
+ CGAtomicOptionsRAII(const CGAtomicOptionsRAII &) = delete;
+ CGAtomicOptionsRAII &operator=(const CGAtomicOptionsRAII &) = delete;
~CGAtomicOptionsRAII() { CGM.setAtomicOpts(SavedAtomicOpts); }
private:
|
@llvm/pr-subscribers-clang-codegen Author: Shafik Yaghmour (shafik) ChangesStatic analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted. Full diff: https://github.com/llvm/llvm-project/pull/137275.diff 1 Files Affected:
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 4c5e8a8a44926..561f8f6a2a2fb 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -869,6 +869,9 @@ class CodeGenFunction : public CodeGenTypeCache {
}
CGM.setAtomicOpts(AO);
}
+
+ CGAtomicOptionsRAII(const CGAtomicOptionsRAII &) = delete;
+ CGAtomicOptionsRAII &operator=(const CGAtomicOptionsRAII &) = delete;
~CGAtomicOptionsRAII() { CGM.setAtomicOpts(SavedAtomicOpts); }
private:
|
…ptionsRAII (llvm#137275) Static analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted.
…ptionsRAII (llvm#137275) Static analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted.
…ptionsRAII (llvm#137275) Static analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted.
…ptionsRAII (llvm#137275) Static analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted.
…ptionsRAII (llvm#137275) Static analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted.
Static analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted.