[llvm-commits] [llvm] r43073 - in /llvm/trunk: include/llvm/ADT/APSInt.h include/llvm/ADT/BitVector.h include/llvm/Analysis/Dominators.h include/llvm/DerivedTypes.h include/llvm/InstrTypes.h include/llvm/Instructions.h include/llvm/Support/Registry.h include/llvm/Transforms/Utils/BasicInliner.h utils/TableGen/FileLexer.l win32/Analysis/Analysis.vcproj win32/ExecutionEngine/ExecutionEngine.vcproj win32/Transforms/Transforms.vcproj win32/config.h

Hartmut Kaiser hartmut.kaiser at gmail.com
Wed Oct 17 07:56:40 PDT 2007


Author: hkaiser
Date: Wed Oct 17 09:56:40 2007
New Revision: 43073

URL: http://llvm.org/viewvc/llvm-project?rev=43073&view=rev
Log:
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?

Modified:
    llvm/trunk/include/llvm/ADT/APSInt.h
    llvm/trunk/include/llvm/ADT/BitVector.h
    llvm/trunk/include/llvm/Analysis/Dominators.h
    llvm/trunk/include/llvm/DerivedTypes.h
    llvm/trunk/include/llvm/InstrTypes.h
    llvm/trunk/include/llvm/Instructions.h
    llvm/trunk/include/llvm/Support/Registry.h
    llvm/trunk/include/llvm/Transforms/Utils/BasicInliner.h
    llvm/trunk/utils/TableGen/FileLexer.l
    llvm/trunk/win32/Analysis/Analysis.vcproj
    llvm/trunk/win32/ExecutionEngine/ExecutionEngine.vcproj
    llvm/trunk/win32/Transforms/Transforms.vcproj
    llvm/trunk/win32/config.h

Modified: llvm/trunk/include/llvm/ADT/APSInt.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/APSInt.h?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/include/llvm/ADT/APSInt.h (original)
+++ llvm/trunk/include/llvm/ADT/APSInt.h Wed Oct 17 09:56:40 2007
@@ -25,7 +25,7 @@
 public:
   /// APSInt ctor - Create an APSInt with the specified width, default to
   /// 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 &operator=(const APSInt &RHS) {

Modified: llvm/trunk/include/llvm/ADT/BitVector.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/BitVector.h?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/include/llvm/ADT/BitVector.h (original)
+++ llvm/trunk/include/llvm/ADT/BitVector.h Wed Oct 17 09:56:40 2007
@@ -57,7 +57,7 @@
     }
 
     operator bool() const {
-      return (*WordRef) & (1L << BitPos);
+      return ((*WordRef) & (1L << BitPos)) ? true : false;
     }
   };
 

Modified: llvm/trunk/include/llvm/Analysis/Dominators.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/Dominators.h?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Analysis/Dominators.h (original)
+++ llvm/trunk/include/llvm/Analysis/Dominators.h Wed Oct 17 09:56:40 2007
@@ -64,7 +64,7 @@
 //===----------------------------------------------------------------------===//
 // DomTreeNode - Dominator Tree Node
 template<class NodeT> class DominatorTreeBase;
-class PostDominatorTree;
+struct PostDominatorTree;
 class MachineBasicBlock;
 
 template <class NodeT>
@@ -75,7 +75,7 @@
   int DFSNumIn, DFSNumOut;
 
   template<class N> friend class DominatorTreeBase;
-  friend class PostDominatorTree;
+  friend struct PostDominatorTree;
 public:
   typedef typename std::vector<DomTreeNodeBase<NodeT> *>::iterator iterator;
   typedef typename std::vector<DomTreeNodeBase<NodeT> *>::const_iterator

Modified: llvm/trunk/include/llvm/DerivedTypes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DerivedTypes.h?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/include/llvm/DerivedTypes.h (original)
+++ llvm/trunk/include/llvm/DerivedTypes.h Wed Oct 17 09:56:40 2007
@@ -263,7 +263,7 @@
     return T->getTypeID() == StructTyID;
   }
 
-  bool isPacked() const { return getSubclassData(); }
+  bool isPacked() const { return (0 != getSubclassData()) ? true : false; }
 };
 
 
@@ -279,9 +279,12 @@
   PATypeHandle ContainedType; ///< Storage for the single contained type
   SequentialType(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:
   SequentialType(TypeID TID, const Type *ElType) 
-    : CompositeType(TID), ContainedType(ElType, this) {
+    : CompositeType(TID), ContainedType(ElType, this_()) {
     ContainedTys = &ContainedType; 
     NumContainedTys = 1;
   }

Modified: llvm/trunk/include/llvm/InstrTypes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/InstrTypes.h?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/include/llvm/InstrTypes.h (original)
+++ llvm/trunk/include/llvm/InstrTypes.h Wed Oct 17 09:56:40 2007
@@ -84,12 +84,15 @@
 
 class UnaryInstruction : public Instruction {
   Use Op;
+  
+  // avoiding warning: 'this' : used in base member initializer list
+  UnaryInstruction* this_() { return this; }
 protected:
   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)
-    : Instruction(Ty, iType, &Op, 1, IAE), Op(V, this) {
+    : Instruction(Ty, iType, &Op, 1, IAE), Op(V, this_()) {
   }
 public:
   // Out of line virtual method, so the vtable, etc has a home.

Modified: llvm/trunk/include/llvm/Instructions.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Instructions.h?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Instructions.h (original)
+++ llvm/trunk/include/llvm/Instructions.h Wed Oct 17 09:56:40 2007
@@ -256,7 +256,7 @@
   /// setVolatile - Specify whether this is a volatile load or not.
   ///
   void setVolatile(bool V) { 
-    SubclassData = (SubclassData & ~1) | V; 
+    SubclassData = (SubclassData & ~1) | (V ? 1 : 0); 
   }
 
   virtual LoadInst *clone() const;
@@ -324,7 +324,7 @@
   /// setVolatile - Specify whether this is a volatile load or not.
   ///
   void setVolatile(bool V) { 
-    SubclassData = (SubclassData & ~1) | V; 
+    SubclassData = (SubclassData & ~1) | (V ? 1 : 0); 
   }
 
   /// Transparently provide more efficient getOperand methods.

Modified: llvm/trunk/include/llvm/Support/Registry.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Registry.h?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Support/Registry.h (original)
+++ llvm/trunk/include/llvm/Support/Registry.h Wed Oct 17 09:56:40 2007
@@ -67,7 +67,10 @@
   private:
     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;
     static node *Head, *Tail;
@@ -229,13 +232,6 @@
       }
     };
     
-    
-  private:
-    static void Announce(const entry &E) {
-      for (listener *Cur = ListenerHead; Cur; Cur = Cur->Next)
-        Cur->registered(E);
-    }
-    
   };
   
 }

Modified: llvm/trunk/include/llvm/Transforms/Utils/BasicInliner.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Utils/BasicInliner.h?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Transforms/Utils/BasicInliner.h (original)
+++ llvm/trunk/include/llvm/Transforms/Utils/BasicInliner.h Wed Oct 17 09:56:40 2007
@@ -21,7 +21,7 @@
 
   class Function;
   class TargetData;
-  class BasicInlinerImpl;
+  struct BasicInlinerImpl;
 
   /// BasicInliner - BasicInliner provides function level inlining interface.
   /// Clients provide list of functions which are inline without using

Modified: llvm/trunk/utils/TableGen/FileLexer.l
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/FileLexer.l?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/utils/TableGen/FileLexer.l (original)
+++ llvm/trunk/utils/TableGen/FileLexer.l Wed Oct 17 09:56:40 2007
@@ -24,7 +24,7 @@
 %option noreject
 %option noyymore
 
-%x comment
+%x in_comment
 
 %{
 #include "llvm/Config/config.h"
@@ -226,13 +226,13 @@
 [ \t\n\r]+     { /* Ignore whitespace */ }
 
 
-"/*"                    { BEGIN(comment); CommentDepth++; }
-<comment>[^*/]*         {} /* eat anything that's not a '*' or '/' */
-<comment>"*"+[^*/]*     {} /* eat up '*'s not followed by '/'s */
-<comment>"/*"           { ++CommentDepth; }
-<comment>"/"+[^*/]*     {} /* eat up /'s not followed by *'s */
-<comment>"*"+"/"        { if (!--CommentDepth) { BEGIN(INITIAL); } }
-<comment><<EOF>>        { err() << "Unterminated comment!\n"; exit(1); }
+"/*"                       { BEGIN(in_comment); CommentDepth++; }
+<in_comment>[^*/]*         {} /* eat anything that's not a '*' or '/' */
+<in_comment>"*"+[^*/]*     {} /* eat up '*'s not followed by '/'s */
+<in_comment>"/*"           { ++CommentDepth; }
+<in_comment>"/"+[^*/]*     {} /* eat up /'s not followed by *'s */
+<in_comment>"*"+"/"        { if (!--CommentDepth) { BEGIN(INITIAL); } }
+<in_comment><<EOF>>        { err() << "Unterminated comment!\n"; exit(1); }
 
 .              { return Filetext[0]; }
 

Modified: llvm/trunk/win32/Analysis/Analysis.vcproj
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/win32/Analysis/Analysis.vcproj?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/win32/Analysis/Analysis.vcproj (original)
+++ llvm/trunk/win32/Analysis/Analysis.vcproj Wed Oct 17 09:56:40 2007
@@ -41,7 +41,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
 				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"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
@@ -111,7 +111,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				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"
 				RuntimeLibrary="2"
 				ForceConformanceInForLoopScope="true"

Modified: llvm/trunk/win32/ExecutionEngine/ExecutionEngine.vcproj
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/win32/ExecutionEngine/ExecutionEngine.vcproj?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/win32/ExecutionEngine/ExecutionEngine.vcproj (original)
+++ llvm/trunk/win32/ExecutionEngine/ExecutionEngine.vcproj Wed Oct 17 09:56:40 2007
@@ -41,7 +41,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
 				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"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
@@ -111,7 +111,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				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"
 				RuntimeLibrary="2"
 				ForceConformanceInForLoopScope="true"

Modified: llvm/trunk/win32/Transforms/Transforms.vcproj
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/win32/Transforms/Transforms.vcproj?rev=43073&r1=43072&r2=43073&view=diff

==============================================================================
--- llvm/trunk/win32/Transforms/Transforms.vcproj (original)
+++ llvm/trunk/win32/Transforms/Transforms.vcproj Wed Oct 17 09:56:40 2007
@@ -405,6 +405,10 @@
 					>
 				</File>
 				<File
+					RelativePath="..\..\lib\Transforms\Utils\BasicInliner.cpp"
+					>
+				</File>
+				<File
 					RelativePath="..\..\lib\Transforms\Utils\BreakCriticalEdges.cpp"
 					>
 				</File>

Modified: llvm/trunk/win32/config.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/win32/config.h?rev=43073&r1=43072&r2=43073&view=diff

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





More information about the llvm-commits mailing list