[LLVMbugs] [Bug 7422] New: llvm-gcc: TreeToLLVM::Emit @ llvm-convert.cpp asserts

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Jun 19 13:10:24 PDT 2010


           Summary: llvm-gcc: TreeToLLVM::Emit @ llvm-convert.cpp asserts
           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: john at bass-software.com
                CC: llvmbugs at cs.uiuc.edu

Using trunk r106388, following c file asserts in llvm-gcc (target

typedef union {
  void *foo1;
} foo;

bar (foo arg1)
  register foo arg2 __asm ("r1") = arg1;
  __asm__ volatile (""
      : "r" (arg1));

$ ./xgcc -c /tmp/bang.c -o /tmp/bang.o
cc1: /home/joty/projects/llvm/ws1/src/svn-llvm-gcc/gcc/llvm-convert.cpp:950:
llvm::Value* TreeToLLVM::Emit(tree_node*, const MemRef*): Assertion
`(isAggregateTreeType(((exp)->common.type)) == (DestLoc != 0) || ((enum
tree_code) (exp)->common.code) == MODIFY_EXPR || ((enum tree_code)
(exp)->common.code) == INIT_EXPR) && "Didn't pass DestLoc to an aggregate expr,
or passed it to scalar!"' failed.
/tmp/bang.c: In function 'bar':
/tmp/bang.c:8: internal compiler error: Aborted

llvm-gcc is built as cross compiler:

$ /home/joty/projects/llvm/ws1/src/svn-llvm-gcc/configure --disable-threads
--enable-interwork --disable-multilib --disable-shared --disable-nls
--with-arch=armv4 --with-cross-host --target=arm-unknown-eabi
--prefix=/home/joty/projects/llvm/ws1/install --enable-languages=c,c++
--without-headers --enable-checking

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