[LLVMbugs] [Bug 13986] New: Assertion `MaybeODRUseExprs.empty() && "Leftover expressions for odr-use checking"' failed.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Oct 1 04:39:40 PDT 2012


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

             Bug #: 13986
           Summary: Assertion `MaybeODRUseExprs.empty() && "Leftover
                    expressions for odr-use checking"' failed.
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: azuhoo at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 9281
  --> http://llvm.org/bugs/attachment.cgi?id=9281
Test case

clang from git as of 2012-09-25: 9158a5624154bc43bbbf059c07a2f7b2cd45c1a1
llvm from git 2012-09-25: c303463dcceb6a3b15e6f4d11d7c31c1ac2ce276

If the attached file (simplified from ~30000 line original) is compiled with
clang++ -c clangcrash3.cpp, the result is the assertion mentioned in the
Summary:

-------------------------8<------------------------------------------
clang-3.2:
/home/foo/projects/3rdparty/llvm/tools/clang/lib/Sema/SemaDecl.cpp:7903:
clang::Decl* clang::Sema::ActOnFinishFunctionBody(clang::Decl*, clang::Stmt*,
bool): Assertion `MaybeODRUseExprs.empty() && "Leftover expressions for odr-use
checking"' failed.
Stack dump:
0.      Program arguments: /storage/usr/local/clang/bin/clang-3.2 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name
clangcrash3.cpp -mrelocation-model static -mdisable-fp-elim -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64
-momit-leaf-frame-pointer -coverage-file /home/foo/projects/hacks/clangcrash3.o
-resource-dir /storage/usr/local/clang/bin/../lib/clang/3.2 -fmodule-cache-path
/var/tmp/clang-module-cache -internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6 -internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/x86_64-linux-gnu
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/backward
-internal-isystem /usr/local/include -internal-isystem
/storage/usr/local/clang/bin/../lib/clang/3.2/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include
-internal-externc-isystem /usr/include -fdeprecated-macro
-fdebug-compilation-dir /home/foo/projects/hacks -ferror-limit 19
-fmessage-length 147 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions
-fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o clangcrash3.o -x
c++ clangcrash3.cpp 
1.      foo14.hpp:32:2: current parser token ';'
2.      foo14.hpp:18:1: parsing namespace 'Kala'
3.      foo14.hpp:19:1: parsing namespace 'Cells'
4.      foo14.hpp:20:1: parsing struct/union/class body 'Xyzzy'
5.      foo14.hpp:29:9: parsing function body 'Lohi<get>'
clang-3: error: unable to execute command: Aborted (core dumped)
clang-3: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.2 
Target: x86_64-unknown-linux-gnu
Thread model: posix
-------------------------8<------------------------------------------

There is http://llvm.org/bugs/show_bug.cgi?id=12581 with the same symptom but
as I can't say if the cause has anything to do with this, I hesitate to reopen
that. I'm not sure what the convention is in these kind of situations.

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