Following a suggestion of Daniel Dunbar, stop people passing the name

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
This commit is contained in:
Duncan Sands 2009-11-17 08:34:52 +00:00
parent 5f9843f68f
commit 8dc071a6e5
2 changed files with 5 additions and 11 deletions

View File

@ -78,12 +78,4 @@
#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

View 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;