Changes in directory llvm/include/llvm:
Module.h updated: 1.62 -> 1.63 --- Log message: When a function takes a variable number of pointer arguments, with a zero pointer marking the end of the list, the zero *must* be cast to the pointer type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will not extend the zero to 64 bits, thus allowing the upper 32 bits to be random junk. The new END_WITH_NULL macro may be used to annotate a such a function so that GCC (version 4 or newer) will detect the use of un-casted zero at compile time. --- Diffs of the changes: (+3 -1) Module.h | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm/include/llvm/Module.h diff -u llvm/include/llvm/Module.h:1.62 llvm/include/llvm/Module.h:1.63 --- llvm/include/llvm/Module.h:1.62 Sun May 15 20:49:23 2005 +++ llvm/include/llvm/Module.h Sat Oct 22 23:37:19 2005 @@ -22,6 +22,7 @@ #include "llvm/Function.h" #include "llvm/GlobalVariable.h" #include "llvm/ADT/SetVector.h" +#include "llvm/Support/DataTypes.h" namespace llvm { @@ -111,7 +112,8 @@ /// table. If it does not exist, add a prototype for the function and return /// it. This version of the method takes a null terminated list of function /// arguments, which makes it easier for clients to use. - Function *getOrInsertFunction(const std::string &Name, const Type *RetTy,...); + Function *getOrInsertFunction(const std::string &Name, const Type *RetTy,...) + END_WITH_NULL; /// getFunction - Look up the specified function in the module symbol table. /// If it does not exist, return null. _______________________________________________ llvm-commits mailing list [EMAIL PROTECTED] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits