Following a suggestion of Daniel Dunbar, stop people passing the name
authorDuncan Sands <baldrick@free.fr>
Tue, 17 Nov 2009 08:34:52 +0000 (08:34 +0000)
committerDuncan Sands <baldrick@free.fr>
Tue, 17 Nov 2009 08:34:52 +0000 (08:34 +0000)
as the isSigned bool to CreateIntCast by having this resolve to a call
to a private method, rather than by using a gcc attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89067 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/Compiler.h
include/llvm/Support/IRBuilder.h

index 5c414f8d5616d38a463049c8a780b53bcd1e2aa1..da31f9862885fea54420e484bd4e0350ecd05d64 100644 (file)
 #define NORETURN
 #endif
 
-#if defined(__GNUC__) && ((__GNUC__ > 4)||(__GNUC__ == 4 && __GNUC_MINOR__ > 2))
-#define ERROR_IF_USED __attribute__((error("wrong usage")))
-#elif defined(__APPLE__)
-#define ERROR_IF_USED __attribute__((unavailable))
-#else
-#define ERROR_IF_USED
-#endif
-
 #endif
index 1d3c08c63754fe55e0b5ad2d6affb258389f29f7..2db2477a9ebc09fa4b12910f988c73595deaece6 100644 (file)
@@ -709,9 +709,11 @@ public:
       return Folder.CreateIntCast(VC, DestTy, isSigned);
     return Insert(CastInst::CreateIntegerCast(V, DestTy, isSigned), Name);
   }
-  // Provided to resolve 'CreateIntCast(Ptr, Ptr, "...")', instead of converting
-  // the string to 'bool' for the isSigned parameter.
-  ERROR_IF_USED Value *CreateIntCast(Value *, const Type *, const char *);
+private:
+  // Provided to resolve 'CreateIntCast(Ptr, Ptr, "...")', giving a compile time
+  // error, instead of converting the string to bool for the isSigned parameter.
+  Value *CreateIntCast(Value *, const Type *, const char *); // DO NOT IMPLEMENT
+public:
   Value *CreateFPCast(Value *V, const Type *DestTy, const Twine &Name = "") {
     if (V->getType() == DestTy)
       return V;