https://llvm.org/bugs/show_bug.cgi?id=24783
Bug ID: 24783 Summary: Assertion `New->getType() == getType() && "replaceAllUses of value with new value of different type!"' failed. Product: new-bugs Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: octopl...@yandex.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified trippels@gcc2-power8 tmp % cat test.ii class A { public: typedef A *const_iterator; const_iterator m_fn1() { return this; } const_iterator end___trans_tmp_1; const_iterator m_fn2() { end___trans_tmp_1 = this; return end___trans_tmp_1 + 1; } }; inline int fn1(A &) { return 0; } class buffers_iterator { public: static buffers_iterator m_fn3() { A a; buffers_iterator b; b.current_ = a.m_fn1(); b.end_ = a.m_fn2(); while (b.current_ != b.end_) { A c = *b.current_; fn1(c); ++b.current_; } return b; } A::const_iterator current_; A::const_iterator end_; int position_; } d = buffers_iterator::m_fn3(); trippels@gcc2-power8 tmp % clang++ -c -O2 test.ii -fno-crash-diagnostics clang-3.8: /home/trippels/llvm/lib/IR/Value.cpp:356: void llvm::Value::replaceAllUsesWith(llvm::Value *): Assertion `New->getType() == getType() && "replaceAllUses of value with new value of different type!"' failed. #0 0x10cf162c llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/home/trippels/llvm-install/bin/clang-3.8+0x10cf162c) #1 0x10cf2ab8 PrintStackTraceSignalHandler(void*) (/home/trippels/llvm-install/bin/clang-3.8+0x10cf2ab8) #2 0x10cf0824 llvm::sys::RunSignalHandlers() (/home/trippels/llvm-install/bin/clang-3.8+0x10cf0824) #3 0x10cf2ee8 SignalHandler(int) (/home/trippels/llvm-install/bin/clang-3.8+0x10cf2ee8) 0 clang-3.8 0x0000000010cf162c llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 124 1 clang-3.8 0x0000000010cf2ab8 2 clang-3.8 0x0000000010cf0824 llvm::sys::RunSignalHandlers() + 132 3 clang-3.8 0x0000000010cf2ee8 4 0x00003fffaf060478 __kernel_sigtramp_rt64 + 0 5 libc.so.6 0x00003fffaea3d978 gsignal + 72 6 libc.so.6 0x00003fffaea3ff7c abort + 684 7 libc.so.6 0x00003fffaea33544 8 libc.so.6 0x00003fffaea33634 __assert_fail + 100 9 clang-3.8 0x000000001092d910 llvm::Value::replaceAllUsesWith(llvm::Value*) + 1072 10 clang-3.8 0x0000000010b8d5f8 11 clang-3.8 0x00000000116b439c llvm::LPPassManager::runOnFunction(llvm::Function&) + 1404 12 clang-3.8 0x00000000108ed704 llvm::FPPassManager::runOnFunction(llvm::Function&) + 804 13 clang-3.8 0x000000001168abdc 14 clang-3.8 0x00000000108ee308 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1304 15 clang-3.8 0x00000000108eeb34 llvm::legacy::PassManager::run(llvm::Module&) + 36 16 clang-3.8 0x0000000010e4f9a0 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::raw_pwrite_stream*) + 8672 17 clang-3.8 0x0000000011530dc8 18 clang-3.8 0x0000000011960ab8 clang::ParseAST(clang::Sema&, bool, bool) + 824 19 clang-3.8 0x000000001121a7c4 clang::ASTFrontendAction::ExecuteAction() + 228 20 clang-3.8 0x000000001152f71c clang::CodeGenAction::ExecuteAction() + 284 21 clang-3.8 0x0000000011219f78 clang::FrontendAction::Execute() + 152 22 clang-3.8 0x00000000111e4a40 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1168 23 clang-3.8 0x00000000112c2298 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 4152 24 clang-3.8 0x000000001027878c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 1436 25 clang-3.8 0x0000000010276f04 main + 13764 26 libc.so.6 0x00003fffaea22920 27 libc.so.6 0x00003fffaea22b34 __libc_start_main + 196 Stack dump: 0. Program arguments: /home/trippels/llvm-install/bin/clang-3.8 -cc1 -triple powerpc64le-unknown-linux-gnu -emit-obj -disable-free -main-file-name test.ii -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu ppc64le -target-abi elfv2 -dwarf-column-info -coverage-file /home/trippels/tmp/test.ii -resource-dir /home/trippels/llvm-install/bin/../lib/clang/3.8.0 -O2 -fdeprecated-macro -fdebug-compilation-dir /home/trippels/tmp -ferror-limit 19 -fmessage-length 174 -mstackrealign -fno-signed-char -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o test.o -x c++-cpp-output test.ii 1. <eof> parser at end of file 2. Per-module optimization passes 3. Running pass 'CallGraph Pass Manager' on module 'test.ii'. 4. Running pass 'Loop Pass Manager' on function '@__cxx_global_var_init' 5. Running pass 'Induction Variable Simplification' on basic block '%while.body.i' clang-3.8: error: unable to execute command: Aborted (core dumped) clang-3.8: error: clang frontend command failed due to signal (use -v to see invocation) -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs