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
;