mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-13 09:33:50 +00:00
Fix the Win32 VS2008 build:
- Make type declarations match the struct/class keyword of the definition. - Move AddSignalHandler into the namespace where it belongs. - Correctly call functions from template base. - Some other small changes. With this patch, LLVM and Clang should build properly and with far less noise under VS2008. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67347 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a24752ff43
commit
48fe63526e
@ -145,7 +145,7 @@ if( MSVC )
|
|||||||
add_definitions( -D_SCL_SECURE_NO_WARNINGS -DCRT_NONSTDC_NO_WARNINGS )
|
add_definitions( -D_SCL_SECURE_NO_WARNINGS -DCRT_NONSTDC_NO_WARNINGS )
|
||||||
add_definitions( -D_SCL_SECURE_NO_DEPRECATE )
|
add_definitions( -D_SCL_SECURE_NO_DEPRECATE )
|
||||||
add_definitions( -wd4146 -wd4503 -wd4996 -wd4800 -wd4244 -wd4624 )
|
add_definitions( -wd4146 -wd4503 -wd4996 -wd4800 -wd4244 -wd4624 )
|
||||||
add_definitions( -wd4355 -wd4715 )
|
add_definitions( -wd4355 -wd4715 -wd4180 -wd4345 -wd4224 )
|
||||||
endif( MSVC )
|
endif( MSVC )
|
||||||
|
|
||||||
include_directories( ${LLVM_BINARY_DIR}/include ${LLVM_MAIN_INCLUDE_DIR})
|
include_directories( ${LLVM_BINARY_DIR}/include ${LLVM_MAIN_INCLUDE_DIR})
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include "llvm/ADT/PointerIntPair.h"
|
#include "llvm/ADT/PointerIntPair.h"
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
struct SUnit;
|
class SUnit;
|
||||||
class MachineConstantPool;
|
class MachineConstantPool;
|
||||||
class MachineFunction;
|
class MachineFunction;
|
||||||
class MachineModuleInfo;
|
class MachineModuleInfo;
|
||||||
|
@ -833,8 +833,8 @@ class opt : public Option,
|
|||||||
typename ParserClass::parser_data_type();
|
typename ParserClass::parser_data_type();
|
||||||
if (Parser.parse(*this, ArgName, Arg, Val))
|
if (Parser.parse(*this, ArgName, Arg, Val))
|
||||||
return true; // Parse error!
|
return true; // Parse error!
|
||||||
setValue(Val);
|
this->setValue(Val);
|
||||||
setPosition(pos);
|
this->setPosition(pos);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,6 +84,10 @@ public:
|
|||||||
void operator delete(void*, unsigned) {
|
void operator delete(void*, unsigned) {
|
||||||
assert(0 && "Constructor throws?");
|
assert(0 && "Constructor throws?");
|
||||||
}
|
}
|
||||||
|
/// placement delete - required by std, but never called.
|
||||||
|
void operator delete(void*, unsigned, bool) {
|
||||||
|
assert(0 && "Constructor throws?");
|
||||||
|
}
|
||||||
protected:
|
protected:
|
||||||
template <int Idx, typename U> static Use &OpFrom(const U *that) {
|
template <int Idx, typename U> static Use &OpFrom(const U *that) {
|
||||||
return Idx < 0
|
return Idx < 0
|
||||||
|
@ -16,6 +16,7 @@ add_llvm_library(LLVMAnalysis
|
|||||||
IntervalPartition.cpp
|
IntervalPartition.cpp
|
||||||
LibCallAliasAnalysis.cpp
|
LibCallAliasAnalysis.cpp
|
||||||
LibCallSemantics.cpp
|
LibCallSemantics.cpp
|
||||||
|
LiveValues.cpp
|
||||||
LoopInfo.cpp
|
LoopInfo.cpp
|
||||||
LoopPass.cpp
|
LoopPass.cpp
|
||||||
LoopVR.cpp
|
LoopVR.cpp
|
||||||
|
@ -2042,7 +2042,7 @@ addIntervalsForSpills(const LiveInterval &li,
|
|||||||
if (CanFold && !Ops.empty()) {
|
if (CanFold && !Ops.empty()) {
|
||||||
if (tryFoldMemoryOperand(MI, vrm, NULL, index, Ops, true, Slot,VReg)){
|
if (tryFoldMemoryOperand(MI, vrm, NULL, index, Ops, true, Slot,VReg)){
|
||||||
Folded = true;
|
Folded = true;
|
||||||
if (FoundUse > 0) {
|
if (FoundUse) {
|
||||||
// Also folded uses, do not issue a load.
|
// Also folded uses, do not issue a load.
|
||||||
eraseRestoreInfo(Id, index, VReg, RestoreMBBs, RestoreIdxes);
|
eraseRestoreInfo(Id, index, VReg, RestoreMBBs, RestoreIdxes);
|
||||||
nI.removeRange(getLoadIndex(index), getUseIndex(index)+1);
|
nI.removeRange(getLoadIndex(index), getUseIndex(index)+1);
|
||||||
|
@ -39,5 +39,5 @@ int sys::AlarmStatus() {
|
|||||||
extern "C" void __stdcall Sleep(unsigned long);
|
extern "C" void __stdcall Sleep(unsigned long);
|
||||||
|
|
||||||
void sys::Sleep(unsigned n) {
|
void sys::Sleep(unsigned n) {
|
||||||
Sleep(n*1000);
|
::Sleep(n*1000);
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#include "Win32.h"
|
#include "Win32.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
#include <imagehlp.h>
|
#include <imagehlp.h>
|
||||||
@ -111,6 +112,17 @@ void sys::SetInterruptFunction(void (*IF)()) {
|
|||||||
InterruptFunction = IF;
|
InterruptFunction = IF;
|
||||||
LeaveCriticalSection(&CriticalSection);
|
LeaveCriticalSection(&CriticalSection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// AddSignalHandler - Add a function to be called when a signal is delivered
|
||||||
|
/// to the process. The handler can have a cookie passed to it to identify
|
||||||
|
/// what instance of the handler it is.
|
||||||
|
void sys::AddSignalHandler(void (*FnPtr)(void *), void *Cookie) {
|
||||||
|
if (CallBacksToRun == 0)
|
||||||
|
CallBacksToRun = new std::vector<std::pair<void(*)(void*), void*> >();
|
||||||
|
CallBacksToRun->push_back(std::make_pair(FnPtr, Cookie));
|
||||||
|
RegisterHandler();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Cleanup() {
|
static void Cleanup() {
|
||||||
@ -256,13 +268,3 @@ static BOOL WINAPI LLVMConsoleCtrlHandler(DWORD dwCtrlType) {
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// AddSignalHandler - Add a function to be called when a signal is delivered
|
|
||||||
/// to the process. The handler can have a cookie passed to it to identify
|
|
||||||
/// what instance of the handler it is.
|
|
||||||
void llvm::sys::AddSignalHandler(void (*FnPtr)(void *), void *Cookie) {
|
|
||||||
if (CallBacksToRun == 0)
|
|
||||||
CallBacksToRun = new std::vector<std::pair<void(*)(void*), void*> >();
|
|
||||||
CallBacksToRun->push_back(std::make_pair(FnPtr, Cookie));
|
|
||||||
RegisterHandler();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ namespace llvm {
|
|||||||
struct RecTy;
|
struct RecTy;
|
||||||
struct Init;
|
struct Init;
|
||||||
struct MultiClass;
|
struct MultiClass;
|
||||||
class SubClassReference;
|
struct SubClassReference;
|
||||||
|
|
||||||
struct LetRecord {
|
struct LetRecord {
|
||||||
std::string Name;
|
std::string Name;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user