mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Disable Visual C++ warning 4722 about aborting a destructor,
it has no value for us. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204704 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4fd5cd06c8
commit
d8ceb275c2
@ -256,13 +256,14 @@ if( MSVC )
|
||||
-wd4180 # Suppress 'qualifier applied to function type has no meaning; ignored'
|
||||
-wd4244 # Suppress ''argument' : conversion from 'type1' to 'type2', possible loss of data'
|
||||
-wd4267 # Suppress ''var' : conversion from 'size_t' to 'type', possible loss of data'
|
||||
-wd4291 # Suppress ''declaration' : no matching operator delete found; memory will not be freed if initialization throws an exception'
|
||||
-wd4345 # Suppress 'behavior change: an object of POD type constructed with an initializer of the form () will be default-initialized'
|
||||
-wd4351 # Suppress 'new behavior: elements of array 'array' will be default initialized'
|
||||
-wd4355 # Suppress ''this' : used in base member initializer list'
|
||||
-wd4503 # Suppress ''identifier' : decorated name length exceeded, name was truncated'
|
||||
-wd4624 # Suppress ''derived class' : destructor could not be generated because a base class destructor is inaccessible'
|
||||
-wd4722 # Suppress 'function' : destructor never returns, potential memory leak
|
||||
-wd4800 # Suppress ''type' : forcing value to bool 'true' or 'false' (performance warning)'
|
||||
-wd4291 # Suppress ''declaration' : no matching operator delete found; memory will not be freed if initialization throws an exception'
|
||||
|
||||
# Promoted warnings.
|
||||
-w14062 # Promote 'enumerator in switch of enum is not handled' to level 1 warning.
|
||||
|
@ -83,28 +83,8 @@ void User::operator delete(void *Usr) {
|
||||
// Operator Class
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
// In Release modes, Visual Studio complains that the Operator destructor
|
||||
// never returns, which is true by design.
|
||||
// This does *not* depend on llvm_unreachable being dependent on NDEBUG:
|
||||
// even if llvm_unreachable is replaced by __assume(false), VC still warns in
|
||||
// Release modes but not in Debug modes. The real reason is optimization flags.
|
||||
// With /Od in Debug modes the warning is not issued whereas with /O1 it is.
|
||||
// I could not find any documentation to this effect, it is reproducable:
|
||||
// Try compiling http://msdn.microsoft.com/en-us/library/khwfyc5d(v=vs.90).aspx
|
||||
// with /O1 and then with /Od.
|
||||
// Anyhow, solution is same as lib/Support/Process.cpp:~self_process().
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4722)
|
||||
#endif
|
||||
|
||||
Operator::~Operator() {
|
||||
llvm_unreachable("should never destroy an Operator");
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
} // End llvm namespace
|
||||
|
@ -34,14 +34,6 @@ self_process *process::get_self() {
|
||||
return SP;
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
// Visual Studio complains that the self_process destructor never exits. This
|
||||
// doesn't make much sense, as that's the whole point of calling abort... Just
|
||||
// silence this warning.
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4722)
|
||||
#endif
|
||||
|
||||
// The destructor for the self_process subclass must never actually be
|
||||
// executed. There should be at most one instance of this class, and that
|
||||
// instance should live until the process terminates to avoid the potential for
|
||||
@ -75,11 +67,6 @@ TimeValue self_process::get_wall_time() const {
|
||||
}
|
||||
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
|
||||
#define COLOR(FGBG, CODE, BOLD) "\033[0;" BOLD FGBG CODE "m"
|
||||
|
||||
#define ALLCOLORS(FGBG,BOLD) {\
|
||||
|
Loading…
Reference in New Issue
Block a user