[LLVMdev] Problem with CVS LLVM build in obj != src dir case

Reid Spencer reid at x10sys.com
Thu Sep 2 06:57:37 PDT 2004


On Thu, 2004-09-02 at 00:04, Vladimir Merzliakov wrote:
> I resend email with updated (after mass header move) log examples.
> 
> > LLVM build without big problems in obj dir == src dir case (for example, 
> > last night tester build)
> > But I have problem with building CVS version LLVM in obj dir != src dir 
> > case.

I *only* build with obj dir != src dir and never have a problem.

> >
> gmake[1]: Entering directory 
> `/usr/home/wanderer/pkg/build/llvm/obj/projects'
> gmake[2]: Entering directory 
> `/usr/home/wanderer/pkg/build/llvm/src/llvm/projects/Stacker'
> ../../Makefile.common:60: ../../Makefile.config: No such file or directory
> ../../Makefile.common:65: /Makefile.rules: No such file or directory
> gmake[2]: *** No rule to make target `/Makefile.rules'.  Stop.
> gmake[2]: Leaving directory 
> `/usr/home/wanderer/pkg/build/llvm/src/llvm/projects/Stacker'
> gmake[1]: *** [all] Error 1
> gmake[1]: Leaving directory `/usr/home/wanderer/pkg/build/llvm/obj/projects'
> gmake: *** [all] Error 1

This looks like you didn't run configure in the build directory ?

> 
> > Also some new warnings from last successful buld some days ago:
> >
> > 1) flex
> gmake[2]: Entering directory 
> `/usr/home/wanderer/pkg/build/llvm/obj/tools/llvmc'
> Flexing /home/wanderer/pkg/build/llvm/src/llvm/tools/llvmc/ConfigLexer.l
> "/home/wanderer/pkg/build/llvm/src/llvm/tools/llvmc/ConfigLexer.l", line 
> 191: warning, -s option given but default rule can be matched
> gmake[2]: Leaving directory 
> `/usr/home/wanderer/pkg/build/llvm/obj/tools/llvmc'

That one's okay. If I could figure out how to turn the warning off, I
would. In any event, its not indicative of a problem.

> 
> > 2) gcc 3.5 (mainline CVS)
> > Mostly result using ~0 (negative signed int) expression as value of 
> > unsigned int function parameter.
> >
> 
> Compiling Program.cpp
> /usr/home/wanderer/pkg/build/llvm/obj/lib/System/platform/../Unix/Program.cpp: 
> In member function `int llvm::sys::Program::ExecuteAndWait(const 
> std::vector<std::string, std::allocator<std::string> >&) const':
> /usr/home/wanderer/pkg/build/llvm/obj/lib/System/platform/../Unix/Program.cpp:132: 
> warning: control reaches end of non-void function

Not sure what's up with that. 3.4 doesn't generate the warning and there
actually is not a way to return from that function by reaching the end.
The final statement is an if which either throws or returns. Looks like
3.5 has some regressions.

> 
> Compiling TableGen.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/utils/TableGen/TableGen.cpp: In 
> function `llvm::Record* 
> ParseMachineCode(__gnu_cxx::__normal_iterator<llvm::Record**, 
> std::vector<llvm::Record*, std::allocator<llvm::Record*> > >, 
> __gnu_cxx::__normal_iterator<llvm::Record**, std::vector<llvm::Record*, 
> std::allocator<llvm::Record*> > >, unsigned char*)':
> /home/wanderer/pkg/build/llvm/src/llvm/utils/TableGen/TableGen.cpp:227: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/utils/TableGen/TableGen.cpp:234: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/utils/TableGen/TableGen.cpp:235: 
> warning: converting of negative value `-0x000000001' to `unsigned int'

I think that's what the author intended. It doesn't give a warning with
GCC 3.4. If this troubles you, could you prepare a patch that doesn't
cause this file to generate the warning with GCC 3.5?

I have the same comment for everything below here too. Most of us don't
use GCC 3.5 (yet). I personally won't use it until 3.5.1 is available as
I don't like to waste my time with compiler flaws. So, if you'd like to
get rid of these warnings, the simplest solution is to use GCC 3.4.
Otherwise, you'll need to fix them yourself.

Reid.

> 
> Compiling BottomUpClosure.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp: 
> In member function `unsigned int 
> llvm::BUDataStructures::calculateGraphs(llvm::Function*, 
> std::vector<llvm::Function*, std::allocator<llvm::Function*> >&, unsigned 
> int&, __gnu_cxx::hash_map<llvm::Function*, unsigned int, 
> __gnu_cxx::hash<llvm::Function*>, std::equal_to<llvm::Function*>, 
> std::allocator<unsigned int> >&)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp:109: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> 
> Compiling AliasSetTracker.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Analysis/AliasSetTracker.cpp: In 
> member function `bool llvm::AliasSetTracker::add(llvm::FreeInst*)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Analysis/AliasSetTracker.cpp:260: 
> warning: passing negative value `-0x000000001' for converting 2 of 
> `llvm::AliasSet& llvm::AliasSetTracker::addPointer(llvm::Value*, unsigned 
> int, llvm::AliasSet::AccessType, bool&)'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Analysis/AliasSetTracker.cpp: In 
> member function `bool llvm::AliasSetTracker::remove(llvm::FreeInst*)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Analysis/AliasSetTracker.cpp:366: 
> warning: passing negative value `-0x000000001' for converting 2 of 
> `llvm::AliasSet* llvm::AliasSetTracker::findAliasSetForPointer(const 
> llvm::Value*, unsigned int)'
> 
> Compiling DeadStoreElimination.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp: 
> In member function `bool<unnamed>::DSE::runOnBasicBlock(llvm::BasicBlock&)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:72: 
> warning: passing negative value `-0x000000001' for converting 2 of `bool 
> llvm::AliasSetTracker::add(llvm::Value*, unsigned int)'
> 
> Compiling LoopExtractor.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/include/llvm/PassSupport.h: In 
> function `llvm::Pass* llvm::callDefaultCtor() [with PassName = 
> <unnamed>::LoopExtractor]':
> /home/wanderer/pkg/build/llvm/src/llvm/include/llvm/PassSupport.h:209: 
> instantiated from `llvm::RegisterOpt<PassName>::RegisterOpt(const char*, 
> const char*, bool) [with PassName = <unnamed>::LoopExtractor]'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Transforms/IPO/LoopExtractor.cpp:50: 
> instantiated from here
> /home/wanderer/pkg/build/llvm/src/llvm/include/llvm/PassSupport.h:171: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> 
> Compiling X86CodeEmitter.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86CodeEmitter.cpp: In 
> member function `void<unnamed>::Emitter::emitMemModRMByte(const 
> llvm::MachineInstr&, unsigned int, unsigned int)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86CodeEmitter.cpp:437: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86CodeEmitter.cpp:437: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86CodeEmitter.cpp:437: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86CodeEmitter.cpp:437: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86CodeEmitter.cpp:437: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> Compiling X86FloatingPoint.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86FloatingPoint.cpp: 
> In member function 
> `void<unnamed>::FPS::popStackAfter(llvm::ilist_iterator<llvm::MachineInstr>&)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86FloatingPoint.cpp:339: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86FloatingPoint.cpp: 
> In member function 
> `void<unnamed>::FPS::freeStackSlotAfter(llvm::ilist_iterator<llvm::MachineInstr>&, 
> unsigned int)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86FloatingPoint.cpp:371: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/X86/X86FloatingPoint.cpp:372: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> 
> Compiling SparcV9BurgISel.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/SparcV9/SparcV9BurgISel.cpp: 
> In function `uint64_t llvm::ConvertConstantToIntType(const 
> llvm::TargetMachine&, const llvm::Value*, const llvm::Type*, bool&)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/SparcV9/SparcV9BurgISel.cpp:574: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> 
> Compiling SparcV9RegInfo.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/SparcV9/SparcV9RegInfo.cpp: 
> In member function `void llvm::SparcV9RegInfo::suggestRegs4MethodArgs(const 
> llvm::Function*, llvm::LiveRangeInfo&) const':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/SparcV9/SparcV9RegInfo.cpp:383: 
> warning: converting of negative value `BadRegClass' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/SparcV9/SparcV9RegInfo.cpp: 
> In member function `void llvm::SparcV9RegInfo::colorMethodArgs(const 
> llvm::Function*, llvm::LiveRangeInfo&, std::vector<llvm::MachineInstr*, 
> std::allocator<llvm::MachineInstr*> >&, std::vector<llvm::MachineInstr*, 
> std::allocator<llvm::MachineInstr*> >&) const':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/SparcV9/SparcV9RegInfo.cpp:427: 
> warning: converting of negative value `BadRegClass' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/SparcV9/SparcV9RegInfo.cpp: 
> In member function `void 
> llvm::SparcV9RegInfo::suggestRegs4CallArgs(llvm::MachineInstr*, 
> llvm::LiveRangeInfo&) const':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Target/SparcV9/SparcV9RegInfo.cpp:618: 
> warning: converting of negative value `BadRegClass' to `unsigned int'
> 
> Compiling ProgramInfo.cpp
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Debugger/ProgramInfo.cpp: In 
> function `const llvm::GlobalVariable* getNextStopPoint(const llvm::Value*, 
> unsigned int&, unsigned int&)':
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Debugger/ProgramInfo.cpp:90: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Debugger/ProgramInfo.cpp:91: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Debugger/ProgramInfo.cpp:104: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> /home/wanderer/pkg/build/llvm/src/llvm/lib/Debugger/ProgramInfo.cpp:104: 
> warning: converting of negative value `-0x000000001' to `unsigned int'
> 
> >
> > Vladimir
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040902/2e17610b/attachment.sig>


More information about the llvm-dev mailing list