[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
Chandler Carruth
chandlerc at gmail.com
Wed Mar 26 23:47:23 PDT 2008
Bam. This is about as reduced as it gets. I think I can spot the problem point:
chandlerc at osiris ~/code/compilers/build/llvm-gcc $ cat testcase.i
void
foo () {
float x __attribute__ ((mode (XF)));
}
chandlerc at osiris ~/code/compilers/build/llvm-gcc $ ./gcc/cc1
-fpreprocessed -march=k8 testcase.i -o /dev/null
foocc1: /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:81:
const llvm::Type* llvm_set_type(tree_node*, const llvm::Type*):
Assertion `(!(__extension__ ({ const tree __t = (Tr); if
(tree_code_type[(int) (((enum tree_code) (__t)->common.code))] !=
(tcc_type)) tree_class_check_failed (__t, (tcc_type),
"/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81,
__FUNCTION__); __t; })->type.size) || !Ty->isSized() ||
!isInt64((__extension__ ({ const tree __t = (Tr); if
(tree_code_type[(int) (((enum tree_code) (__t)->common.code))] !=
(tcc_type)) tree_class_check_failed (__t, (tcc_type),
"/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81,
__FUNCTION__); __t; })->type.size), true) || getInt64((__extension__
({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code)
(__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t,
(tcc_type), "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp",
81, __FUNCTION__); __t; })->type.size), true) ==
getTargetData().getABITypeSizeInBits(Ty)) && "LLVM type size doesn't
match GCC type size!"' failed.
testcase.i: In function 'foo':
testcase.i:2: internal compiler error: Aborted
Hope that helps. =]
-Chandler
PS: delta hates me, and this test case, a lot. reduced it by hand.
On Tue, Mar 25, 2008 at 12:51 AM, Bill Wendling <isanbard at gmail.com> wrote:
> Hi Chandler,
>
> This looks like a FE error, so you probably won't be able to get an
> LLVM bitcode file for us. You could help by whittling the test case
> down to something managable. First get a preprocessed file. Then I
> would suggest following the instructions on this page to reduce the
> testcase:
>
> http://gcc.gnu.org/wiki/A_guide_to_testcase_reduction
>
> That will help us a lot with the bug report.
>
> -bw
>
>
>
> On Mar 24, 2008, at 11:49 PM, Chandler Carruth wrote:
> > Hello,
> >
> > Trying to get my machine building up-to-date, and a nightly going, i
> > ran into an assertion during the build of llvm-gcc 4.2:
> >
> > $ make -j2
> > <snip!>
> > /home/chandlerc/code/compilers/build/llvm-gcc/./gcc/xgcc
> > -B/home/chandlerc/code/compilers/build/llvm-gcc/./gcc/
> > -B/home/chandlerc/code/compilers/install/llvm-gcc/x86_64-pc-linux-
> > gnu/bin/
> > -B/home/chandlerc/code/compilers/install/llvm-gcc/x86_64-pc-linux-
> > gnu/lib/
> > -isystem /home/chandlerc/code/compilers/install/llvm-gcc/x86_64-pc-
> > linux-gnu/include
> > -isystem /home/chandlerc/code/compilers/install/llvm-gcc/x86_64-pc-
> > linux-gnu/sys-include
> > -O2 -O2 -march=k8 -mfpmath=sse -pipe -DIN_GCC -W -Wall
> > -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
> > -Wold-style-definition -isystem ./include -fPIC -g
> > -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I.
> > -I/home/chandlerc/code/compilers/llvm-gcc/gcc
> > -I/home/chandlerc/code/compilers/llvm-gcc/gcc/.
> > -I/home/chandlerc/code/compilers/llvm-gcc/gcc/../include
> > -I/home/chandlerc/code/compilers/llvm-gcc/gcc/../libcpp/include
> > -I/home/chandlerc/code/compilers/llvm-gcc/gcc/../libdecnumber
> > -I../libdecnumber -I/home/chandlerc/code/compilers/llvm/include
> > -I/home/chandlerc/code/compilers/build/llvm/include -DL_powitf2 -c
> > /home/chandlerc/code/compilers/llvm-gcc/gcc/libgcc2.c -o
> > libgcc/./_powitf2.o
> > cc1: /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:81:
> > const llvm::Type* llvm_set_type(tree_node*, const llvm::Type*):
> > Assertion `(!(__extension__ ({ const tree __t = (Tr); if
> > (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] !=
> > (tcc_type)) tree_class_check_failed (__t, (tcc_type),
> > "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81,
> > __FUNCTION__); __t; })->type.size) || !Ty->isSized() ||
> > !isInt64((__extension__ ({ const tree __t = (Tr); if
> > (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] !=
> > (tcc_type)) tree_class_check_failed (__t, (tcc_type),
> > "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81,
> > __FUNCTION__); __t; })->type.size), true) || getInt64((__extension__
> > ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code)
> > (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t,
> > (tcc_type), "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-
> > types.cpp",
> > 81, __FUNCTION__); __t; })->type.size), true) ==
> > getTargetData().getABITypeSizeInBits(Ty)) && "LLVM type size doesn't
> > match GCC type size!"' failed.
> > /home/chandlerc/code/compilers/llvm-gcc/gcc/libgcc2.c: In function
> > '__powixf2':
> > /home/chandlerc/code/compilers/llvm-gcc/gcc/libgcc2.c:1765: internal
> > compiler error: Aborted
> >
> > My configure:
> > .../configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu
> > --target=x86_64-pc-linux-gnu
> > --prefix=/home/chandlerc/code/compilers/install/llvm-gcc
> > --disable-multilib --disable-shared
> > --enable-llvm=/home/chandlerc/code/compilers/build/llvm
> > --program-prefix=llvm- --enable-languages=c,c++
> >
> > If more information would help, just let me know.
> >
> > -Chandler
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
More information about the llvm-dev
mailing list