OpenMPI and llvm-gcc


I was wondering whether or not MPI-libraries are expected to work with llvm-gcc?

I tried to compile openmpi-1.3 using the llvm-gcc4.2-2.5-x86-darwin9 distribution on my MacBook Pro running OS 10.5.6.
Installation using the gcc (gcc version 4.0.1 (Apple Inc. build 5490)) worked well.

But for the llvm-gcc I get the following error message (during the make):

Making all in vtfilter
llvm-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../extlib/otf/otflib -I../../extlib/otf/otflib -I../../vtlib/ -I../../vtlib -D_REENTRANT -fopenmp -DVT_OMP -O2 -MT vtfilter-vt_filter.o -MD -MP -MF .deps/vtfilter-vt_filter.Tpo -c -o vtfilter-vt_filter.o `test -f '' || echo './'`
mv -f .deps/vtfilter-vt_filter.Tpo .deps/vtfilter-vt_filter.Po
llvm-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../extlib/otf/otflib -I../../extlib/otf/otflib -I../../vtlib/ -I../../vtlib -D_REENTRANT -fopenmp -DVT_OMP -O2 -MT vtfilter-vt_filthandler.o -MD -MP -MF .deps/vtfilter-vt_filthandler.Tpo -c -o vtfilter-vt_filthandler.o `test -f '' || echo './'`
mv -f .deps/vtfilter-vt_filthandler.Tpo .deps/vtfilter-vt_filthandler.Po
llvm-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../extlib/otf/otflib -I../../extlib/otf/otflib -I../../vtlib/ -I../../vtlib -D_REENTRANT -fopenmp -DVT_OMP -O2 -MT vtfilter-vt_otfhandler.o -MD -MP -MF .deps/vtfilter-vt_otfhandler.Tpo -c -o vtfilter-vt_otfhandler.o `test -f '' || echo './'`
mv -f .deps/vtfilter-vt_otfhandler.Tpo .deps/vtfilter-vt_otfhandler.Po
llvm-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../extlib/otf/otflib -I../../extlib/otf/otflib -I../../vtlib/ -I../../vtlib -D_REENTRANT -fopenmp -DVT_OMP -O2 -MT vtfilter-vt_tracefilter.o -MD -MP -MF .deps/vtfilter-vt_tracefilter.Tpo -c -o vtfilter-vt_tracefilter.o `test -f '' || echo './'`
mv -f .deps/vtfilter-vt_tracefilter.Tpo .deps/vtfilter-vt_tracefilter.Po
llvm-g++ -fopenmp -DVT_OMP -O2 -fopenmp -o vtfilter vtfilter-vt_filter.o vtfilter-vt_filthandler.o vtfilter-vt_otfhandler.o vtfilter-vt_tracefilter.o ../../util/util.o -L../../extlib/otf/otflib -L../../extlib/otf/otflib/.libs -lotf -lz
Undefined symbols:
  "___builtin_expect", referenced from:
      _main.omp_fn.0 in vtfilter-vt_tracefilter.o
      _main.omp_fn.1 in vtfilter-vt_tracefilter.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[6]: *** [vtfilter] Error 1


That's odd. We should be lowering the __builtin_expect calls. Could
you provide a preprocessed and .bc file for the
vtfilter-vt_tracefilter.o file?