From bugzilla-daemon at llvm.org Fri Apr 1 03:00:12 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Fri, 1 Apr 2011 03:00:12 -0500 (CDT) Subject: [LLVMbugs] [Bug 9598] use of overloaded operator '[]' is ambiguous In-Reply-To: References: Message-ID: <20110401080012.53D392A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9598 cdubout at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Fri Apr 1 03:21:11 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Fri, 1 Apr 2011 03:21:11 -0500 (CDT) Subject: [LLVMbugs] [Bug 9605] New: Calling external functions failed on PowerPC Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9605 Summary: Calling external functions failed on PowerPC Product: new-bugs Version: 2.8 Platform: PC OS/Version: Linux Status: NEW Keywords: miscompilation Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: chenwj at cs.nctu.edu.tw CC: llvmbugs at cs.uiuc.edu It seems ppc JIT has flaw in it. When there is a call instruction in LLVM IR, ppc JIT cannot generate the code correctly. I have also tried LLVM 2.9 rc, but no luck. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Fri Apr 1 07:34:36 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Fri, 1 Apr 2011 07:34:36 -0500 (CDT) Subject: [LLVMbugs] [Bug 9205] cmath does not work with clang -std=c++0x or -std=c++93 In-Reply-To: References: Message-ID: <20110401123436.1C28A2A6C12C@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9205 Howard Hinnant changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME --- Comment #2 from Howard Hinnant 2011-04-01 07:34:35 CDT --- Closed. Bug has been filed (and fixed) for math.h on OS X. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Fri Apr 1 14:03:25 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Fri, 1 Apr 2011 14:03:25 -0500 (CDT) Subject: [LLVMbugs] [Bug 9600] crash generating debug info due to array of forward-declared template type In-Reply-To: References: Message-ID: <20110401190325.CE09F2A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9600 Devang Patel changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Fri Apr 1 18:12:41 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Fri, 1 Apr 2011 18:12:41 -0500 (CDT) Subject: [LLVMbugs] [Bug 9603] Relocation error on x86_64 In-Reply-To: References: Message-ID: <20110401231241.4ED902A6C12D@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9603 Ryuta Suzuki changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #13 from Ryuta Suzuki 2011-04-01 18:12:40 CDT --- It looks perfect. [ryuta at oroppas]$ llvm-config --cflags -I/usr/include -O2 -march=native -pipe -fPIC -D_GNU_SOURCE -Wno-unused-parameter -Wwrite-strings -Wno-long-long -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS [ryuta at oroppas]$ llvm-config --cxxflags -I/usr/include -O2 -march=native -pipe -fPIC -D_GNU_SOURCE -Wno-unused-parameter -Wwrite-strings -Wno-long-long -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS Thanks for the fix! (In reply to comment #12) > I committed the patch showed here (with minor modifications.) Please test if > this fixes the issue for you and close the bug if the answer is affirmative. > > There is another glitch on the output of `llvm-config -cxxflags': it omits the > include flags for the source directory. This is due to the logic on llvm-config > failing when deciding if it is being executed on a installed directory or on > the build directory. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Fri Apr 1 20:48:45 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Fri, 1 Apr 2011 20:48:45 -0500 (CDT) Subject: [LLVMbugs] [Bug 9606] New: Fatal error during make install Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9606 Summary: Fatal error during make install Product: new-bugs Version: 2.8 Platform: PC OS/Version: MacOS X Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: georgebaah at gmail.com CC: llvmbugs at cs.uiuc.edu Hi Everyone, When I compile llvm 2.8 with the option --disable-optimized --enable-assertions on Leopard with Ocaml 3.11 (machine is Mac Pro 2xQuad Cores), I get the following fatal error when it starts to build the ocaml docs. llvm[1]: Installing HTML documentation llvm[1]: Building ocamldoc documentation llvm[3]: Documenting llvm.odoc llvm[3]: Documenting llvm_bitreader.odoc llvm[3]: Documenting llvm_bitwriter.odoc llvm[3]: Documenting llvm_analysis.odoc llvm[3]: Documenting llvm_target.odoc llvm[3]: Documenting llvm_executionengine.odoc llvm[4]: Documenting llvm_scalar_opts.odoc Fatal error: exception Failure("There are two interfaces of module Llvm_analysis.") make[1]: *** [regen-ocamldoc] Error 2 make: *** [install] Error 1 This error does not happen when I install in Release mode or Debug mode. It only happens when building llvm with Debug+Asserts enabled. Thanks. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Fri Apr 1 23:23:51 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Fri, 1 Apr 2011 23:23:51 -0500 (CDT) Subject: [LLVMbugs] [Bug 9607] New: libdispatch false negative -Wuninitialized Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9607 Summary: libdispatch false negative -Wuninitialized Product: clang Version: trunk Platform: Macintosh OS/Version: MacOS X Status: NEW Severity: normal Priority: P Component: -New Bugs AssignedTo: unassignedclangbugs at nondot.org ReportedBy: cianci66 at mac.com CC: llvmbugs at cs.uiuc.edu -Wuninitialized should warn on the following Grand Central Dispatch code. #include int foo() { __block int a; dispatch_async(dispatch_get_global_queue(0, 0), ^{ a = 2; }); return a; } -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 02:25:41 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 02:25:41 -0500 (CDT) Subject: [LLVMbugs] [Bug 9608] New: crash generating debug with templates and partially virtual MI Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9608 Summary: crash generating debug with templates and partially virtual MI Product: clang Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: LLVM Codegen AssignedTo: unassignedclangbugs at nondot.org ReportedBy: nicholas at mxc.ca CC: dpatel at apple.com, llvmbugs at cs.uiuc.edu This not-so-small example triggers a new crash in debug info. Ready? struct Empty1 { }; template struct TheTemplate : virtual public Empty1 { struct Empty2 {}; typedef const Empty2 DependentType[i]; TheTemplate() {} }; class Test : public TheTemplate<42> { Test(); void method(const TheTemplate<42>::DependentType *) {} }; Test::Test() : Empty1(), TheTemplate<42>() {} When running "clang -cc1 -emit-llvm-only -w -g -x c++-cpp-output test.cc" under gdb, I collected this stack trace: clang: RecordLayoutBuilder.cpp:1689: const clang::ASTRecordLayout& clang::ASTContext::getASTRecordLayout(const clang::RecordDecl*) const: Assertion `D && "Cannot get layout of forward declarations!"' failed. (gdb) bt #0 0x00007ffff6ebea75 in raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0x00007ffff6ec25c0 in abort () at abort.c:92 #2 0x00007ffff6eb7941 in __assert_fail (assertion=0x274a548 "D && \"Cannot get layout of forward declarations!\"", file=, line=1689, function=0x274c780 "const clang::ASTRecordLayout& clang::ASTContext::getASTRecordLayout(const clang::RecordDecl*) const") at assert.c:81 #3 0x0000000001826317 in clang::ASTContext::getASTRecordLayout (this=0x353f5a0, D=0x0) at RecordLayoutBuilder.cpp:1689 #4 0x000000000174f742 in clang::ASTContext::getTypeInfo (this=0x353f5a0, T=0x357c650) at ASTContext.cpp:887 #5 0x0000000001150cbc in clang::ASTContext::getTypeInfo (this=0x353f5a0, T=...) at /usr/local/google/home/nlewycky/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTContext.h:1009 #6 0x000000000174edd8 in clang::ASTContext::getTypeInfo (this=0x353f5a0, T=0x357f140) at ASTContext.cpp:718 #7 0x000000000117c841 in clang::ASTContext::getTypeSize (this=0x353f5a0, T=0x357f140) at /usr/local/google/home/nlewycky/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTContext.h:1018 #8 0x00000000011a5837 in clang::CodeGen::CGDebugInfo::CreateType (this=0x356e130, Ty=0x357f140, Unit=...) at CGDebugInfo.cpp:1239 #9 0x00000000011a6b31 in clang::CodeGen::CGDebugInfo::CreateTypeNode (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1470 #10 0x00000000011a6642 in clang::CodeGen::CGDebugInfo::getOrCreateType (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1418 #11 0x00000000011a138b in clang::CodeGen::CGDebugInfo::CreateType (this=0x356e130, Ty=0x357fc00, Unit=...) at CGDebugInfo.cpp:540 #12 0x00000000011a6a4f in clang::CodeGen::CGDebugInfo::CreateTypeNode (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1460 #13 0x00000000011a6642 in clang::CodeGen::CGDebugInfo::getOrCreateType (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1418 #14 0x00000000011a00d9 in clang::CodeGen::CGDebugInfo::CreatePointeeType (this=0x356e130, PointeeTy=..., Unit=...) at CGDebugInfo.cpp:426 #15 0x00000000011a06ab in clang::CodeGen::CGDebugInfo::CreatePointerLikeType (this=0x356e130, Tag=15, Ty=0x357fca0, PointeeTy=..., Unit=...) at CGDebugInfo.cpp:470 #16 0x00000000011a0040 in clang::CodeGen::CGDebugInfo::CreateType (this=0x356e130, Ty=0x357fca0, Unit=...) at CGDebugInfo.cpp:418 #17 0x00000000011a699c in clang::CodeGen::CGDebugInfo::CreateTypeNode (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1457 #18 0x00000000011a6642 in clang::CodeGen::CGDebugInfo::getOrCreateType (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1418 #19 0x00000000011a165c in clang::CodeGen::CGDebugInfo::CreateType (this=0x356e130, Ty=0x357fd90, Unit=...) at CGDebugInfo.cpp:564 #20 0x00000000011a6ad6 in clang::CodeGen::CGDebugInfo::CreateTypeNode (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1466 #21 0x00000000011a6642 in clang::CodeGen::CGDebugInfo::getOrCreateType (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1418 #22 0x00000000011a1d12 in clang::CodeGen::CGDebugInfo::getOrCreateMethodType (this=0x356e130, Method=0x357fdf0, Unit=...) at CGDebugInfo.cpp:643 #23 0x00000000011a21db in clang::CodeGen::CGDebugInfo::CreateCXXMemberFunction (this=0x356e130, Method=0x357fdf0, Unit=..., RecordTy=...) at CGDebugInfo.cpp:699 #24 0x00000000011a275a in clang::CodeGen::CGDebugInfo::CollectCXXMemberFunctions (this=0x356e130, RD=0x357c0f0, Unit=..., EltTys=..., RecordTy=...) at CGDebugInfo.cpp:778 #25 0x00000000011a3ae1 in clang::CodeGen::CGDebugInfo::CreateType (this=0x356e130, Ty=0x357c180) at CGDebugInfo.cpp:976 #26 0x00000000011a54bb in clang::CodeGen::CGDebugInfo::CreateType (this=0x356e130, Ty=0x357c180) at CGDebugInfo.cpp:1191 #27 0x00000000011a6a8a in clang::CodeGen::CGDebugInfo::CreateTypeNode (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1463 #28 0x00000000011a6642 in clang::CodeGen::CGDebugInfo::getOrCreateType (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1418 #29 0x00000000011a00d9 in clang::CodeGen::CGDebugInfo::CreatePointeeType (this=0x356e130, PointeeTy=..., Unit=...) at CGDebugInfo.cpp:426 #30 0x00000000011a06ab in clang::CodeGen::CGDebugInfo::CreatePointerLikeType (this=0x356e130, Tag=15, Ty=0x35812c0, PointeeTy=..., Unit=...) at CGDebugInfo.cpp:470 #31 0x00000000011a0040 in clang::CodeGen::CGDebugInfo::CreateType (this=0x356e130, Ty=0x35812c0, Unit=...) at CGDebugInfo.cpp:418 #32 0x00000000011a699c in clang::CodeGen::CGDebugInfo::CreateTypeNode (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1457 #33 0x00000000011a6642 in clang::CodeGen::CGDebugInfo::getOrCreateType (this=0x356e130, Ty=..., Unit=...) at CGDebugInfo.cpp:1418 #34 0x00000000011a8adb in clang::CodeGen::CGDebugInfo::EmitDeclare (this=0x356e130, VD=0x3581470, Tag=257, Storage=0x3588bc8, ArgNo=1, Builder=...) at CGDebugInfo.cpp:1775 #35 0x00000000011a9db6 in clang::CodeGen::CGDebugInfo::EmitDeclareOfArgVariable (this=0x356e130, VD=0x3581470, AI=0x3588bc8, ArgNo=1, Builder=...) at CGDebugInfo.cpp:1959 #36 0x00000000011b7283 in clang::CodeGen::CodeGenFunction::EmitParmDecl (this=0x7fffffffbec0, D=..., Arg=0x3588b40, ArgNo=1) at CGDecl.cpp:897 #37 0x000000000118481d in clang::CodeGen::CodeGenFunction::EmitFunctionProlog (this=0x7fffffffbec0, FI=..., Fn=0x3586b90, Args=...) at CGCall.cpp:950 #38 0x0000000001284c4f in clang::CodeGen::CodeGenFunction::StartFunction (this=0x7fffffffbec0, GD=..., RetTy=..., Fn=0x3586b90, FnInfo=..., Args=..., StartLoc=...) at CodeGenFunction.cpp:293 #39 0x0000000001285134 in clang::CodeGen::CodeGenFunction::GenerateCode (this=0x7fffffffbec0, GD=..., Fn=0x3586b90, FnInfo=...) at CodeGenFunction.cpp:355 #40 0x000000000117efdf in clang::CodeGen::CodeGenModule::EmitCXXConstructor (this=0x356d8a0, ctor=0x3580f80, ctorType=clang::Ctor_Complete) at CGCXX.cpp:213 #41 0x000000000114ae0f in clang::CodeGen::CodeGenModule::EmitGlobalDefinition (this=0x356d8a0, GD=...) at CodeGenModule.cpp:787 #42 0x000000000114aafb in clang::CodeGen::CodeGenModule::EmitGlobal (this=0x356d8a0, GD=...) at CodeGenModule.cpp:741 #43 0x000000000117ee31 in clang::CodeGen::CodeGenModule::EmitCXXConstructors (this=0x356d8a0, D=0x3580f80) at CGCXX.cpp:190 #44 0x000000000114f83b in clang::CodeGen::CodeGenModule::EmitTopLevelDecl (this=0x356d8a0, D=0x3580f80) at CodeGenModule.cpp:2047 #45 0x000000000114474d in (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl (this=0x354e050, DG=...) at ModuleBuilder.cpp:65 #46 0x0000000001143a0f in clang::BackendConsumer::HandleTopLevelDecl (this=0x3544740, D=...) at CodeGenAction.cpp:86 #47 0x00000000012a34a5 in clang::ParseAST (S=..., PrintStats=false) at ParseAST.cpp:85 #48 0x0000000001007d43 in clang::ASTFrontendAction::ExecuteAction (this=0x3536240) at FrontendAction.cpp:376 #49 0x0000000001142f47 in clang::CodeGenAction::ExecuteAction (this=0x3536240) at CodeGenAction.cpp:341 #50 0x0000000001007994 in clang::FrontendAction::Execute (this=0x3536240) at FrontendAction.cpp:296 #51 0x0000000000feffa5 in clang::CompilerInstance::ExecuteAction (this=0x35347e0, Act=...) at CompilerInstance.cpp:562 #52 0x0000000000f96d33 in clang::ExecuteCompilerInvocation (Clang=0x35347e0) at ExecuteCompilerInvocation.cpp:153 #53 0x0000000000f88a57 in cc1_main (ArgBegin=0x7fffffffd730, ArgEnd=0x7fffffffd760, Argv0=0x352b108 "/usr/local/google/home/nlewycky/llvm/Debug+Asserts/bin/clang", MainAddr=0xf90d04) at cc1_main.cpp:158 #54 0x0000000000f924cd in main (argc_=8, argv_=0x7fffffffe778) at driver.cpp:352 (gdb) up 8 #8 0x00000000011a5837 in clang::CodeGen::CGDebugInfo::CreateType (this=0x356e130, Ty=0x357f140, Unit=...) at CGDebugInfo.cpp:1239 1239 Size = CGM.getContext().getTypeSize(Ty); (gdb) p Ty $1 = (const clang::ArrayType *) 0x357f140 (gdb) p Ty->dump() : const struct TheTemplate<42>::Empty2 identifier[42] $2 = void Just to confirm, this is with a clang that has the fix to bug 9600. :) -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 11:52:25 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 11:52:25 -0500 (CDT) Subject: [LLVMbugs] [Bug 9609] New: Assertion `(Op1C->isZero() || Op1C->getValue() == KnownZeroMask) && "Constant icmp not folded?"' failed. Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9609 Summary: Assertion `(Op1C->isZero() || Op1C->getValue() == KnownZeroMask) && "Constant icmp not folded?"' failed. Product: new-bugs Version: trunk Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: regehr at cs.utah.edu CC: llvmbugs at cs.uiuc.edu, chenyang at cs.utah.edu [regehr at gamow tmp008]$ clang -w -O2 -c small.c clang: InstCombineCasts.cpp:917: llvm::Instruction* llvm::InstCombiner::transformSExtICmp(llvm::ICmpInst*, llvm::Instruction&): Assertion `(Op1C->isZero() || Op1C->getValue() == KnownZeroMask) && "Constant icmp not folded?"' failed. 0 clang 0x000000000188768f 1 clang 0x0000000001889902 2 libpthread.so.0 0x00007fd29bc85190 3 libc.so.6 0x00007fd29af8a4b5 gsignal + 53 4 libc.so.6 0x00007fd29af8df50 abort + 384 5 libc.so.6 0x00007fd29af83481 __assert_fail + 241 6 clang 0x00000000015f3717 7 clang 0x00000000015f390e 8 clang 0x00000000015d1fb4 9 clang 0x00000000015d284f 10 clang 0x00000000017ce04b llvm::FPPassManager::runOnFunction(llvm::Function&) + 587 11 clang 0x000000000166d58b 12 clang 0x000000000166e935 13 clang 0x00000000017cf654 llvm::MPPassManager::runOnModule(llvm::Module&) + 500 14 clang 0x00000000017cf88b llvm::PassManagerImpl::run(llvm::Module&) + 187 15 clang 0x0000000000817cd9 clang::EmitBackendOutput(clang::Diagnostic&, clang::CodeGenOptions const&, clang::TargetOptions const&, llvm::Module*, clang::BackendAction, llvm::raw_ostream*) + 1625 16 clang 0x0000000000814aab clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 251 17 clang 0x000000000093bd0f clang::ParseAST(clang::Sema&, bool) + 431 18 clang 0x0000000000814244 clang::CodeGenAction::ExecuteAction() + 68 19 clang 0x00000000007088b3 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 371 20 clang 0x00000000006e2352 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1298 21 clang 0x00000000006d92cc cc1_main(char const**, char const**, char const*, void*) + 524 22 clang 0x00000000006e143d main + 4445 23 libc.so.6 0x00007fd29af75abd __libc_start_main + 253 24 clang 0x00000000006d7a19 Stack dump: 0. Program arguments: /uusoc/exports/scratch/regehr/z/compiler-install/llvm-gcc-r128769-install/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name small.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.20 -momit-leaf-frame-pointer -resource-dir /uusoc/exports/scratch/regehr/z/compiler-install/llvm-gcc-r128769-install/bin/../lib/clang/3.0 -O2 -w -ferror-limit 19 -fmessage-length 83 -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o small.o -x c small.c 1. parser at end of file 2. Per-module optimization passes 3. Running pass 'CallGraph Pass Manager' on module 'small.c'. 4. Running pass 'Combine redundant instructions' on function '@int64func' clang: error: unable to execute command: Aborted clang: error: clang frontend command failed due to signal 1 (use -v to see invocation) [regehr at gamow tmp008]$ clang -v clang version 3.0 (trunk 128769) Target: x86_64-unknown-linux-gnu Thread model: posix [regehr at gamow tmp008]$ cat small.c typedef char int8_t; typedef int int16_t; typedef int int32_t; typedef char uint8_t; typedef int uint16_t; typedef int uint64_t; uint8_t safe_lshift_func_int8_t_s_u (int8_t left, int right) { return left || right || left >> right ? : left << right; } uint8_t safe_mul_func_int16_t_s_s (int16_t si1, uint8_t si2) { return si1 * si2; } uint8_t safe_add_func_int32_t_s_s (int32_t si1, uint8_t si2) { return si1 && si2 && si1 > -si2 || si1 && si2 && si1 < -si2 ? : si1 + si2; } uint8_t g_3[1] = { 0 }; uint8_t g_6; uint8_t g_14; uint8_t g_16; uint8_t g_52[9] = { 0 }; uint8_t *g_68[8] = { 0 }; uint8_t *g = &g_14; uint16_t func_22 (int32_t * const *p_23); int16_t func_69 (uint64_t p_70, uint8_t p_71, int16_t ** p_72); int64func (uint32p_10) { uint8_t *l_13[5][3][1]; uint8_t l_698[1][8][3] = { }; if (func_22 (&g_68[7])) g_52[4] ^ l_698[0][3][1], func_69 (g_14, g_16, &l_13[3][2][0]); return g_3[0]; } uint16_t func_22 (int32_t * const *p_23) { uint16_t l_24[4][4][5] = { }; lbl_545:for (g_14 = 0; 1; g += 1) return l_24[+4][+4][+5]; } int16_t func_69 (uint64_t p_70, uint8_t p_71, int16_t ** p_72) { uint8_t l_75 = 0x10L; uint8_t *l_76 = &g_6; l_75 &= p_71; *l_76 &= l_75; *l_76 = safe_mul_func_int16_t_s_s ((g_52[7] && safe_lshift_func_int8_t_s_u (p_70, 0)) | *l_76 != 1, safe_add_func_int32_t_s_s); return 0; } -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 13:31:46 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 13:31:46 -0500 (CDT) Subject: [LLVMbugs] [Bug 9610] New: Compilation of LLVM trunk using trunk of Clang/LLVM fails on Mac/PPC Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9610 Summary: Compilation of LLVM trunk using trunk of Clang/LLVM fails on Mac/PPC Product: libraries Version: trunk Platform: Macintosh OS/Version: MacOS X Status: NEW Severity: normal Priority: P Component: Core LLVM classes AssignedTo: unassignedbugs at nondot.org ReportedBy: annulen at yandex.ru CC: llvmbugs at cs.uiuc.edu Compilation fails on llvm/lib/Support/APFloat.cpp with error message: Assertion failed: (getOperand(0)->getType() == cast(getOperand(1)->getType())->getElementType() && "Ptr must be a pointer to Val type!"), function AssertOK, file /Volumes/Development/projects/git/llvm/lib/VMCore/Instructions.cpp, line 961. 0 clang 0x0163e58c raise + 92 1 clang 0x0163f734 llvm::sys::RunInterruptHandlers() + 1428 2 libSystem.B.dylib 0x904139fc _sigtramp + 68 Stack dump: 0. Program arguments: /Volumes/Development/projects/git/llvm-build/Release+Asserts/bin/clang -cc1 -triple powerpc-apple-darwin9 -S -disable-free -main-file-name APFloat.cpp -pic-level 2 -mdisable-fp-elim -target-linker-version 85.2.1 -resource-dir /Volumes/Development/projects/git/llvm-build/Release+Asserts/bin/../lib/clang/3.0 -D _DEBUG -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /usr/include/c++/4.0.0/powerpc-apple-darwin9 -I /Volumes/Development/projects/git/llvm-build-cmake/lib/Support -I /Volumes/Development/projects/git/llvm/lib/Support -I /Volumes/Development/projects/git/llvm-build-cmake/include -I /Volumes/Development/projects/git/llvm/include -ferror-limit 19 -fmessage-length 130 -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/ou/ouRUeF5YEvqb1BpK4zt+1E+++TQ/-Tmp-/cc-BOYpl0.s -x c++ /Volumes/Development/projects/git/llvm/lib/Support/APFloat.cpp 1. /Volumes/Development/projects/git/llvm/lib/Support/APFloat.cpp:677:1: current parser token 'APFloat' 2. /Volumes/Development/projects/git/llvm/lib/Support/APFloat.cpp:630:15: LLVM IR generation of declaration 'llvm::APFloat::makeNaN' 3. /Volumes/Development/projects/git/llvm/lib/Support/APFloat.cpp:630:15: Generating code for declaration 'llvm::APFloat::makeNaN' -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 13:53:48 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 13:53:48 -0500 (CDT) Subject: [LLVMbugs] [Bug 9609] Assertion `(Op1C->isZero() || Op1C->getValue() == KnownZeroMask) && "Constant icmp not folded?"' failed. In-Reply-To: References: Message-ID: <20110402185348.427802A6C12C@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9609 Benjamin Kramer changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Benjamin Kramer 2011-04-02 13:53:47 CDT --- Yay for csmith finding my wrong assumptions that fast. Fixed in r128777. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 16:31:54 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 16:31:54 -0500 (CDT) Subject: [LLVMbugs] [Bug 9611] New: clang doesn't handle -MMD properly Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9611 Summary: clang doesn't handle -MMD properly Product: clang Version: 2.8 Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: Driver AssignedTo: unassignedclangbugs at nondot.org ReportedBy: kolesen.a at gmail.com CC: llvmbugs at cs.uiuc.edu Seems, that clang doesn't understand -MMD flag. Here is an errors in btrfs-progs build log: /usr/bin/clang -Wp,-MMD,./.ctree.o.d,-MT,ctree.o -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -pipe -c ctree.c disk-io.c /usr/bin/clang -Wp,-MMD,./.disk-io.o.d,-MT,disk-io.o -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -pipe -c disk-io.c error: unknown argument: '-MMD' make: *** [ctree.o] Error 1 make: *** Waiting for unfinished jobs.... error: unknown argument: '-MMD' make: *** [disk-io.o] Error 1 Here is an errors in iptable build log: /usr/bin/clang -Wp,-MMD,./.libxt_quota.o.d,-MT,libxt_quota.o -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -DXTABLES_LIBDIR=\"/lib64/xtables\" -DXTABLES_INTERNAL -I../include -I../include -DNO_SHARED_LIBS=1 -D_INIT=libxt_quota_init -O2 -pipe -o libxt_quota.o -c libxt_quota.c; /usr/bin/clang -Wp,-MMD,./.libxt_helper.o.d,-MT,libxt_helper.o -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -DXTABLES_LIBDIR=\"/lib64/xtables\" -DXTABLES_INTERNAL -I../include -I../include -DNO_SHARED_LIBS=1 -D_INIT=libxt_helper_init -O2 -pipe -o libxt_helper.o -c libxt_helper.c; error: unknown argument: '-MMD' error: unknown argument: '-MMD' make[2]: *** [libxt_helper.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [libxt_quota.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-firewall/iptables-1.4.10-r1/work/iptables-1.4.10/extensions' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-firewall/iptables-1.4.10-r1/work/iptables-1.4.10' make: *** [all] Error 2 -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 16:44:32 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 16:44:32 -0500 (CDT) Subject: [LLVMbugs] [Bug 9612] New: -Wbool-conversions misses 'false' ICEs Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9612 Summary: -Wbool-conversions misses 'false' ICEs Product: clang Version: trunk Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P Component: C++ AssignedTo: unassignedclangbugs at nondot.org ReportedBy: jyasskin at google.com CC: chandlerc at gmail.com, llvmbugs at cs.uiuc.edu, dgregor at apple.com $ cat test.cc void foo(int* p); void bar() { const bool kDebugMode = false; // NULL pointer constant. foo(false); // Warning. foo(false == true); // No warning! foo(kDebugMode); // No warning! } $ clang++ -Wbool-conversions -c test.cc test.cc:5:9: warning: initialization of pointer of type 'int *' from literal 'false' [-Wbool-conversions] foo(false); // Warning. ^ 1 warning generated. $ -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 17:13:16 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 17:13:16 -0500 (CDT) Subject: [LLVMbugs] [Bug 9429] Assertion `isa(Val) && "cast() argument of incompatible type!"' failed. In-Reply-To: References: Message-ID: <20110402221316.05EDE2A6C12D@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9429 Eli Friedman changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #3 from Eli Friedman 2011-04-02 17:13:14 CDT --- "Fixed" in r128781, but really fixed as a side-effect of r128028. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 17:45:37 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 17:45:37 -0500 (CDT) Subject: [LLVMbugs] [Bug 9446] segfault in jump threading In-Reply-To: References: Message-ID: <20110402224537.EC1162A6C124@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9446 Eli Friedman changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #3 from Eli Friedman 2011-04-02 17:45:37 CDT --- r128782. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 18:43:05 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 18:43:05 -0500 (CDT) Subject: [LLVMbugs] [Bug 9613] New: clang doesn't handle -MG properly Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9613 Summary: clang doesn't handle -MG properly Product: clang Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: Driver AssignedTo: unassignedclangbugs at nondot.org ReportedBy: kolesen.a at gmail.com CC: llvmbugs at cs.uiuc.edu Errors in whois build log: make -j3 'CFLAGS=-O2 -pipe ' /usr/bin/clang -DHAVE_ICONV -O2 -pipe -MM -MG *.c > Makefile.depend clang: error: the clang compiler does not support '-MG' clang: error: the clang compiler does not support '-MG' clang: error: the clang compiler does not support '-MG' clang: error: the clang compiler does not support '-MG' # clang --version clang version 3.0 (trunk) Target: x86_64-pc-linux-gnu Thread model: posix -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 20:15:12 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 20:15:12 -0500 (CDT) Subject: [LLVMbugs] [Bug 9614] New: clang generates endless loop Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9614 Summary: clang generates endless loop Product: clang Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: -New Bugs AssignedTo: unassignedclangbugs at nondot.org ReportedBy: kolesen.a at gmail.com CC: llvmbugs at cs.uiuc.edu Clang generates llvm intermediate code with an endless loop, when -O is used. Here is source .c code: $ cat test.c #include int main () { return btowc ('\0'); } And after compilation we have: (gdb) disas main Dump of assembler code for function main: 0x00000000004004f0 <+0>: jmp 0x4004f0
End of assembler dump. Here is LLVM IR: $ clang -S -emit-llvm test.c; cat test.s ; ModuleID = 'test.c' target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-pc-linux-gnu" define i32 @main() nounwind { %1 = alloca i32, align 4 store i32 0, i32* %1 %2 = call i32 @btowc(i32 0) nounwind ret i32 %2 } declare i32 @btowc(i32) nounwind $ clang -O -S -emit-llvm test.c; cat test.s ; ModuleID = 'test.c' target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-pc-linux-gnu" define i32 @main() nounwind readnone { br label %tailrecurse.i tailrecurse.i: ; preds = %tailrecurse.i, %0 br label %tailrecurse.i } I've attached wchar.h just in case. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 21:39:44 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 21:39:44 -0500 (CDT) Subject: [LLVMbugs] [Bug 9615] New: Missing destructor call on objects returned from operator-> Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9615 Summary: Missing destructor call on objects returned from operator-> Product: clang Version: 2.9 Platform: Macintosh OS/Version: MacOS X Status: NEW Severity: normal Priority: P Component: C++ AssignedTo: unassignedclangbugs at nondot.org ReportedBy: ejtttje at gmail.com CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com Created an attachment (id=6392) --> (http://llvm.org/bugs/attachment.cgi?id=6392) Demonstrates the bug. I am using Xcode 4 with Mac OS X 10.6.7. I have a piece of code which attempts to use RAII for wrapping a mutex around calls to a resource class. There is an Accessor class which overloads operator->(). This returns an instance of the Lock class, which handles mutex operations in its constructor and destructor. The Lock also overrides operator->() to return a pointer to the resource in question. (Sample code attached) This works with g++ across a variety of versions (e.g. 4.2.1 on OS X or 4.4.3 on Ubuntu), as well as llvm-g++ on OS X. The expected output is: TEST 1 Lock Acquired 0x7fff5fbff738 Hello World! Lock Released 0x7fff5fbff738 TEST 2 Lock Acquired 0x7fff5fbff740 Hello World! Lock Released 0x7fff5fbff740 However, when compiled by clang (Apple clang version 2.0 (tags/Apple/clang-137)) TEST 1 Lock Acquired 0x7fff5fbff760 Hello World! TEST 2 Lock Acquired 0x7fff5fbff758 Hello World! Lock Released 0x7fff5fbff758 Notice the Lock in the first test is never destructed/released. The difference with the second test is that a 'normal' function is called on the Accessor, which returns the Lock, and then operator-> is called on that directly. In this case, destruction appears to work correctly. It is the 'implicit' operator-> call in the first case which seems to screw up the destruction call. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sat Apr 2 23:10:09 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sat, 2 Apr 2011 23:10:09 -0500 (CDT) Subject: [LLVMbugs] [Bug 9522] Assignment to nested structs not marking fields as initialized In-Reply-To: References: Message-ID: <20110403041009.81D6C2A6C12C@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9522 Ted Kremenek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #2 from Ted Kremenek 2011-04-02 23:10:08 CDT --- Fixed: r128783 -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sun Apr 3 02:47:33 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sun, 3 Apr 2011 02:47:33 -0500 (CDT) Subject: [LLVMbugs] [Bug 9616] New: Assertion in LiveIntervals pass Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9616 Summary: Assertion in LiveIntervals pass Product: libraries Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: Register Allocator AssignedTo: unassignedbugs at nondot.org ReportedBy: css20 at mail.ru CC: llvmbugs at cs.uiuc.edu Platform - Linux x86_64 (may be any other), bug exists in trunk and llvm 2.9. For reproduce, run llc with bitcode file from attachment and see this: llc: /HDD/E/build/llvm-tot/src/lib/CodeGen/LiveIntervalAnalysis.cpp:825: bool llvm::LiveIntervals::shrinkToUses(llvm::LiveInterval*, llvm::SmallVectorImpl*): Assertion `PVNI->hasPHIKill() && "Missing hasPHIKill flag"' failed. 0 llc 0x0000000000e609df 1 llc 0x0000000000e62c52 2 libpthread.so.0 0x00007fdfe380a0e0 3 libc.so.6 0x00007fdfe2b25065 gsignal + 53 4 libc.so.6 0x00007fdfe2b262ff abort + 383 5 libc.so.6 0x00007fdfe2b1e1e1 __assert_fail + 241 6 llc 0x0000000000bda372 llvm::LiveIntervals::shrinkToUses(llvm::LiveInterval*, llvm::SmallVectorImpl*) + 5122 7 llc 0x0000000000b3f7a9 llvm::SimpleRegisterCoalescing::ReMaterializeTrivialDef(llvm::LiveInterval&, bool, unsigned int, unsigned int, llvm::MachineInstr*) + 937 8 llc 0x0000000000b440bc llvm::SimpleRegisterCoalescing::JoinCopy(llvm::CopyRec&, bool&) + 2252 9 llc 0x0000000000b449cc llvm::SimpleRegisterCoalescing::CopyCoalesceInMBB(llvm::MachineBasicBlock*, std::vector >&) + 1100 10 llc 0x0000000000b45146 llvm::SimpleRegisterCoalescing::joinIntervals() + 870 11 llc 0x0000000000b46698 llvm::SimpleRegisterCoalescing::runOnMachineFunction(llvm::MachineFunction&) + 5096 12 llc 0x0000000000db35eb llvm::FPPassManager::runOnFunction(llvm::Function&) + 587 13 llc 0x0000000000db36eb llvm::FPPassManager::runOnModule(llvm::Module&) + 75 14 llc 0x0000000000db4cb7 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 15 llc 0x0000000000db4e4b llvm::PassManagerImpl::run(llvm::Module&) + 187 16 llc 0x000000000055935d main + 4781 17 libc.so.6 0x00007fdfe2b11bbd __libc_start_main + 253 18 llc 0x0000000000557499 Stack dump: 0. Program arguments: /HDD/E/build/llvm-tot/x86_64-Linux/Release+Asserts/bin/llc bugpoint-reduced-blocks.bc 1. Running pass 'Function Pass Manager' on module 'bugpoint-reduced-blocks.bc'. 2. Running pass 'Simple Register Coalescing' on function '@_Z7paqmainiPPc' -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sun Apr 3 03:36:57 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sun, 3 Apr 2011 03:36:57 -0500 (CDT) Subject: [LLVMbugs] [Bug 9512] 32bit value not sign-extended to 64bit on X86_64 In-Reply-To: References: Message-ID: <20110403083657.B54542A6C12C@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9512 Csaba R?duly changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sun Apr 3 12:52:37 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sun, 3 Apr 2011 12:52:37 -0500 (CDT) Subject: [LLVMbugs] [Bug 9617] New: warn on semi-colon after function definition Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9617 Summary: warn on semi-colon after function definition Product: clang Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: enhancement Priority: P Component: Frontend AssignedTo: unassignedclangbugs at nondot.org ReportedBy: nicholas at mxc.ca CC: llvmbugs at cs.uiuc.edu I'd like a warning on this code: void foo() { }; with fixit to remove the trailing semi-colon. Comeau says "error: extra ";" ignored", gcc and clang accept the code with no comment. (This code is valid, right?) -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sun Apr 3 14:05:26 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sun, 3 Apr 2011 14:05:26 -0500 (CDT) Subject: [LLVMbugs] [Bug 9618] New: Clang errors out reading cstddef Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9618 Summary: Clang errors out reading cstddef Product: clang Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: C++ AssignedTo: unassignedclangbugs at nondot.org ReportedBy: gagang at cs.wisc.edu CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com Created an attachment (id=6394) --> (http://llvm.org/bugs/attachment.cgi?id=6394) Driver source code I have written a Clang-based driver and implemented my own ASTconsumer. When Clang parses the C++ input, it complains about cstddef, and generates the following error message: == In file included from /usr/include/c++/4.4.4/cstdlib:43: /usr/include/c++/4.4.4/cstddef:48:1: error: C++ requires a type specifier for all declarations bug_test: /afs/cs.wisc.edu/p/prometheus/private/gagan1/tools/llvm/llvm-src/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp:306: void clang::TextDiagnosticPrinter::EmitCaretDiagnostic(clang::Diagnostic::Level, clang::SourceLocation, clang::CharSourceRange*, unsigned int, const clang::SourceManager&, const clang::FixItHint*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int): Assertion `LangOpts && "Unexpected diagnostic outside source file processing"' failed. Stack dump: 0. /usr/include/c++/4.4.4/cstddef:48:25: current parser token '(' Aborted === The error is also generated for older versions of cstddef (4.3.2, etc.). I am using the latest Clang, LLVm from the trunk. Included is the driver code and the C++ test input. Clang and LLVm were installed using gcc-4.2.1. Driver code was compiled using gcc-4.5.2, with the following options: g++ -I/p/prometheus/private/gagan1/tools/llvm/llvm-src/tools/clang/include `/p/prometheus/private/gagan1/tools/llvm/install/bin/llvm-config --cxxflags` -fno-rtti -c bug_test.cpp -O0 -g Driver code was linked as follows: g++ bug_test.o -o bug_test -lclang -lclangFrontendTool -lclangFrontend -lclangIndex -lclangCodeGen -lclangDriver -lclangBasic -lclangLex -lclangParse -lclangSema -lclangAnalysis -lclangAST -lclangRewrite -lclangSerialization -lclangBasic `/p/prometheus/private/gagan1/tools/llvm/install/bin/llvm-config --cxxflags --ldflags --libs` -g -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sun Apr 3 14:50:08 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sun, 3 Apr 2011 14:50:08 -0500 (CDT) Subject: [LLVMbugs] [Bug 9619] New: clang c++ "infinite" loop with template class and operator-> Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9619 Summary: clang c++ "infinite" loop with template class and operator-> Product: clang Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: C++ AssignedTo: unassignedclangbugs at nondot.org ReportedBy: sharparrow1 at yahoo.com CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com Testcase: template struct A { A operator->() { return A(); } }; void f() { A<0> x; x->foo(); } There isn't any limit on the number of operator->'s that clang will try to use. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sun Apr 3 15:07:30 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sun, 3 Apr 2011 15:07:30 -0500 (CDT) Subject: [LLVMbugs] [Bug 9351] Cannot have recursive multimap In-Reply-To: References: Message-ID: <20110403200730.B76012A6C12C@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9351 Howard Hinnant changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #11 from Howard Hinnant 2011-04-03 15:07:29 CDT --- This looks great Chris! I would never have guessed that it was so easy to accomplish incomplete support. Thanks much. Committed revision 128797. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Sun Apr 3 20:37:26 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Sun, 3 Apr 2011 20:37:26 -0500 (CDT) Subject: [LLVMbugs] [Bug 9615] Missing destructor call on objects returned from operator-> In-Reply-To: References: Message-ID: <20110404013726.F06432A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9615 Eli Friedman changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #3 from Eli Friedman 2011-04-03 20:37:26 CDT --- r128806. Basically, the bug is exactly as you stated in the summary: clang wasn't destroying temporaries returned by operator->, period. In terms of a workaround, you could hack up Accessor with a doit() method, I guess... it depends on what your original code looks like. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 02:20:44 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 02:20:44 -0500 (CDT) Subject: [LLVMbugs] [Bug 9585] Support __decltype() as a synonym for decltype() for gcc compatibility In-Reply-To: References: Message-ID: <20110404072044.CDBE02A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9585 Eli Friedman changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |sharparrow1 at yahoo.com Resolution| |FIXED --- Comment #2 from Eli Friedman 2011-04-04 02:20:44 CDT --- It's a one-line change; not worth trying to get libstdc++ changed over it. r128809. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 02:51:40 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 02:51:40 -0500 (CDT) Subject: [LLVMbugs] [Bug 9620] New: Macro arguments fail with variadic Objective-C message Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9620 Summary: Macro arguments fail with variadic Objective-C message Product: clang Version: 2.9 Platform: Macintosh OS/Version: MacOS X Status: NEW Severity: normal Priority: P Component: Frontend AssignedTo: unassignedclangbugs at nondot.org ReportedBy: me at jonathonmah.com CC: llvmbugs at cs.uiuc.edu The following should make it through the preprocessor: void *something; #define vararg_msg(x) something = (x) vararg_msg([nil msg:1, 2, 3]); Instead there are errors: % clang objc-pp.m -fsyntax-only -pedantic -ffreestanding objc-pp.m:3:24: error: too many arguments provided to function-like macro invocation vararg_msg([nil msg:1, 2, 3]); ^ objc-pp.m:3:1: error: unknown type name 'vararg_msg' vararg_msg([nil msg:1, 2, 3]); ^ objc-pp.m:3:27: error: expected identifier or '(' vararg_msg([nil msg:1, 2, 3]); ^ 3 errors generated. I am running Mac OS X 10.7 developer preview 2 (11A419). % clang --version Apple clang version 2.0 (tags/Apple/clang-138) (based on LLVM 2.9svn) Target: x86_64-apple-darwin11 Thread model: posix -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 03:22:15 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 03:22:15 -0500 (CDT) Subject: [LLVMbugs] [Bug 9621] New: Add "-fplugin" and "-fplugin-arg-" parameters to GCC-compatible driver Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9621 Summary: Add "-fplugin" and "-fplugin-arg-" parameters to GCC-compatible driver Product: clang Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: enhancement Priority: P Component: Driver AssignedTo: unassignedclangbugs at nondot.org ReportedBy: annulen at yandex.ru CC: llvmbugs at cs.uiuc.edu Currently plugin may only be loaded when clang is run in "-cc1" mode. It would be useful to have a possibility to load them in GCC-compatible mode too (using GCC-compatible syntax) -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 06:54:20 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 06:54:20 -0500 (CDT) Subject: [LLVMbugs] [Bug 9622] New: [Cygming] Emission of linkonce_odr {llvm_unreachable} crashes GNU binutils Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9622 Summary: [Cygming] Emission of linkonce_odr {llvm_unreachable} crashes GNU binutils Product: new-bugs Version: trunk Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: geek4civic at gmail.com CC: llvmbugs at cs.uiuc.edu Blocks: 8390 ; foo.ll ; W/O linkonce_odr, no one crashes. define linkonce_odr void @foo() noreturn nounwind { unreachable } # foo.s .def _foo; .scl 2; .type 32; .endef .section .text$foo,"xr" .linkonce discard .globl _foo .align 16, 0x90 _foo: # @foo Lllvm$workaround$fake$stub$_foo: # BB#0: #[EOF] $ llc foo.ll $ as foo.s -o foo.o $ objdump -x foo.o foo.o crashes Cygwin-17's {objdump|ld|ar}-2.20.51.20100410, msysgit's BFD-2.19.1. BFD: BFD (GNU Binutils) 2.20.51.20100410 internal error, aborting at /netrel/src/binutils-2.20.51-2/bfd/coffcode.h line 954 in handle_COMDAT BFD: Please report this bug. (mingw-w64's 2.21.51.20101129 does not crash) 3 .text$foo 00000000 00000000 00000000 00000000 2**4 ALLOC, LOAD, READONLY, CODE, LINK_ONCE_DISCARD Shall we make workaround for zero-size section? -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 07:22:40 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 07:22:40 -0500 (CDT) Subject: [LLVMbugs] [Bug 9623] New: x86: inefficient code generated for i8 vector types Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9623 Summary: x86: inefficient code generated for i8 vector types Product: new-bugs Version: trunk Platform: PC OS/Version: All Status: NEW Severity: enhancement Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: matt at pharr.org CC: llvmbugs at cs.uiuc.edu Given this input: define <4 x i8> @foo(<4 x i8> %x, <4 x i8> %y, <4 x i8> %__mask) nounwind readnone alwaysinline { entry: %binop = mul <4 x i8> %x, %y %binop6 = add <4 x i8> %binop, %x ret <4 x i8> %binop6 } The following quite lengthy code is generated by llc. It would be nice to get the appropriate MMX instructions instead. (This is probably not a high priority fix in the grand scheme of things, though.) _foo: ## @foo ## BB#0: ## %entry pushq %rbp pushq %r15 pushq %r14 pushq %r13 pushq %r12 pushq %rbx movdqa %xmm0, %xmm2 pextrb $1, %xmm2, %eax pextrb $1, %xmm1, %ecx mulb %cl pextrb $0, %xmm2, %ecx pextrb $0, %xmm1, %edx movzbl %al, %esi movb %cl, %al mulb %dl movzbl %al, %eax movd %eax, %xmm0 pextrb $2, %xmm2, %eax pextrb $2, %xmm1, %ecx pinsrb $1, %esi, %xmm0 mulb %cl movb %al, %cl pextrb $3, %xmm2, %eax pextrb $3, %xmm1, %edx mulb %dl movb %al, %dl movzbl %cl, %ecx pextrb $4, %xmm2, %eax pextrb $4, %xmm1, %esi pinsrb $2, %ecx, %xmm0 mulb %sil movzbl %dl, %ecx pextrb $11, %xmm2, %edx pextrb $12, %xmm2, %esi pextrb $13, %xmm2, %edi pextrb $14, %xmm2, %r8d movl %r8d, -4(%rsp) ## 4-byte Spill pextrb $5, %xmm1, %r9d pextrb $5, %xmm2, %r10d pextrb $8, %xmm1, %r11d pinsrb $3, %ecx, %xmm0 movzbl %al, %ecx pextrb $15, %xmm2, %ebx pextrb $8, %xmm2, %r14d pextrb $12, %xmm1, %r15d movb %r10b, %al pextrb $13, %xmm1, %r10d pinsrb $4, %ecx, %xmm0 pextrb $14, %xmm1, %ecx pextrb $15, %xmm1, %r12d mulb %r9b movb %al, %r9b pextrb $11, %xmm1, %r13d pextrb $10, %xmm2, %ebp movb %r14b, %al mulb %r11b movb %al, %r11b pextrb $9, %xmm2, %eax pextrb $9, %xmm1, %r14d mulb %r14b movb %al, %r14b pextrb $10, %xmm1, %r8d movb %bpl, %al mulb %r8b movb %al, %r8b movb %dl, %al mulb %r13b movb %al, %dl movb %sil, %al mulb %r15b movb %al, %sil movb %dil, %al mulb %r10b movb %al, %dil movl -4(%rsp), %eax ## 4-byte Reload mulb %cl movb %al, %cl movb %bl, %al mulb %r12b movb %al, %r10b movzbl %r9b, %r9d pextrb $7, %xmm2, %eax pextrb $7, %xmm1, %ebx mulb %bl pinsrb $5, %r9d, %xmm0 movzbl %r10b, %r9d movzbl %cl, %ecx movzbl %dil, %edi movzbl %sil, %esi movzbl %dl, %edx movzbl %r8b, %r8d movzbl %r14b, %r10d movzbl %r11b, %r11d movzbl %al, %ebx pextrb $6, %xmm2, %eax pextrb $6, %xmm1, %r14d mulb %r14b movzbl %al, %eax pinsrb $6, %eax, %xmm0 pinsrb $7, %ebx, %xmm0 pinsrb $8, %r11d, %xmm0 pinsrb $9, %r10d, %xmm0 pinsrb $10, %r8d, %xmm0 pinsrb $11, %edx, %xmm0 pinsrb $12, %esi, %xmm0 pinsrb $13, %edi, %xmm0 pinsrb $14, %ecx, %xmm0 pinsrb $15, %r9d, %xmm0 paddb %xmm2, %xmm0 popq %rbx popq %r12 popq %r13 popq %r14 popq %r15 popq %rbp ret If I explicitly extract the values from the vector, do the math, and repack, like this: define <4 x i8> @bar(<4 x i8> %x, <4 x i8> %y, <4 x i8> %__mask) nounwind readnone alwaysinline { entry: %x0 = extractelement <4 x i8> %x, i32 0 %x1 = extractelement <4 x i8> %x, i32 1 %x2 = extractelement <4 x i8> %x, i32 2 %x3 = extractelement <4 x i8> %x, i32 3 %y0 = extractelement <4 x i8> %y, i32 0 %y1 = extractelement <4 x i8> %y, i32 1 %y2 = extractelement <4 x i8> %y, i32 2 %y3 = extractelement <4 x i8> %y, i32 3 %m0 = mul i8 %x0, %y0 %m1 = mul i8 %x1, %y1 %m2 = mul i8 %x2, %y2 %m3 = mul i8 %x3, %y3 %a0 = add i8 %m0, %x0 %a1 = add i8 %m1, %x1 %a2 = add i8 %m2, %x2 %a3 = add i8 %m3, %x3 %r0 = insertelement <4 x i8> undef, i8 %a0, i32 0 %r1 = insertelement <4 x i8> %r0, i8 %a1, i32 1 %r2 = insertelement <4 x i8> %r1, i8 %a2, i32 2 %r3 = insertelement <4 x i8> %r2, i8 %a3, i32 3 ret <4 x i8> %r3 } The code is better: _bar: ## @bar ## BB#0: ## %entry pextrb $2, %xmm0, %ecx pextrb $2, %xmm1, %edx movb %cl, %al mulb %dl movb %al, %dl addb %cl, %dl pextrb $0, %xmm0, %ecx pextrb $0, %xmm1, %esi movb %cl, %al mulb %sil pextrb $3, %xmm0, %esi movb %al, %dil addb %cl, %dil movzbl %dl, %ecx pextrb $3, %xmm1, %edx movb %sil, %al mulb %dl addb %sil, %al movzbl %al, %edx shll $8, %edx pextrb $1, %xmm0, %esi orl %ecx, %edx movzbl %dil, %ecx pextrb $1, %xmm1, %edi movb %sil, %al mulb %dil addb %sil, %al movzbl %al, %eax shll $8, %eax orl %ecx, %eax pinsrw $0, %eax, %xmm0 pinsrw $1, %edx, %xmm0 ret -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 11:31:07 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 11:31:07 -0500 (CDT) Subject: [LLVMbugs] [Bug 9620] Macro arguments fail with variadic Objective-C message In-Reply-To: References: Message-ID: <20110404163107.68ACB2A6C124@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9620 Ted Kremenek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |kremenek at apple.com Resolution| |INVALID --- Comment #1 from Ted Kremenek 2011-04-04 11:31:06 CDT --- This is correct behavior. Both GCC and Clang reject this code with essentially the same error. Preprocessing occurs before parsing, so the preprocessor sees the commas first. This isn't a bug in the compiler; it's a consequence of how the C language works. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 14:02:19 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 14:02:19 -0500 (CDT) Subject: [LLVMbugs] [Bug 9624] New: False positive with -Wuninitialized with explicit self-initialization Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9624 Summary: False positive with -Wuninitialized with explicit self-initialization Product: clang Version: unspecified Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P Component: Frontend AssignedTo: unassignedclangbugs at nondot.org ReportedBy: chandlerc at gmail.com CC: llvmbugs at cs.uiuc.edu A lot of code uses the construct of direct explicit initialization to mark it as intentional. The static analysis based -Wuninitialized should avoid warning on this code. % cat x.cc void test() { int x = x; (void)x; } % ./bin/clang -fsyntax-only -Wuninitialized x.cc x.cc:2:11: warning: variable 'x' is possibly uninitialized when used here [-Wuninitialized] int x = x; ^ x.cc:2:3: note: variable 'x' is declared here int x = x; ^ x.cc:2:12: note: add initialization to silence this warning int x = x; ^ = 0 -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 14:04:32 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 14:04:32 -0500 (CDT) Subject: [LLVMbugs] [Bug 9625] New: False positive with -Wuninitialized in trivially dead code Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9625 Summary: False positive with -Wuninitialized in trivially dead code Product: clang Version: unspecified Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P Component: Frontend AssignedTo: unassignedclangbugs at nondot.org ReportedBy: chandlerc at gmail.com CC: llvmbugs at cs.uiuc.edu I thought we were able to prune trivially dead code: % cat x.cc void test() { if (false) { int x; (void)static_cast(x); } } % ./bin/clang -fsyntax-only -Wuninitialized x.cc x.cc:4:30: warning: variable 'x' is possibly uninitialized when used here [-Wuninitialized] (void)static_cast(x); ^ x.cc:3:5: note: variable 'x' is declared here int x; ^ x.cc:3:10: note: add initialization to silence this warning int x; ^ = 0 1 warning generated. (the original code is doing casts to check if pointers are convertible, but same difference) -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 14:07:52 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 14:07:52 -0500 (CDT) Subject: [LLVMbugs] [Bug 9626] New: Duplicate and confusing warnings from -Wuninitialized Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9626 Summary: Duplicate and confusing warnings from -Wuninitialized Product: clang Version: unspecified Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P Component: Frontend AssignedTo: unassignedclangbugs at nondot.org ReportedBy: chandlerc at gmail.com CC: llvmbugs at cs.uiuc.edu This is partially my fault. =[ But I'm not sure what exactly to do here. I added a special check for -Wuninitialized with self-initialization cases. The recent changes to the CFG-based uninitialized checker now warn for the same construct, resulting in this: % cat x.cc void test() { int x = x + 42; (void)x; } % ./bin/clang -fsyntax-only -Wuninitialized x.cc x.cc:2:11: warning: variable 'x' is uninitialized when used within its own initialization [-Wuninitialized] int x = x + 42; ~ ^ x.cc:2:11: warning: variable 'x' is possibly uninitialized when used here [-Wuninitialized] int x = x + 42; ^ x.cc:2:3: note: variable 'x' is declared here int x = x + 42; ^ x.cc:2:17: note: add initialization to silence this warning int x = x + 42; ^ = 0 2 warnings generated. At the very least we shouldn't generate two warnings here, but more-over: - The first is much more concise - The declaration note is general unhelpful when warning on the initializer - The fixit hint is just nuts here. =/ I wonder if we should stick to the custom logic for the initializer case for now? Or is there an easy way to fix these in the CFG? -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 15:31:25 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 15:31:25 -0500 (CDT) Subject: [LLVMbugs] [Bug 9625] False positive with -Wuninitialized in trivially dead code In-Reply-To: References: Message-ID: <20110404203125.0FB162A6C124@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9625 Ted Kremenek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #5 from Ted Kremenek 2011-04-04 15:31:24 CDT --- Fixed: r128840 -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 17:36:30 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 17:36:30 -0500 (CDT) Subject: [LLVMbugs] [Bug 9627] New: potentially bogus constructor errors Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9627 Summary: potentially bogus constructor errors Product: clang Version: 2.9 Platform: Macintosh OS/Version: MacOS X Status: NEW Severity: normal Priority: P Component: C++ AssignedTo: unassignedclangbugs at nondot.org ReportedBy: howarth at nitro.med.uc.edu CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com The modules/cealign/src/ccealignmodule.cpp c++ source file from pymol 1.3 fails to compile due to potentially bogus constructor errors... clang++ -c ccealignmodule.ii -o ccealignmodule.o In file included from ccealignmodule.cpp:1: In file included from ccealignmodule.cpp:32: In file included from ./ccealignmodule.H:36: In file included from ./tnt/tnt.h:55: tnt/tnt_sparse_matrix_csr.h:97:3: error: no matching constructor for initialization of 'Array1D' rowptr_(M, r), colind_(nz, c), dim1_(M), dim2_(N) {} ^ ~~~~ In file included from ccealignmodule.cpp:1: In file included from ccealignmodule.cpp:32: In file included from ./ccealignmodule.H:36: In file included from ./tnt/tnt.h:41: tnt/tnt_array1d.h:63:17: note: candidate constructor not viable: no known conversion from 'const int *' to 'int const' for 2nd argument explicit Array1D(int n, const T &a); ^ tnt/tnt_array1d.h:64:11: note: candidate constructor not viable: 2nd argument ('const int *') would lose const qualifier Array1D(int n, T *a); ^ tnt/tnt_array1d.h:61:11: note: candidate constructor not viable: requires 0 arguments, but 2 were provided Array1D(); ^ tnt/tnt_array1d.h:62:17: note: candidate constructor not viable: requires 1 argument, but 2 were provided explicit Array1D(int n); ^ tnt/tnt_array1d.h:65:12: note: candidate constructor not viable: requires 1 argument, but 2 were provided inline Array1D(const Array1D &A); ^ In file included from ccealignmodule.cpp:1: In file included from ccealignmodule.cpp:32: In file included from ./ccealignmodule.H:36: In file included from ./tnt/tnt.h:55: tnt/tnt_sparse_matrix_csr.h:97:18: error: no matching constructor for initialization of 'Array1D' rowptr_(M, r), colind_(nz, c), dim1_(M), dim2_(N) {} ^ ~~~~~ In file included from ccealignmodule.cpp:1: In file included from ccealignmodule.cpp:32: In file included from ./ccealignmodule.H:36: In file included from ./tnt/tnt.h:41: tnt/tnt_array1d.h:63:17: note: candidate constructor not viable: no known conversion from 'const int *' to 'int const' for 2nd argument explicit Array1D(int n, const T &a); ^ tnt/tnt_array1d.h:64:11: note: candidate constructor not viable: 2nd argument ('const int *') would lose const qualifier Array1D(int n, T *a); ^ tnt/tnt_array1d.h:61:11: note: candidate constructor not viable: requires 0 arguments, but 2 were provided Array1D(); ^ tnt/tnt_array1d.h:62:17: note: candidate constructor not viable: requires 1 argument, but 2 were provided explicit Array1D(int n); ^ tnt/tnt_array1d.h:65:12: note: candidate constructor not viable: requires 1 argument, but 2 were provided inline Array1D(const Array1D &A); ^ 2 errors generated. The same preprocessed source file is compiled by Apple llvm-gcc 4.2.1 from Xcode 4 and FSF gcc 4.6.0 without errors or warnings. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 17:54:35 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 17:54:35 -0500 (CDT) Subject: [LLVMbugs] [Bug 9628] New: Bogus warning with semi-initialised struct variables and static inline functions Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9628 Summary: Bogus warning with semi-initialised struct variables and static inline functions Product: clang Version: 2.9 Platform: Macintosh OS/Version: MacOS X Status: NEW Severity: enhancement Priority: P Component: Static Analyzer AssignedTo: kremenek at apple.com ReportedBy: macbavarious at gmail.com CC: llvmbugs at cs.uiuc.edu Consider the following program: #include struct Foo { int x; int y; }; static __inline__ int foogetx(struct Foo foo) { return foo.x; } int main() { struct Foo bar; bar.x = 5; printf("%d\n", foogetx(bar)); return 0; } $ clang --version Apple clang version 2.0 (tags/Apple/clang-137) (based on LLVM 2.9svn) Target: x86_64-apple-darwin10 Thread model: posix $ clang --analyze a.c a.c:10:20: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'y') printf("%d\n", foogetx(bar)); ^ ~~~ 1 warning generated. This is not an actual issue since that particular member (.x) has been initialised. It seems that this should be fixed with full interprocedural analysis, but that might not be necessary considering that foogetx() is a static inline function. At any rate, using bar.x instead of foogetx(bar) is a simple enough workaround. This situation happens with some functions in Apple's Foundation library, too: NSRect frame; frame.size = NSZeroSize; NSHeight(frame) // static analyser warning frame.size.height // no static analyser warning -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 18:19:16 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 18:19:16 -0500 (CDT) Subject: [LLVMbugs] [Bug 9608] crash generating debug with templates and partially virtual MI In-Reply-To: References: Message-ID: <20110404231916.1C14D2A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9608 Devang Patel changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Devang Patel 2011-04-04 18:19:14 CDT --- Fixed r128855. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 18:29:51 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 18:29:51 -0500 (CDT) Subject: [LLVMbugs] [Bug 9626] Duplicate and confusing warnings from -Wuninitialized In-Reply-To: References: Message-ID: <20110404232951.CBCDF2A6C12C@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9626 Ted Kremenek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #9 from Ted Kremenek 2011-04-04 18:29:51 CDT --- Fixed: r128858 Now the SelfReferenceChecker only handles global variables; the dataflow analysis handles other cases. We can continue to further evolve this design. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 18:37:59 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 18:37:59 -0500 (CDT) Subject: [LLVMbugs] [Bug 9629] New: FileCheck substitutes variables too late. Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9629 Summary: FileCheck substitutes variables too late. Product: new-bugs Version: unspecified Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: stoklund at 2pi.dk CC: llvmbugs at cs.uiuc.edu -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 19:26:07 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 19:26:07 -0500 (CDT) Subject: [LLVMbugs] [Bug 1795] Missed optimization: eliminating loads around ptrtoint/inttoptr In-Reply-To: References: Message-ID: <20110405002607.89A282A6C12D@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=1795 Eli Friedman changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |INVALID --- Comment #9 from Eli Friedman 2011-04-04 19:26:06 CDT --- This doesn't matter. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 22:22:07 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 22:22:07 -0500 (CDT) Subject: [LLVMbugs] [Bug 9630] New: Assertion `*PrevPtr == this && "List invariant broken"' failed. Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9630 Summary: Assertion `*PrevPtr == this && "List invariant broken"' failed. Product: new-bugs Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: regehr at cs.utah.edu CC: llvmbugs at cs.uiuc.edu, chenyang at cs.utah.edu Another beautiful testcase, enjoy. regehr at home:~/volatile/bugs/tmp010$ clang -O1 small.c -c -w clang: Value.cpp:499: void llvm::ValueHandleBase::RemoveFromUseList(): Assertion `*PrevPtr == this && "List invariant broken"' failed. 0 clang 0x0958e8c8 Stack dump: 0. Program arguments: /mnt/z/z/compiler-install/llvm-gcc-r128807-install/bin/clang -cc1 -triple i386-pc-linux-gnu -emit-obj -disable-free -main-file-name small.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases -target-cpu pentium4 -target-linker-version 2.20.51 -momit-leaf-frame-pointer -resource-dir /mnt/z/z/compiler-install/llvm-gcc-r128807-install/bin/../lib/clang/3.0 -O1 -w -ferror-limit 19 -fmessage-length 80 -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o small.o -x c small.c 1. parser at end of file 2. Per-module optimization passes 3. Running pass 'CallGraph Pass Manager' on module 'small.c'. 4. Running pass 'Loop Pass Manager' on function '@func' 5. Running pass 'Loop Invariant Code Motion' on basic block '%for.cond1.preheader' clang: error: unable to execute command: Aborted clang: error: clang frontend command failed due to signal 1 (use -v to see invocation) regehr at home:~/volatile/bugs/tmp010$ clang -v clang version 3.0 (trunk 128807) Target: i386-pc-linux-gnu Thread model: posix regehr at home:~/volatile/bugs/tmp010$ cat small.c static unsigned char foo (unsigned long long ui1, unsigned long long ui2) { return ui2 ? : ui1 + ui2; } int g_22; short g_38; volatile short g_39; int g_40; const int *g = &g_22; int *g_104[5][5] = { }; int *g_212[3][9][1] = { }; int **g_461 = &g_212[0][5][0]; int *func_84 (int **p_87, int *p_88, unsigned long long p_89) { return *p_87; } int **func_108 (unsigned char p_110, int ***p_113) { return *p_113; } short *func (unsigned char p_61) { int *l_612 = &g_40; int **l_625 = &g_212[2][8][0]; unsigned char l_608; for (0; g; g += 0) for (l_608 = 0; l_608 < 1; l_608 += 1) { unsigned char l_749; int **l_752 = &l_612; *l_752 = func_84 (func_108 (g_39, &l_625), (foo (0, **l_752 && p_61)), 0); } return 0; } -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Mon Apr 4 23:19:20 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Mon, 4 Apr 2011 23:19:20 -0500 (CDT) Subject: [LLVMbugs] [Bug 9627] potentially bogus constructor errors In-Reply-To: References: Message-ID: <20110405041920.913232A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9627 Eli Friedman changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |sharparrow1 at yahoo.com Resolution| |INVALID --- Comment #2 from Eli Friedman 2011-04-04 23:19:20 CDT --- This essentially reduces to the following: template class Array1D { Array1D(int n, T *a); }; template struct A { Array1D x; A() : x(1, (const int*)0) {} }; The code is invalid, but no diagnostic is required if the class isn't instantiated. clang is being more aggressive about diagnosing the issue than gcc. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Tue Apr 5 02:55:13 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Tue, 5 Apr 2011 02:55:13 -0500 (CDT) Subject: [LLVMbugs] [Bug 9426] change __builtin_object_size prototype In-Reply-To: References: Message-ID: <20110405075513.2C6F32A6C12D@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9426 Eric Christopher changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #3 from Eric Christopher 2011-04-05 02:55:12 CDT --- Fixed thusly: [yendi:llvm/tools/clang] echristo% svn ci Sending include/clang/Basic/Builtins.def Transmitting file data . Committed revision 128880. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Tue Apr 5 08:00:29 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Tue, 5 Apr 2011 08:00:29 -0500 (CDT) Subject: [LLVMbugs] [Bug 9631] New: clang misses "-fpack-struct" GCC command line option Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9631 Summary: clang misses "-fpack-struct" GCC command line option Product: clang Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: enhancement Priority: P Component: Frontend AssignedTo: unassignedclangbugs at nondot.org ReportedBy: gmarkhor at gmail.com CC: llvmbugs at cs.uiuc.edu GCC supports -fpack-struct option, which is described at http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options It globally sets the maximum alignment for struct members. However, clang does not know about it. Please implement that :) Since #pragma pack is already inside, it will not take much work. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Tue Apr 5 09:42:19 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Tue, 5 Apr 2011 09:42:19 -0500 (CDT) Subject: [LLVMbugs] [Bug 9632] New: bitset does not define operator>> and operator<< for streams Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9632 Summary: bitset does not define operator>> and operator<< for streams Product: libc++ Version: unspecified Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P Component: All Bugs AssignedTo: hhinnant at apple.com ReportedBy: chris at bubblescope.net CC: llvmbugs at cs.uiuc.edu I believe, based on the standard, that should define both of: template basic_istream& operator>>(basic_istream& is, bitset& x); template basic_ostream& operator<<(basic_ostream& os, const bitset& x); But these are instead in and . Chris -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Tue Apr 5 14:43:27 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Tue, 5 Apr 2011 14:43:27 -0500 (CDT) Subject: [LLVMbugs] [Bug 6150] Dereference of null pointer false positive In-Reply-To: References: Message-ID: <20110405194327.20AB42A6C124@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=6150 Ted Kremenek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #3 from Ted Kremenek 2011-04-05 14:43:26 CDT --- The analyzer no longer produces a null pointer dereference for this case. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Tue Apr 5 14:58:10 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Tue, 5 Apr 2011 14:58:10 -0500 (CDT) Subject: [LLVMbugs] [Bug 6150] Dereference of null pointer false positive In-Reply-To: References: Message-ID: <20110405195810.7AE4F2A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=6150 Ted Kremenek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | --- Comment #4 from Ted Kremenek 2011-04-05 14:58:09 CDT --- (In reply to comment #3) > The analyzer no longer produces a null pointer dereference for this case. Scratch that. I am able to reproduce the warning. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Tue Apr 5 15:14:56 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Tue, 5 Apr 2011 15:14:56 -0500 (CDT) Subject: [LLVMbugs] [Bug 6150] Dereference of null pointer false positive In-Reply-To: References: Message-ID: <20110405201456.322FB2A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=6150 Ted Kremenek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |DUPLICATE --- Comment #8 from Ted Kremenek 2011-04-05 15:14:55 CDT --- This is the same as PR 3098. *** This bug has been marked as a duplicate of bug 3098 *** -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Tue Apr 5 16:37:19 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Tue, 5 Apr 2011 16:37:19 -0500 (CDT) Subject: [LLVMbugs] [Bug 9624] False positive with -Wuninitialized with explicit self-initialization In-Reply-To: References: Message-ID: <20110405213719.3010C2A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9624 Chandler Carruth changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #8 from Chandler Carruth 2011-04-05 16:37:18 CDT --- I think the last problem Ted pointed out is fixed in r128932. We should use separate bugs for any new issues. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Tue Apr 5 22:35:24 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Tue, 5 Apr 2011 22:35:24 -0500 (CDT) Subject: [LLVMbugs] [Bug 9633] New: Assertion `isa(Val) && "cast() argument of incompatible type!"' failed. Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9633 Summary: Assertion `isa(Val) && "cast() argument of incompatible type!"' failed. Product: new-bugs Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: regehr at cs.utah.edu CC: llvmbugs at cs.uiuc.edu, chenyang at cs.utah.edu [regehr at gamow tmp010]$ clang -c -w -O2 small.c clang: /uusoc/exports/scratch/regehr/z/compiler-build/llvm-r128982/include/llvm/Support/Casting.h:202: typename llvm::cast_retty::ret_type llvm::cast(const Y&) [with X = llvm::SCEVAddRecExpr, Y = const llvm::SCEV*]: Assertion `isa(Val) && "cast() argument of incompatible type!"' failed. 0 clang 0x000000000189895f 1 clang 0x000000000189abd2 2 libpthread.so.0 0x00007f03b2029190 3 libc.so.6 0x00007f03b132e4b5 gsignal + 53 4 libc.so.6 0x00007f03b1331f50 abort + 384 5 libc.so.6 0x00007f03b1327481 __assert_fail + 241 6 clang 0x00000000015709d2 7 clang 0x00000000016fa70c llvm::ScalarEvolution::computeSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) + 412 8 clang 0x00000000016fb414 llvm::ScalarEvolution::getSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) + 644 9 clang 0x00000000016fa993 llvm::ScalarEvolution::computeSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) + 1059 10 clang 0x00000000016fb414 llvm::ScalarEvolution::getSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) + 644 11 clang 0x00000000016fa993 llvm::ScalarEvolution::computeSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) + 1059 12 clang 0x00000000016fb414 llvm::ScalarEvolution::getSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) + 644 13 clang 0x00000000016e9bc1 llvm::ScalarEvolution::ComputeBackedgeTakenCountFromExitCondICmp(llvm::Loop const*, llvm::ICmpInst*, llvm::BasicBlock*, llvm::BasicBlock*) + 321 14 clang 0x00000000016ea2e4 llvm::ScalarEvolution::ComputeBackedgeTakenCountFromExitCond(llvm::Loop const*, llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*) + 500 15 clang 0x00000000016ea811 llvm::ScalarEvolution::ComputeBackedgeTakenCountFromExit(llvm::Loop const*, llvm::BasicBlock*) + 657 16 clang 0x00000000016eab54 llvm::ScalarEvolution::ComputeBackedgeTakenCount(llvm::Loop const*) + 740 17 clang 0x00000000016eaf14 llvm::ScalarEvolution::getBackedgeTakenInfo(llvm::Loop const*) + 260 18 clang 0x00000000016eb419 llvm::ScalarEvolution::getMaxBackedgeTakenCount(llvm::Loop const*) + 9 19 clang 0x00000000016f1910 llvm::ScalarEvolution::getZeroExtendExpr(llvm::SCEV const*, llvm::Type const*) + 1168 20 clang 0x00000000016f715e llvm::ScalarEvolution::getUDivExpr(llvm::SCEV const*, llvm::SCEV const*) + 814 21 clang 0x00000000016ef69b llvm::ScalarEvolution::createSCEV(llvm::Value*) + 2283 22 clang 0x00000000016f084b llvm::ScalarEvolution::getSCEV(llvm::Value*) + 555 23 clang 0x00000000016efd23 llvm::ScalarEvolution::createSCEV(llvm::Value*) + 3955 24 clang 0x00000000016f084b llvm::ScalarEvolution::getSCEV(llvm::Value*) + 555 25 clang 0x000000000169e507 llvm::IVUsers::AddUsersIfInteresting(llvm::Instruction*) + 551 26 clang 0x000000000169e975 llvm::IVUsers::AddUsersIfInteresting(llvm::Instruction*) + 1685 27 clang 0x000000000169e975 llvm::IVUsers::AddUsersIfInteresting(llvm::Instruction*) + 1685 28 clang 0x000000000169e975 llvm::IVUsers::AddUsersIfInteresting(llvm::Instruction*) + 1685 29 clang 0x000000000169ea6b llvm::IVUsers::runOnLoop(llvm::Loop*, llvm::LPPassManager&) + 171 30 clang 0x00000000016bc1c4 llvm::LPPassManager::runOnFunction(llvm::Function&) + 1140 31 clang 0x00000000017dda7b llvm::FPPassManager::runOnFunction(llvm::Function&) + 587 32 clang 0x000000000167daeb 33 clang 0x000000000167e785 34 clang 0x00000000017df084 llvm::MPPassManager::runOnModule(llvm::Module&) + 500 35 clang 0x00000000017df20b llvm::PassManagerImpl::run(llvm::Module&) + 187 36 clang 0x000000000081e2e9 clang::EmitBackendOutput(clang::Diagnostic&, clang::CodeGenOptions const&, clang::TargetOptions const&, llvm::Module*, clang::BackendAction, llvm::raw_ostream*) + 1625 37 clang 0x000000000081b0bb clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 251 38 clang 0x0000000000942c1f clang::ParseAST(clang::Sema&, bool) + 431 39 clang 0x000000000081a854 clang::CodeGenAction::ExecuteAction() + 68 40 clang 0x000000000070d783 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 371 41 clang 0x00000000006e8282 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1298 42 clang 0x00000000006df1fc cc1_main(char const**, char const**, char const*, void*) + 524 43 clang 0x00000000006e736d main + 4445 44 libc.so.6 0x00007f03b1319abd __libc_start_main + 253 45 clang 0x00000000006dd949 Stack dump: 0. Program arguments: /uusoc/exports/scratch/regehr/z/compiler-install/llvm-gcc-r128982-install/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name small.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.20 -momit-leaf-frame-pointer -resource-dir /uusoc/exports/scratch/regehr/z/compiler-install/llvm-gcc-r128982-install/bin/../lib/clang/3.0 -O2 -w -ferror-limit 19 -fmessage-length 97 -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o small.o -x c small.c 1. parser at end of file 2. Per-module optimization passes 3. Running pass 'CallGraph Pass Manager' on module 'small.c'. 4. Running pass 'Loop Pass Manager' on function '@func_14' 5. Running pass 'Induction Variable Users' on basic block '%for.inc9' clang: error: unable to execute command: Aborted clang: error: clang frontend command failed due to signal 1 (use -v to see invocation) [regehr at gamow tmp010]$ clang -v clang version 3.0 (trunk 128982) Target: x86_64-unknown-linux-gnu Thread model: posix [regehr at gamow tmp010]$ cat small.c typedef char int8_t; typedef int int16_t; typedef char uint8_t; typedef int uint16_t; typedef int uint64_t; uint8_t foo (int8_t si1, uint8_t si2) { return si1 * si2; } uint8_t bar (int16_t left, int right) { return left < right || right ? : left >> right; } uint8_t baz (uint8_t ui1, uint8_t ui2) { return ui1 * ui2; } uint8_t buz (uint16_t left, int right) { return right >= 32 || left >> right ? left : left << right; } uint8_t func_14 (uint16_t p_17, uint8_t p_18) { for (p_17 = 0; p_17 < 1; p_17 += 1) { } for (0; 1; p_18 += 1) if (bar (foo (baz (p_18, 1), buz (p_17, 13)), 0)) return 0; } -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 01:48:49 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 01:48:49 -0500 (CDT) Subject: [LLVMbugs] [Bug 9634] New: likely improper segfault Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9634 Summary: likely improper segfault Product: new-bugs Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: regehr at cs.utah.edu CC: llvmbugs at cs.uiuc.edu, chenyang at cs.utah.edu This program, as far as I can tell, should not crash. regehr at home:~/volatile/bugs/tmp011$ clang -Os small.c -o small regehr at home:~/volatile/bugs/tmp011$ ./small Segmentation fault regehr at home:~/volatile/bugs/tmp011$ clang -v clang version 3.0 (trunk 128982) Target: i386-pc-linux-gnu Thread model: posix regehr at home:~/volatile/bugs/tmp011$ cat small.c extern int printf (const char *, ...); int g_58; int *g_116; short func_82 (void); short func_82 (void) { short l_87[9]; int i; for (i = 0; i < 9; i++) l_87[i] = 0xDCDEL; return l_87[6]; } int main (void) { int p_45; for (p_45 = 0; p_45 < 4; p_45++) { g_116 = &g_58; *g_116 |= func_82 (); } printf ("checksum = 0\n"); return 0; } -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 02:09:55 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 02:09:55 -0500 (CDT) Subject: [LLVMbugs] [Bug 8805] No indication of what's changed in new releases of the clang analyzer In-Reply-To: References: Message-ID: <20110406070955.40C692A6C12C@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=8805 Peter Gutmann changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #3 from Peter Gutmann 2011-04-06 02:09:54 CDT --- Since there's now a link to release notes on the clang analyzer page, I've closed this bug. Thanks for the fix! -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 05:36:19 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 05:36:19 -0500 (CDT) Subject: [LLVMbugs] [Bug 9635] New: C++0x bug in clang (possibly) Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9635 Summary: C++0x bug in clang (possibly) Product: clang Version: unspecified Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P Component: C++0x AssignedTo: unassignedclangbugs at nondot.org ReportedBy: chris at bubblescope.net CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com I'm not sure if the following is a bug in clang, or a change in the C++ standard for C++0x (although if it is a change, it's not one I've heard of). The following code fails to compile in clang c++03 and g++. g++ 4.5 continues to reject the code in c++0x mode, but clang accepts it with -std=c++0x. Some libraries rely on code like this NOT compiling, to check templates are only instantiated in certain ways. template struct foo { friend int f(int) { return 0; } }; int main(void) { foo<1> f; foo<2> g; } -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 13:20:19 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 13:20:19 -0500 (CDT) Subject: [LLVMbugs] [Bug 9441] Umbrella Bug for 2.9 Release In-Reply-To: References: Message-ID: <20110406182019.6B4982A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9441 Bill Wendling changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME --- Comment #16 from Bill Wendling 2011-04-06 13:20:18 CDT --- The 2.9 release is finished. The announcement will be soon. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 15:02:16 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 15:02:16 -0500 (CDT) Subject: [LLVMbugs] [Bug 9283] [C++] False positive: uninitialized but passed as ref arg to a member function. In-Reply-To: References: Message-ID: <20110406200216.89A022A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9283 Ted Kremenek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |kremenek at apple.com Resolution| |FIXED --- Comment #1 from Ted Kremenek 2011-04-06 15:02:16 CDT --- I fixed this last week: http://llvm.org/viewvc/llvm-project?view=rev&revision=128557 -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 16:06:41 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 16:06:41 -0500 (CDT) Subject: [LLVMbugs] [Bug 9636] New: __push_heap_front does two comparisons per step, only one is needed Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9636 Summary: __push_heap_front does two comparisons per step, only one is needed Product: libc++ Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: enhancement Priority: P Component: All Bugs AssignedTo: hhinnant at apple.com ReportedBy: rafael.espindola at gmail.com CC: llvmbugs at cs.uiuc.edu __push_heap_front is normally used to put in the correct position an element that was previously a leaf of a heap (as in the pop_heap implementation). Since that element was a leaf, it is likely that it will move down when placed in the root. An optimization is to move down the empty space at the root by swapping it with the largest children. When the empty space becomes a leaf, the last element is moved to its place and moved up if necessary (push_heap). The advantage is that only one comparison per step is needed to move the empty space down. Wikipedia attributes the improvement to R. W. Floyd (http://en.wikipedia.org/wiki/Heapsort), but I could not find the original paper. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 19:45:58 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 19:45:58 -0500 (CDT) Subject: [LLVMbugs] [Bug 9543] linux ppc: clang linking invokes ld for x86_64 rather than ppc In-Reply-To: References: Message-ID: <20110407004558.A1E3C2A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9543 Jeremy Huddleston changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #8 from Jeremy Huddleston 2011-04-06 19:45:57 CDT --- r128944 -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 20:35:54 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 20:35:54 -0500 (CDT) Subject: [LLVMbugs] [Bug 9634] likely improper segfault In-Reply-To: References: Message-ID: <20110407013554.4C19C2A6C12C@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9634 Eli Friedman changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |sharparrow1 at yahoo.com Resolution| |FIXED --- Comment #2 from Eli Friedman 2011-04-06 20:35:53 CDT --- r129049. (This turned out to be mostly unrelated to the other two LICM issues.) -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Wed Apr 6 21:07:24 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Wed, 6 Apr 2011 21:07:24 -0500 (CDT) Subject: [LLVMbugs] [Bug 9638] New: llvm-gcc fails to build with gcc-4.3.2 on x86_64 linux Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9638 Summary: llvm-gcc fails to build with gcc-4.3.2 on x86_64 linux Product: tools Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: llvm-gcc AssignedTo: unassignedbugs at nondot.org ReportedBy: etherzhhb at gmail.com CC: llvmbugs at cs.uiuc.edu Created an attachment (id=6401) --> (http://llvm.org/bugs/attachment.cgi?id=6401) The header 'stl_iterator_base_types.h' When i building llvm-gcc with gcc-4.3.2 on x86_64 linux, i got: make[4]: Entering directory `/home/ether/build/llvm-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/src' ... /home/ether/build/llvm-gcc/./gcc/xgcc -shared-libgcc -B/home/ether/build/llvm-gcc/./gcc -nostdinc++ -L/home/ether/build/llvm-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/src -L/home/ether/build/llvm-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/home/ether/local/llvm-gcc//x86_64-unknown-linux-gnu/bin/ -B/home/ether/local/llvm-gcc//x86_64-unknown-linux-gnu/lib/ -isystem /home/ether/local/llvm-gcc//x86_64-unknown-linux-gnu/include -isystem /home/ether/local/llvm-gcc//x86_64-unknown-linux-gnu/sys-include -I/home/ether/build/llvm-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/home/ether/build/llvm-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/include -I/home/ether/sources/llvm-gcc/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -c /home/ether/sources/llvm-gcc/libstdc++-v3/src/string-inst.cc -fPIC -DPIC -o .libs/string-inst.o Function return type does not match operand type of return inst! ret void, !dbg !940 {}Broken module found, compilation aborted! /home/ether/build/llvm-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/stl_iterator_base_types.h: In function 'typename std::iterator_traits<_Iterator>::iterator_category std::__iterator_category(const _Iter&) [with _Iter = __gnu_cxx::__normal_iterator, std::allocator > >]': /home/ether/build/llvm-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/stl_iterator_base_types.h:164: internal compiler error: Aborted Please submit a full bug report, I am configure llvm-gcc with: $HOME/sources/llvm-gcc/configure --prefix=$HOME/local/llvm-gcc/ --enable-languages=c,c++ --enable-checking --enable-llvm=$HOME/build/llvm-ts --disable-bootstrap --disable-multilib The result of gcc -v is: Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.3.2 (Debian 4.3.2-1.1) And uname -a get: Linux gcc16 2.6.26-2-amd64 #1 SMP Thu Nov 25 04:30:55 UTC 2010 x86_64 GNU/Linux The revision of llvm-gcc is 129047, The revision of llvm is 129002 -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Thu Apr 7 02:38:30 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Thu, 7 Apr 2011 02:38:30 -0500 (CDT) Subject: [LLVMbugs] [Bug 9635] C++0x bug in clang (possibly) In-Reply-To: References: Message-ID: <20110407073830.62EE22A6C12D@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9635 Christopher Jefferson changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID --- Comment #8 from Christopher Jefferson 2011-04-07 02:38:29 CDT --- Yes, changing the return value works. Strange, I thought I tried that. Anyway, this is certainly not a bug in clang. Thanks all. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Thu Apr 7 03:15:12 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Thu, 7 Apr 2011 03:15:12 -0500 (CDT) Subject: [LLVMbugs] [Bug 9638] llvm-gcc fails to build with gcc-4.3.2 on x86_64 linux In-Reply-To: References: Message-ID: <20110407081512.E1C552A6C12E@llvm.org> http://llvm.org/bugs/show_bug.cgi?id=9638 Duncan Sands changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |baldrick at free.fr Resolution| |WONTFIX --- Comment #2 from Duncan Sands 2011-04-07 03:15:12 CDT --- I already fixed this in dragonegg. As llvm-gcc is now dead I don't plan to fix it in llvm-gcc. The cause of this is the recent (post 2.9) removal of support for "old style" multiple return values: it used to be possible to use "return void" with a function that returned an empty struct, but no longer. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Thu Apr 7 05:14:39 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Thu, 7 Apr 2011 05:14:39 -0500 (CDT) Subject: [LLVMbugs] [Bug 9639] New: Crash during llvm-ld Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9639 Summary: Crash during llvm-ld Product: new-bugs Version: 2.8 Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: garrofi at hotmail.com CC: llvmbugs at cs.uiuc.edu AliasSetTracker.h void removeCallSite(CallSite CS) { for (size_t i = 0, e = CallSites.size(); i != e; ++i) if (CallSites[i] == CS.getInstruction()) { CallSites[i] = CallSites.back(); CallSites.pop_back(); } } this code is wrong, it caches the size of the vector but it doesn't update the size after removing an element from the vector this piece of code fixes it void removeCallSite(CallSite CS) { for (size_t i = 0; i != CallSites.size(); ++i) if (CallSites[i] == CS.getInstruction()) { CallSites[i] = CallSites.back(); CallSites.pop_back(); } } Thanks, Miguel -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Thu Apr 7 07:09:59 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Thu, 7 Apr 2011 07:09:59 -0500 (CDT) Subject: [LLVMbugs] [Bug 9640] New: clang++ optimizer causes std::bad_alloc in boost::unordered_set<>::insert Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9640 Summary: clang++ optimizer causes std::bad_alloc in boost::unordered_set<>::insert Product: clang Version: 2.8 Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: C++ AssignedTo: unassignedclangbugs at nondot.org ReportedBy: matthias.andree at gmx.de CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com Created an attachment (id=6402) --> (http://llvm.org/bugs/attachment.cgi?id=6402) C++ code to show misoptimization causing std::bad_alloc clang version 2.8 (branches/release_28) Target: i386-pc-linux-gnu Thread model: posix LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-ia32:core-3.2-ia32:core-4.0-ia32:desktop-4.0-ia32:desktop-4.0-noarch:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.2-ia32:graphics-3.2-noarch:graphics-4.0-ia32:graphics-4.0-noarch Distributor ID: SUSE LINUX Description: openSUSE 11.4 (i586) Release: 11.4 Codename: Celadon boost-devel-1.44.0-5.1.i586 Greetings, the attached program works OK when compiled with g++ 4.5: copying tokens to capabilities token FOO token BAR token BAZ IMAPCapa::IMAPCapa(const std::string &) completed but barfs when compiled with clang++ 2.8: $ clang++ -Wall -pedantic-errors -Wextra -g -O -fexceptions -march=athlon-xp -o break break.cpp $ ./break copying tokens to capabilities token FOO caught std::bad_alloc Apparently clang version 2.9 (trunk 116146) Target: x86_64-unknown-linux-gnu and libboost1.40-dev (Ubuntu 10.10) fares better (and succeeds like g++ 4.5 does). -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at llvm.org Thu Apr 7 10:07:41 2011 From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org) Date: Thu, 7 Apr 2011 10:07:41 -0500 (CDT) Subject: [LLVMbugs] [Bug 9641] New: Missing optimization for dynamic_cast to/from final class Message-ID: http://llvm.org/bugs/show_bug.cgi?id=9641 Summary: Missing optimization for dynamic_cast to/from final class Product: clang Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: C++0x AssignedTo: unassignedclangbugs at nondot.org ReportedBy: richard-llvm at metafoo.co.uk CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com Consider this: class A { virtual ~A(); }; class B final : public A {}; extern struct A *p; int main() { return dynamic_cast(p) != 0; } This produces the following IR: ; ModuleID = '-' target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-unknown-linux-gnu" %0 = type { i8*, i8*, i8* } %class.A = type { i32 (...)** } %class.B = type { [8 x i8] } @p = external global %class.A* @_ZTI1A = external constant i8* @_ZTVN10__cxxabiv120__si_class_type_infoE = external global i8* @_ZTS1B = linkonce_odr constant [3 x i8] c"1B\00" @_ZTI1B = linkonce_odr unnamed_addr constant %0 { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([3 x i8]* @_ZTS1B, i32 0, i32 0), i8* bitcast (i8** @_ZTI1A to i8*) } define i32 @main() nounwind { entry: %retval = alloca i32, align 4 store i32 0, i32* %retval %tmp = load %class.A** @p, align 8 %0 = icmp ne %class.A* %tmp, null br i1 %0, label %1, label %5 ;