mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-21 12:38:45 +00:00
Add LLVM_DELETED_FUNCTION compatibility macro.
This should replace uses of: class A { A(const &A); // DO NOT IMPLEMENT public: ... }; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161975 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
58aae3841c
commit
b9d565ac99
@ -38,6 +38,25 @@
|
|||||||
#define llvm_move(value) (value)
|
#define llvm_move(value) (value)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/// LLVM_DELETED_FUNCTION - Expands to = delete if the compiler supports it.
|
||||||
|
/// Use to mark functions as uncallable. Member functions with this should
|
||||||
|
/// be declared private so that some behaivor is kept in C++03 mode.
|
||||||
|
///
|
||||||
|
/// class DontCopy {
|
||||||
|
/// private:
|
||||||
|
/// DontCopy(const DontCopy&) LLVM_DELETED_FUNCTION;
|
||||||
|
/// DontCopy &operator =(const DontCopy&) LLVM_DELETED_FUNCTION;
|
||||||
|
/// public:
|
||||||
|
/// ...
|
||||||
|
/// };
|
||||||
|
#if (__has_feature(cxx_deleted_functions) \
|
||||||
|
|| defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
// No version of MSVC currently supports this.
|
||||||
|
#define LLVM_DELETED_FUNCTION = delete
|
||||||
|
#else
|
||||||
|
#define LLVM_DELETED_FUNCTION
|
||||||
|
#endif
|
||||||
|
|
||||||
/// LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked
|
/// LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked
|
||||||
/// into a shared library, then the class should be private to the library and
|
/// into a shared library, then the class should be private to the library and
|
||||||
/// not accessible from outside it. Can also be used to mark variables and
|
/// not accessible from outside it. Can also be used to mark variables and
|
||||||
|
Loading…
x
Reference in New Issue
Block a user