This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Compiling GCC with g++: a report
Zack Weinberg <zack@codesourcery.com> writes:
> Think about how machine_mode values are used. Almost the entire
> compiler is supposed to treat them as opaque things. You get them from
> e.g. int_mode_for_size; you may iterate over a class with
> GET_MODE_WIDER_MODE; you stash them in RTL and you pass them to
> predicates. Appearances of "SImode" in the machine-independent compiler
> are usually bugs. This is a major contributing factor to the brokenness
> of ports that don't set BITS_PER_UNIT==8.
Well, do you want a nice clean solution, like using a C++ class, or do
you want a hideous hacked up solution that works for C?
mv machmode.h real-machmode.h
cat <<EOF machmode.h
#include "real-machmode.h"
#define SImode diediedie
#define HImode diediedie
...
EOF
find config -name '*.[ch]' -print | while read f; do
sed -e 's/"machmode.h"/"real-machmode.h"/' < $f > $f.new
mv $f.new $f
done
Ian