I'm constantly get the folowing warnings during build: In file included from f:/tmp/llvm/build/../src/lib/System/Path.cpp:107: f:/tmp/llvm/build/../src/lib/System/Win32/Path.inc: In static member function `static llvm::sys::Path llvm::sys::Path::GetTemporaryDirectory()': f:/tmp/llvm/build/../src/lib/System/Win32/Path.inc:124: warning: unsigned int format, DWORD arg (arg 3) f:/tmp/llvm/build/../src/lib/System/Win32/Path.inc: In member function `void llvm::sys::Path::getStatusInfo(llvm::sys::Path::StatusInfo&) const': f:/tmp/llvm/build/../src/lib/System/Win32/Path.inc:343: warning: left shift count >= width of type Today I've decided to look inside. The first warning fixes easily just by casting DWORD to unsigned. The second is much more hm... Win32/Path.inc:343: info.fileSize = fi.nFileSizeHigh; info.fileSize <<= 32; info.fileSize += fi.nFileSizeLow; info is StatusInfo, so fileSize is size_t, which is 32 bits here. The main question: should this get fixed somehow or not?
Anton, Please try these patches: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060605/035465.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060605/035466.html This should clear up the warnings.
Yes. That fixed the warning. One more additional patch (GetCurrentProcessId() is DWORD, which is signed): --- lib/System/Win32/Path.inc 46db45fba9a284264f13eb41377ba92c8a6210ca +++ lib/System/Win32/Path.inc ab3912c28f2fce713574f5f4c6248ac808bde8dc @@ -121,7 +121,7 @@ // Append a subdirectory passed on our process id so multiple LLVMs don't // step on each other's toes. - sprintf(pathname, "LLVM_%u", GetCurrentProcessId()); + sprintf(pathname, "LLVM_%u", (unsigned)GetCurrentProcessId()); result.appendComponent(pathname); // If there's a directory left over from a previous LLVM execution that
Committed here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060605/035469.html Resolving this as fixed. Please re-open if there are more issues.