Zack Weinberg <[EMAIL PROTECTED]> 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

Reply via email to