Updated VC++ build system.

Silenced some VC warnings.

I'm getting linker errors, though: unresolved externals:

llvm::Split<class llvm::BasicBlock *,struct llvm::GraphTraits<class llvm::BasicBlock *> >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)

and

llvm::Split<struct llvm::Inverse<class llvm::BasicBlock *>,struct llvm::GraphTraits<struct llvm::Inverse<class llvm::BasicBlock *> > >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)

Where are these defined?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43073 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hartmut Kaiser
2007-10-17 14:56:40 +00:00
parent c623096fe2
commit efd4a5144b
13 changed files with 42 additions and 33 deletions

View File

@ -25,7 +25,7 @@ class APSInt : public APInt {
public: public:
/// APSInt ctor - Create an APSInt with the specified width, default to /// APSInt ctor - Create an APSInt with the specified width, default to
/// unsigned. /// unsigned.
explicit APSInt(unsigned BitWidth) : APInt(BitWidth, 0), IsUnsigned(true) {} explicit APSInt(uint32_t BitWidth) : APInt(BitWidth, 0), IsUnsigned(true) {}
APSInt(const APInt &I) : APInt(I), IsUnsigned(true) {} APSInt(const APInt &I) : APInt(I), IsUnsigned(true) {}
APSInt &operator=(const APSInt &RHS) { APSInt &operator=(const APSInt &RHS) {

View File

@ -57,7 +57,7 @@ public:
} }
operator bool() const { operator bool() const {
return (*WordRef) & (1L << BitPos); return ((*WordRef) & (1L << BitPos)) ? true : false;
} }
}; };

View File

@ -64,7 +64,7 @@ public:
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// DomTreeNode - Dominator Tree Node // DomTreeNode - Dominator Tree Node
template<class NodeT> class DominatorTreeBase; template<class NodeT> class DominatorTreeBase;
class PostDominatorTree; struct PostDominatorTree;
class MachineBasicBlock; class MachineBasicBlock;
template <class NodeT> template <class NodeT>
@ -75,7 +75,7 @@ class DomTreeNodeBase {
int DFSNumIn, DFSNumOut; int DFSNumIn, DFSNumOut;
template<class N> friend class DominatorTreeBase; template<class N> friend class DominatorTreeBase;
friend class PostDominatorTree; friend struct PostDominatorTree;
public: public:
typedef typename std::vector<DomTreeNodeBase<NodeT> *>::iterator iterator; typedef typename std::vector<DomTreeNodeBase<NodeT> *>::iterator iterator;
typedef typename std::vector<DomTreeNodeBase<NodeT> *>::const_iterator typedef typename std::vector<DomTreeNodeBase<NodeT> *>::const_iterator

View File

@ -263,7 +263,7 @@ public:
return T->getTypeID() == StructTyID; return T->getTypeID() == StructTyID;
} }
bool isPacked() const { return getSubclassData(); } bool isPacked() const { return (0 != getSubclassData()) ? true : false; }
}; };
@ -279,9 +279,12 @@ class SequentialType : public CompositeType {
PATypeHandle ContainedType; ///< Storage for the single contained type PATypeHandle ContainedType; ///< Storage for the single contained type
SequentialType(const SequentialType &); // Do not implement! SequentialType(const SequentialType &); // Do not implement!
const SequentialType &operator=(const SequentialType &); // Do not implement! const SequentialType &operator=(const SequentialType &); // Do not implement!
// avoiding warning: 'this' : used in base member initializer list
SequentialType* this_() { return this; }
protected: protected:
SequentialType(TypeID TID, const Type *ElType) SequentialType(TypeID TID, const Type *ElType)
: CompositeType(TID), ContainedType(ElType, this) { : CompositeType(TID), ContainedType(ElType, this_()) {
ContainedTys = &ContainedType; ContainedTys = &ContainedType;
NumContainedTys = 1; NumContainedTys = 1;
} }

View File

@ -84,12 +84,15 @@ public:
class UnaryInstruction : public Instruction { class UnaryInstruction : public Instruction {
Use Op; Use Op;
// avoiding warning: 'this' : used in base member initializer list
UnaryInstruction* this_() { return this; }
protected: protected:
UnaryInstruction(const Type *Ty, unsigned iType, Value *V, Instruction *IB =0) UnaryInstruction(const Type *Ty, unsigned iType, Value *V, Instruction *IB =0)
: Instruction(Ty, iType, &Op, 1, IB), Op(V, this) { : Instruction(Ty, iType, &Op, 1, IB), Op(V, this_()) {
} }
UnaryInstruction(const Type *Ty, unsigned iType, Value *V, BasicBlock *IAE) UnaryInstruction(const Type *Ty, unsigned iType, Value *V, BasicBlock *IAE)
: Instruction(Ty, iType, &Op, 1, IAE), Op(V, this) { : Instruction(Ty, iType, &Op, 1, IAE), Op(V, this_()) {
} }
public: public:
// Out of line virtual method, so the vtable, etc has a home. // Out of line virtual method, so the vtable, etc has a home.

View File

@ -256,7 +256,7 @@ public:
/// setVolatile - Specify whether this is a volatile load or not. /// setVolatile - Specify whether this is a volatile load or not.
/// ///
void setVolatile(bool V) { void setVolatile(bool V) {
SubclassData = (SubclassData & ~1) | V; SubclassData = (SubclassData & ~1) | (V ? 1 : 0);
} }
virtual LoadInst *clone() const; virtual LoadInst *clone() const;
@ -324,7 +324,7 @@ public:
/// setVolatile - Specify whether this is a volatile load or not. /// setVolatile - Specify whether this is a volatile load or not.
/// ///
void setVolatile(bool V) { void setVolatile(bool V) {
SubclassData = (SubclassData & ~1) | V; SubclassData = (SubclassData & ~1) | (V ? 1 : 0);
} }
/// Transparently provide more efficient getOperand methods. /// Transparently provide more efficient getOperand methods.

View File

@ -67,7 +67,10 @@ namespace llvm {
private: private:
Registry(); // Do not implement. Registry(); // Do not implement.
static void Announce(node *); static void Announce(const entry &E) {
for (listener *Cur = ListenerHead; Cur; Cur = Cur->Next)
Cur->registered(E);
}
friend class node; friend class node;
static node *Head, *Tail; static node *Head, *Tail;
@ -229,13 +232,6 @@ namespace llvm {
} }
}; };
private:
static void Announce(const entry &E) {
for (listener *Cur = ListenerHead; Cur; Cur = Cur->Next)
Cur->registered(E);
}
}; };
} }

View File

@ -21,7 +21,7 @@ namespace llvm {
class Function; class Function;
class TargetData; class TargetData;
class BasicInlinerImpl; struct BasicInlinerImpl;
/// BasicInliner - BasicInliner provides function level inlining interface. /// BasicInliner - BasicInliner provides function level inlining interface.
/// Clients provide list of functions which are inline without using /// Clients provide list of functions which are inline without using

View File

@ -24,7 +24,7 @@
%option noreject %option noreject
%option noyymore %option noyymore
%x comment %x in_comment
%{ %{
#include "llvm/Config/config.h" #include "llvm/Config/config.h"
@ -226,13 +226,13 @@ ${Identifier} { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);
[ \t\n\r]+ { /* Ignore whitespace */ } [ \t\n\r]+ { /* Ignore whitespace */ }
"/*" { BEGIN(comment); CommentDepth++; } "/*" { BEGIN(in_comment); CommentDepth++; }
<comment>[^*/]* {} /* eat anything that's not a '*' or '/' */ <in_comment>[^*/]* {} /* eat anything that's not a '*' or '/' */
<comment>"*"+[^*/]* {} /* eat up '*'s not followed by '/'s */ <in_comment>"*"+[^*/]* {} /* eat up '*'s not followed by '/'s */
<comment>"/*" { ++CommentDepth; } <in_comment>"/*" { ++CommentDepth; }
<comment>"/"+[^*/]* {} /* eat up /'s not followed by *'s */ <in_comment>"/"+[^*/]* {} /* eat up /'s not followed by *'s */
<comment>"*"+"/" { if (!--CommentDepth) { BEGIN(INITIAL); } } <in_comment>"*"+"/" { if (!--CommentDepth) { BEGIN(INITIAL); } }
<comment><<EOF>> { err() << "Unterminated comment!\n"; exit(1); } <in_comment><<EOF>> { err() << "Unterminated comment!\n"; exit(1); }
. { return Filetext[0]; } . { return Filetext[0]; }

View File

@ -41,7 +41,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\include;.." AdditionalIncludeDirectories="..\..\include;.."
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
StringPooling="true" StringPooling="true"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
@ -111,7 +111,7 @@
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.." AdditionalIncludeDirectories="..\..\include;.."
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
StringPooling="true" StringPooling="true"
RuntimeLibrary="2" RuntimeLibrary="2"
ForceConformanceInForLoopScope="true" ForceConformanceInForLoopScope="true"

View File

@ -41,7 +41,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\include;.." AdditionalIncludeDirectories="..\..\include;.."
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
StringPooling="true" StringPooling="true"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
@ -111,7 +111,7 @@
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.." AdditionalIncludeDirectories="..\..\include;.."
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
StringPooling="true" StringPooling="true"
RuntimeLibrary="2" RuntimeLibrary="2"
ForceConformanceInForLoopScope="true" ForceConformanceInForLoopScope="true"

View File

@ -404,6 +404,10 @@
RelativePath="..\..\lib\Transforms\Utils\BasicBlockUtils.cpp" RelativePath="..\..\lib\Transforms\Utils\BasicBlockUtils.cpp"
> >
</File> </File>
<File
RelativePath="..\..\lib\Transforms\Utils\BasicInliner.cpp"
>
</File>
<File <File
RelativePath="..\..\lib\Transforms\Utils\BreakCriticalEdges.cpp" RelativePath="..\..\lib\Transforms\Utils\BreakCriticalEdges.cpp"
> >

View File

@ -1,8 +1,8 @@
/* This file is appended to config.h.in to form the Windows version of /* This file is appended to config.h.in to form the Windows version of
* config.h */ * config.h */
#define PACKAGE_NAME "LLVM (win32 vc7.1)" #define PACKAGE_NAME "LLVM (win32 vc8.0)"
#define PACKAGE_VERSION 1.4 #define PACKAGE_VERSION 2.1
#define HAVE_WINDOWS_H 1 #define HAVE_WINDOWS_H 1
#define HAVE_LIMITS_H 1 #define HAVE_LIMITS_H 1
#define HAVE_SYS_STAT_H 1 #define HAVE_SYS_STAT_H 1
@ -22,3 +22,6 @@
#define LLVM_ON_WIN32 1 #define LLVM_ON_WIN32 1
#define strtoll strtol #define strtoll strtol
#define stricmp _stricmp
#define strdup _strdup