[LLVMbugs] [Bug 7087] New: __builtin_powil failure

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri May 7 07:22:34 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7087

           Summary: __builtin_powil failure
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: chris at bubblescope.net
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


Created an attachment (id=4860)
 --> (http://llvm.org/bugs/attachment.cgi?id=4860)
crashing example using builtin __builtin_powil

The attached code causes an assertion in clang++. This bug is reduced from
libs/config/test/math_info.cpp in boost. The resulting testcase is itself valid
C

The original version of this problem required at least -O2 to trigger, this one
does not.

~$ cd ~/Dropbox
~/Dropbox$ clang++ -c pow.cc
Assertion failed: (semantics == rhs.semantics), function divideSignificand,
file APFloat.cpp, line 969.
0  clang             0x00f57119 PrintStackTrace(void*) + 45
1  clang             0x00f57663 SignalHandler(int) + 374
2  libSystem.B.dylib 0x9008942b _sigtramp + 43
3  libSystem.B.dylib 0xffffffff _sigtramp + 1878486015
4  libSystem.B.dylib 0x901168e5 raise + 26
5  libSystem.B.dylib 0x9012c99c abort + 93
6  libSystem.B.dylib 0x90119544 __pthread_markcancel + 0
7  clang             0x00f0e41b llvm::APFloat::divideSignificand(llvm::APFloat
const&) + 77
8  clang             0x00f0f5d7 llvm::APFloat::divide(llvm::APFloat const&,
llvm::APFloat::roundingMode) + 131
9  clang             0x00a4f9d9 llvm::SelectionDAG::getNode(unsigned int,
llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue) + 8467
10 clang             0x00a68221 ExpandPowI(llvm::DebugLoc, llvm::SDValue,
llvm::SDValue, llvm::SelectionDAG&) + 669
11 clang             0x00a7d82b
llvm::SelectionDAGBuilder::visitIntrinsicCall(llvm::CallInst const&, unsigned
int) + 11289
12 clang             0x00a7f501
llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) + 231
13 clang             0x00a6c26a llvm::SelectionDAGBuilder::visit(unsigned int,
llvm::User const&) + 1330
14 clang             0x00a89d37
llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 111
15 clang             0x00aa0949
llvm::SelectionDAGISel::SelectBasicBlock(llvm::MachineBasicBlock*,
llvm::BasicBlock const*, llvm::ilist_iterator<llvm::Instruction const>,
llvm::ilist_iterator<llvm::Instruction const>, bool&) + 45
16 clang             0x00aa0d71
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 895
17 clang             0x00aa11f2
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 668
18 clang             0x00b6f3bb
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 77
19 clang             0x00ecddc5
llvm::FPPassManager::runOnFunction(llvm::Function&) + 287
20 clang             0x00ecf2d8
llvm::FunctionPassManagerImpl::run(llvm::Function&) + 80
21 clang             0x00ecf4cd llvm::FunctionPassManager::run(llvm::Function&)
+ 171
22 clang             0x000442af (anonymous
namespace)::BackendConsumer::EmitAssembly() + 811
23 clang             0x000443ad (anonymous
namespace)::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 151
24 clang             0x0023f4e8 clang::ParseAST(clang::Preprocessor&,
clang::ASTConsumer*, clang::ASTContext&, bool, bool,
clang::CodeCompleteConsumer*) + 673
25 clang             0x0006367f clang::ASTFrontendAction::ExecuteAction() + 269
26 clang             0x0006379c clang::FrontendAction::Execute() + 278
27 clang             0x00047427
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 879
28 clang             0x0002a11f cc1_main(char const**, char const**, char
const*, void*) + 1979
29 clang             0x0002e039 main + 272
30 clang             0x00028e5d start + 53
Stack dump:
0.    Program arguments: /usr/local/bin/clang -cc1 -triple
i386-apple-darwin10.0.0 -S -disable-free -main-file-name pow.cc -pic-level 1
-mdisable-fp-elim -target-cpu yonah -resource-dir /usr/local/lib/clang/2.0
-ferror-limit 19 -fmacro-backtrace-limit 6 -ftemplate-backtrace-limit 10
-fmessage-length 102 -stack-protector 1 -fblocks -fexceptions
-fdiagnostics-show-option -fcolor-diagnostics -o
/var/folders/M8/M86fCFVgGQ0r-V2oY5lLC++++TI/-Tmp-/cc-ceIyqj.s -x c++ pow.cc 
1.    <eof> parser at end of file
2.    Code generation
3.    Running pass 'X86 DAG->DAG Instruction Selection' on function '@main'
clang: error: compiler command failed due to signal 6 (use -v to see
invocation)
~/Dropbox$

-- 
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.



More information about the llvm-bugs mailing list