Another fixincludes problem

Bruce Korb
Tue Dec 5 07:20:00 GMT 2000

Richard Earnshaw wrote:
> > Yes, it is.  The wrapper script detects a ``DONE'' file when it
> > gets around to processing the sym link and skips the tree because
> > it has already been processed.  The fixincl program only ever sees
> > ``arm32/ansi.h'' get processed.  Add it to the files list for the
> > machine_ansi_h_va_list hack:
> >
> >   files = arm32/ansi.h;
> >
> > Someday in my copious spare time, I'll make the file names
> > globbing patterns.  But not today.  :-)
> Oh dear.  That's unfortunate, since it means we also need:
> alpha/     atari/     hpcmips/   newsmips/  prep/      vax/
> amiga/     bebox/     i386/      mips/      next68k/   sgimips/   x68k/
> amigappc/  cobalt/    luna68k/   mipsco/    ofppc/     sh3/
> arc/       m68k/      mmeye/     pc532/     sparc/
> arm26/     evbsh3/    mac68k/    mvme68k/   pmax/      sparc64/
> arm32/     hp300/     macppc/    news68k/   powerpc/   sun3/
> Or, if I understand correctly, all those in the above list that are
> alphabetically before "machine".

No, you would need them all.  The sym-links are processed later.
A ``find(1)'' is done on each sym link after the non-following
find on ".".

We could also *remove* the ``files'' entry.  That would run the
fix on every file found to have the ``select'' expression and *not*
the ``bypass'' expression:

   * Fix BSD machine/ansi.h to use __builtin_va_list to define
  fix = {
    hackname = machine_ansi_h_va_list;
    select   = "define[ \t]+_BSD_VA_LIST_[ \t]";
    bypass   = '__builtin_va_list';

    c_fix     = format;
    c_fix_arg = "%1__builtin_va_list";
    c_fix_arg = "(define[ \t]+_BSD_VA_LIST_[ \t]+).*";

    test_text = " # define _BSD_VA_LIST_\tchar**";

More information about the Gcc-bugs mailing list