llvm-g++ barfs

Hi,

In the quest for better test cases for my MP, I thought of trying
the Stepanov Abstraction Penalty benchmark. But apparently llvm-g++
is not ready for such terrible things. Let me know if you want me
to send the source code (it is widely available).

gaeke>csil-suna37|~/cs/426/MP1/step|[1177]% /usr/dcs/projects/cs426/Software/gcc_install/bin/g++ stepanov.cpp -o stepanov
In file included from /usr/dcs/projects/cs426/Software/gcc_install/llvm/include/iso/stdio_iso.h:37,
                 from /usr/dcs/projects/cs426/Software/gcc_install/llvm/include/stdio.h:22,
                 from stepanov.cpp:66:
/usr/dcs/projects/cs426/Software/gcc_install/llvm/include/stdio_tag.h:21: Tree
   check: expected identifier_node, have type_decl in getOpaqueType, at
   llvm-types.c:184
Please submit a full bug report, with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html&gt; for instructions.
gaeke>csil-suna37|~/cs/426/MP1/step|[1178]%

-Brian

In the quest for better test cases for my MP, I thought of trying
the Stepanov Abstraction Penalty benchmark. But apparently llvm-g++
is not ready for such terrible things. Let me know if you want me
to send the source code (it is widely available).

Uhm, yeah, well... C++ is not supported. :slight_smile: Although it's conceivable it
might work for VERY VERY VERY simple C++ programs (like a single class, no
standard headers), exception support has not been implemented at all, and
there are probably lots of other things that don't work. In general, I
haven't even tried to use the C++ compiler for more than a year (and back
then it was far from working).

There isn't anything precluding getting the G++ frontend to work (and it's
probably not that hard, baring exception support), but I don't have the
time to work on it now. The C++ frontend is definately on my TODO list,
although it probably won't be working well enough for use before 426 is
over. :frowning:

Perhaps after Thanksgiving I can give it a try and see how things stand...

-Chris

btw, bitfields are currently broken in the GCC frontend as well, they just
haven't been high enough priority to fix yet. My LLVM TODO list is very
long. :slight_smile:

http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/