⛏️ index : buildtools.git

author Ingo Weinhold <ingo_weinhold@gmx.de> 2008-10-23 21:47:38.0 +00:00:00
committer Ingo Weinhold <ingo_weinhold@gmx.de> 2008-10-23 21:47:38.0 +00:00:00
commit
4e3fe558a15c7c14416361ccd4ca69a85fef0b3f [patch]
tree
87eddde4cea30d36e88abdd985aec701105346c8
parent
752ce742c6d0914c6bca258c54f5474da5b2767f
download
4e3fe558a15c7c14416361ccd4ca69a85fef0b3f.tar.gz

No longer define __BEOS__ for target Haiku.

git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@28306 a95241bf-73f2-0310-859d-f6bbb57e9c96

Diff

 legacy/binutils/bfd/cache.c                |   6 +++---
 legacy/binutils/binutils/ar.c              |  14 +++++++-------
 legacy/binutils/gas/as.c                   |  10 +++++-----
 legacy/binutils/ld/ld.info                 | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 legacy/binutils/ld/lexsup.c                |   6 +++---
 legacy/gcc/gcc/cccp.c                      | 300 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 legacy/gcc/gcc/collect2.c                  | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
 legacy/gcc/gcc/cppinit.c                   |  84 +++++++++++++++++++++++++++++++++++++++++++-------------------------------------
 legacy/gcc/gcc/gcc.c                       | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 legacy/gcc/gcc/gthr.h                      |   4 ++--
 legacy/gcc/gcc/libgcc2.c                   | 220 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 legacy/gcc/gcc/toplev.c                    | 216 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 legacy/binutils/bfd/doc/bfd.info           | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------
 legacy/binutils/binutils/doc/binutils.info |  62 ++++++++++++++++++++++++++++++++------------------------------
 legacy/binutils/gas/doc/as.info            | 922 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
 legacy/gcc/gcc/ginclude/stdarg.h           |   4 ++--
 legacy/gcc/gcc/ginclude/stdbool.h          |   2 +-
 legacy/gcc/gcc/ginclude/stddef.h           |   6 +++---
 legacy/gcc/gcc/ginclude/varargs.h          |   4 ++--
 legacy/gcc/libstdc++/std/bastring.h        |  14 +++++++-------
 legacy/gcc/libstdc++/stl/defalloc.h        |  22 +++++++++++-----------
 legacy/gcc/libstdc++/stl/stl_alloc.h       |   6 +++---
 legacy/gcc/libstdc++/stl/stl_config.h      |   2 +-
 legacy/gcc/gcc/config/i386/haiku.h         |  18 +++++++++---------
 24 files changed, 1250 insertions(+), 1242 deletions(-)

diff --git a/legacy/binutils/bfd/cache.c b/legacy/binutils/bfd/cache.c
index a426f06..3e21d09 100644
--- a/legacy/binutils/bfd/cache.c
+++ b/legacy/binutils/bfd/cache.c
@@ -65,7 +65,7 @@

#define BFD_CACHE_MAX_OPEN 10

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

static unsigned char _bfdio_files[OPEN_MAX+1];
#endif

@@ -258,7 +258,7 @@
  FILE *f = bfd_cache_lookup (abfd, whence != SEEK_CUR ? CACHE_NO_SEEK : 0);
  if (f == NULL)
    return -1;
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  _bfdio_files[fileno(f)] = 1;
#endif
  return real_fseek (f, offset, whence);
@@ -325,7 +325,7 @@
  FILE *f = bfd_cache_lookup (abfd, 0);
  if (f == NULL)
    return 0;
#if defined __BEOS__

#if defined(__BEOS__) || defined(__HAIKU__)

  {
    if (_bfdio_files[fileno(f)] == 1)
      {
diff --git a/legacy/binutils/binutils/ar.c b/legacy/binutils/binutils/ar.c
index aac2d69..552c7c3 100644
--- a/legacy/binutils/binutils/ar.c
+++ b/legacy/binutils/binutils/ar.c
@@ -18,7 +18,7 @@
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */


/*
   Bugs: should use getopt the way tar does (complete w/optional -) and
   should have long options too. GNU ar used to check file against filesystem
@@ -49,7 +49,7 @@
#define O_BINARY 0
#endif

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

#include <OS.h>
/* the thread priority used for all gcc-tools */
static int priority = B_LOW_PRIORITY;
@@ -77,7 +77,7 @@
static void ranlib_only (const char *archname);
static void ranlib_touch (const char *archname);
static void usage (int);


/** Globals and flags */

static int mri_mode;
@@ -209,7 +209,7 @@
	fprintf (stderr, _("no entry %s in archive\n"), *files);
    }
}


bfd_boolean operation_alters_arch = FALSE;

static void
@@ -249,7 +249,7 @@
      fprintf (s, _("  [v]          - be verbose\n"));
      fprintf (s, _("  [V]          - display the version number\n"));
      fprintf (s, _("  @<file>      - read options from <file>\n"));
 

      ar_emul_usage (s);
    }
  else
@@ -407,7 +407,7 @@
	  else
	    print_version ("ar");
	}
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

      else if (!strncmp (argv[1], "-priority=", 10))
	{
	  priority = atol (argv[1] + 10);
@@ -415,7 +415,7 @@
#endif
    }

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  set_thread_priority (find_thread(NULL), priority);
#endif

diff --git a/legacy/binutils/gas/as.c b/legacy/binutils/gas/as.c
index dcc438f..f3c1b7c 100644
--- a/legacy/binutils/gas/as.c
+++ b/legacy/binutils/gas/as.c
@@ -58,7 +58,7 @@
#endif
#endif

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

#include <OS.h>
/* the thread priority used for all gcc-tools */
static int priority = B_LOW_PRIORITY;
@@ -437,7 +437,7 @@
      OPTION_HASH_TABLE_SIZE,
      OPTION_REDUCE_MEMORY_OVERHEADS,
      OPTION_WARN_FATAL
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

      ,
      OPTION_PRIORITY
#endif
@@ -495,7 +495,7 @@
    ,{"mri", no_argument, NULL, 'M'}
    ,{"nocpp", no_argument, NULL, OPTION_NOCPP}
    ,{"no-warn", no_argument, NULL, 'W'}
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

	,{"priority", required_argument, NULL, OPTION_PRIORITY}
#endif
    ,{"reduce-memory-overheads", no_argument, NULL, OPTION_REDUCE_MEMORY_OVERHEADS}
@@ -588,7 +588,7 @@
	  show_usage (stdout);
	  exit (EXIT_SUCCESS);

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

	case OPTION_PRIORITY:
	  priority = atol (optarg);
	  break;
@@ -917,7 +917,7 @@
  *pargc = new_argc;
  *pargv = new_argv;

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  set_thread_priority (find_thread(NULL), priority);
#endif

diff --git a/legacy/binutils/ld/ld.info b/legacy/binutils/ld/ld.info
index c149009..ffdc7ff 100644
--- a/legacy/binutils/ld/ld.info
+++ b/legacy/binutils/ld/ld.info
@@ -1,5 +1,7 @@
This is ../../binutils/ld/ld.info, produced by makeinfo version 4.7
from ../../binutils/ld/ld.texinfo.
This is
/home/bonefish/develop/haiku/buildtools/legacy/binutils/ld/ld.info,
produced by makeinfo version 4.9 from
/home/bonefish/develop/haiku/buildtools/legacy/binutils/ld/ld.texinfo.

START-INFO-DIR-ENTRY
* Ld: (ld).                       The GNU linker.
@@ -6611,81 +6613,81 @@


Tag Table:
Node: Top367
Node: Overview1129
Node: Invocation2243
Node: Options2651
Node: Environment77306
Node: Scripts79066
Node: Basic Script Concepts80800
Node: Script Format83507
Node: Simple Example84370
Node: Simple Commands87466
Node: Entry Point87917
Node: File Commands88676
Node: Format Commands92542
Node: Miscellaneous Commands94508
Node: Assignments96738
Node: Simple Assignments97229
Node: PROVIDE98965
Node: PROVIDE_HIDDEN100170
Node: Source Code Reference100414
Node: SECTIONS103994
Node: Output Section Description105885
Node: Output Section Name106938
Node: Output Section Address107814
Node: Input Section109463
Node: Input Section Basics110264
Node: Input Section Wildcards112616
Node: Input Section Common117349
Node: Input Section Keep118831
Node: Input Section Example119321
Node: Output Section Data120289
Node: Output Section Keywords123066
Node: Output Section Discarding126635
Node: Output Section Attributes127591
Node: Output Section Type128595
Node: Output Section LMA129749
Node: Forced Output Alignment132020
Node: Forced Input Alignment132288
Node: Output Section Region132673
Node: Output Section Phdr133103
Node: Output Section Fill133767
Node: Overlay Description134909
Node: MEMORY139157
Node: PHDRS143357
Node: VERSION148396
Node: Expressions156187
Node: Constants157065
Node: Symbols157626
Node: Orphan Sections158364
Node: Location Counter159127
Node: Operators163431
Node: Evaluation164353
Node: Expression Section165717
Node: Builtin Functions167206
Node: Implicit Linker Scripts174698
Node: Machine Dependent175473
Node: H8/300176334
Node: i960177959
Node: ARM179644
Node: HPPA ELF32182560
Node: MMIX184183
Node: MSP430185400
Node: PowerPC ELF32186448
Node: PowerPC64 ELF64188739
Node: TI COFF193153
Node: WIN32193685
Node: Xtensa211759
Node: BFD214881
Node: BFD outline216336
Node: BFD information loss217622
Node: Canonical format220139
Node: Reporting Bugs224496
Node: Bug Criteria225190
Node: Bug Reporting225889
Node: MRI232914
Node: GNU Free Documentation License237557
Node: Index257271
Node: Top449
Node: Overview1211
Node: Invocation2325
Node: Options2733
Node: Environment77388
Node: Scripts79148
Node: Basic Script Concepts80882
Node: Script Format83589
Node: Simple Example84452
Node: Simple Commands87548
Node: Entry Point87999
Node: File Commands88758
Node: Format Commands92624
Node: Miscellaneous Commands94590
Node: Assignments96820
Node: Simple Assignments97311
Node: PROVIDE99047
Node: PROVIDE_HIDDEN100252
Node: Source Code Reference100496
Node: SECTIONS104076
Node: Output Section Description105967
Node: Output Section Name107020
Node: Output Section Address107896
Node: Input Section109545
Node: Input Section Basics110346
Node: Input Section Wildcards112698
Node: Input Section Common117431
Node: Input Section Keep118913
Node: Input Section Example119403
Node: Output Section Data120371
Node: Output Section Keywords123148
Node: Output Section Discarding126717
Node: Output Section Attributes127673
Node: Output Section Type128677
Node: Output Section LMA129831
Node: Forced Output Alignment132102
Node: Forced Input Alignment132370
Node: Output Section Region132755
Node: Output Section Phdr133185
Node: Output Section Fill133849
Node: Overlay Description134991
Node: MEMORY139239
Node: PHDRS143439
Node: VERSION148478
Node: Expressions156269
Node: Constants157147
Node: Symbols157708
Node: Orphan Sections158446
Node: Location Counter159209
Node: Operators163513
Node: Evaluation164435
Node: Expression Section165799
Node: Builtin Functions167288
Node: Implicit Linker Scripts174780
Node: Machine Dependent175555
Node: H8/300176416
Node: i960178041
Node: ARM179726
Node: HPPA ELF32182642
Node: MMIX184265
Node: MSP430185482
Node: PowerPC ELF32186530
Node: PowerPC64 ELF64188821
Node: TI COFF193235
Node: WIN32193767
Node: Xtensa211841
Node: BFD214963
Node: BFD outline216418
Node: BFD information loss217704
Node: Canonical format220221
Node: Reporting Bugs224578
Node: Bug Criteria225272
Node: Bug Reporting225971
Node: MRI232996
Node: GNU Free Documentation License237639
Node: Index257353

End Tag Table
diff --git a/legacy/binutils/ld/lexsup.c b/legacy/binutils/ld/lexsup.c
index aef5344..988d718 100644
--- a/legacy/binutils/ld/lexsup.c
+++ b/legacy/binutils/ld/lexsup.c
@@ -41,7 +41,7 @@
#include "ldemul.h"
#include "demangle.h"

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

#include <OS.h>
/* the thread priority used for all gcc-tools */
static int priority = B_LOW_PRIORITY;
@@ -709,7 +709,7 @@
	  else
	    einfo (_("%P%F: unrecognized -assert option `%s'\n"), optarg);
	  break;
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

	case OPTION_PRIORITY:
	  priority = atol (optarg);
	  break;
@@ -1364,7 +1364,7 @@
	}
    }

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  set_thread_priority (find_thread(NULL), priority);
#endif

diff --git a/legacy/gcc/gcc/cccp.c b/legacy/gcc/gcc/cccp.c
index 03b70e7..b55b6d1 100644
--- a/legacy/gcc/gcc/cccp.c
+++ b/legacy/gcc/gcc/cccp.c
@@ -83,7 +83,7 @@
#define INCLUDE_LEN_FUDGE 12	/* leave room for VMS syntax conversion */
#endif /* VMS */

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

#include <OS.h>
/* the thread priority used for all gcc-tools */
static int priority = B_LOW_PRIORITY;
@@ -112,7 +112,7 @@
extern char *version_string;
HOST_WIDEST_INT parse_escape PROTO((char **, HOST_WIDEST_INT));
HOST_WIDEST_INT parse_c_expression PROTO((char *, int));


/* Name under which this program was invoked.  */

static char *progname;
@@ -198,11 +198,11 @@
static int dump_includes;

/* Nonzero indicates special processing used by the pcp program.  The
   special effects of this mode are: 
     
   special effects of this mode are:

     Inhibit all macro expansion, except those inside #if directives.

     Process #define directives normally, and output their contents 
     Process #define directives normally, and output their contents
     to the output file.

     Output preconditions to pcp_outfile indicating all the relevant
@@ -297,7 +297,7 @@
/* Nonzero if we should fully resolve pathnames in diagnostics.  */
static int flag_full_paths_in_errors = 1;
#endif


/* I/O buffer structure.
   The `fname' field is nonzero for source files and #include files
   and for the dummy text used for -D and -U.
@@ -493,7 +493,7 @@
/* Global list of strings read in from precompiled files.  This list
   is kept in the order the strings are read in, with new strings being
   added at the end through stringlist_tailp.  We use this list to output
   the strings at the end of the run. 
   the strings at the end of the run.
*/
static STRINGDEF *stringlist;
static STRINGDEF **stringlist_tailp = &stringlist;
@@ -507,7 +507,7 @@
  U_CHAR *symnam;
  int symlen;
};


enum sharp_token_type {
  NO_SHARP_TOKEN = 0,		/* token not present */

@@ -580,7 +580,7 @@
};

/*
 * special extension string that can be added to the last macro argument to 
 * special extension string that can be added to the last macro argument to
 * allow it to absorb the "rest" of the arguments when expanded.  Ex:
 * 		#define wow(a, b...)		process (b, a, b)
 *		{ wow (1, 2, 3); }	->	{ process (2, 3, 1, 2, 3); }
@@ -674,7 +674,7 @@
#define HASHSTEP(old, c) ((old << 2) + c)
#define MAKE_POS(v) (v & 0x7fffffff) /* make number positive */



/* We let tm.h override the types used here, to handle trivial differences
   such as the choice of unsigned int or long unsigned int for size_t.
   When machines start needing nontrivial differences in the size type,
@@ -720,7 +720,7 @@
#ifndef IMMEDIATE_PREFIX
#define IMMEDIATE_PREFIX ""
#endif


/* In the definition of a #assert name, this structure forms
   a list of the individual values asserted.
   Each value is itself a list of "tokens".
@@ -759,7 +759,7 @@
/* Nonzero means inhibit macroexpansion of what seem to be
   assertion tests, in rescan.  For #if.  */
static int assertions_flag;


/* `struct directive' defines one #-directive, including how to handle it.  */

#define DO_PROTO PROTO((U_CHAR *, U_CHAR *, FILE_BUF *, struct directive *))
@@ -839,7 +839,7 @@

#define SKIP_WHITE_SPACE(p) do { while (is_hor_space[*p]) p++; } while (0)
#define SKIP_ALL_WHITE_SPACE(p) do { while (is_space[*p]) p++; } while (0)
  

static int errors = 0;			/* Error counter for exit code */

/* Name of output file, for error messages.  */
@@ -882,7 +882,7 @@
/* Nonzero means -I- has been seen,
   so don't look for #include "foo" the source-file directory.  */
static int ignore_srcdir;


static int safe_read PROTO((int, char *, int));
static void safe_write PROTO((int, char *, int));
static void eprint_string PROTO((const char *, size_t));
@@ -1029,7 +1029,7 @@

static void memory_full PROTO((void)) ATTRIBUTE_NORETURN;
static void print_help PROTO((void));


/* Read LEN bytes at PTR from descriptor DESC, for file FILENAME,
   retrying if necessary.  If MAX_READ_LEN is defined, read at most
   that bytes at a time.  Return a negative value if an error occurs,
@@ -1127,7 +1127,7 @@
  } while (length > 0);
}



static void
print_help ()
{
@@ -1198,7 +1198,7 @@
  printf ("  -priority=<prio>          Specify thread-priority to use (1-10, default is 5)\n");
  printf ("  -h or --help              Display this information\n");
}


int
main (argc, argv)
     int argc;
@@ -1282,7 +1282,7 @@

  /* Do not invoke xmalloc before this point, since locale and
     progname need to be set first, in case a diagnostic is issued.  */
     

  pend_files = (char **) xmalloc (argc * sizeof (char *));
  pend_defs = (char **) xmalloc (argc * sizeof (char *));
  pend_undefs = (char **) xmalloc (argc * sizeof (char *));
@@ -1459,7 +1459,7 @@
	    pfatal_with_name (pcp_fname);
	  no_precomp = 1;
	}
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

        else if (!strncmp (argv[i], "-priority=", 10))
	  priority = atol (argv[i] + 10);
#endif
@@ -1599,7 +1599,7 @@
	     and suppress the usual output.  */
	  deps_stream = stdout;
	  inhibit_output = 1;
	}	  
	}
	break;

      case 'd':
@@ -1760,14 +1760,14 @@
    }
  }

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  set_thread_priority (find_thread(NULL), priority);
  {
    char priobuf[20];
    sprintf (priobuf, "-priority=%d", priority);
    if (verbose)    
    if (verbose)
      notice ("using priority %d\n", priority);
  }  
  }
#endif


@@ -2006,7 +2006,7 @@
      deps_target = 0;
      output_file = spec;
    }
      

    deps_file = output_file;
    deps_mode = "a";
  }
@@ -2224,7 +2224,7 @@
  pfatal_with_name (in_fname);
  return 0;
}


/* Given a colon-separated list of file names PATH,
   add all the names to the search path for include files.  */

@@ -2258,7 +2258,7 @@
	break;
    }
}


/* Return the address of the first character in S that equals C.
   S is an array of length N, possibly containing '\0's, and followed by '\0'.
   Return 0 if there is no such character.  Assume that C itself is not '\0'.
@@ -2286,7 +2286,7 @@
    }
  }
}


/* Pre-C-Preprocessor to translate ANSI trigraph idiocy in BUF
   before main CCCP processing.  Name `pcp' is also in honor of the
   drugs the trigraph designers must have been on.
@@ -2362,7 +2362,7 @@
    warning_with_line (0, "%lu trigraph(s) encountered",
		       (unsigned long) (fptr - bptr) / 2);
}


/* Move all backslash-newline pairs out of embarrassing places.
   Exchange all such pairs following BP
   with any potentially-embarrassing characters that follow them.
@@ -2431,7 +2431,7 @@
    *bp++ = '\n';
  }
}


/* Look for lint commands in comments.

   When we come in here, ibp points into a comment.  Limit is as one expects.
@@ -2459,7 +2459,7 @@
  if (ibp >= limit) return NULL;

  linsize = limit - ibp;
  

  /* Oh, I wish C had lexical functions... hell, I'll just open-code the set */
  if ((linsize >= 10) && !bcmp (ibp, "NOTREACHED", 10)) {
    *cmdlen = 10;
@@ -2486,7 +2486,7 @@
  }
  return NULL;
}


/*
 * The main loop of the program.
 *
@@ -2674,8 +2674,8 @@
      }
      if (ident_length)
	goto specialchar;


      
      /* # keyword: a # must be first nonblank char on the line */
      if (beg_of_line == 0)
	goto randomchar;
@@ -3276,7 +3276,7 @@
	if (!pcp_outfile || pcp_inside_if) {
	  for (hp = hashtab[MAKE_POS (hash) % HASHSIZE]; hp != NULL;
	       hp = hp->next) {
	    

	    if (hp->length == ident_length) {
	      int obufp_before_macroname;
	      int op_lineno_before_macroname;
@@ -3284,30 +3284,30 @@
	      register U_CHAR *p = hp->name;
	      register U_CHAR *q = obp - i;
	      int disabled;
	      

	      if (! redo_char)
		q--;
	      

	      do {		/* All this to avoid a strncmp () */
		if (*p++ != *q++)
		  goto hashcollision;
	      } while (--i);
	      

	      /* We found a use of a macro name.
		 see if the context shows it is a macro call.  */
	      

	      /* Back up over terminating character if not already done.  */
	      if (! redo_char) {
		ibp--;
		obp--;
	      }
	      

	      /* Save this as a displacement from the beginning of the output
		 buffer.  We can not save this as a position in the output
		 buffer, because it may get realloc'ed by RECACHE.  */
	      obufp_before_macroname = (obp - op->buf) - ident_length;
	      op_lineno_before_macroname = op->lineno;
	      

	      if (hp->type == T_PCSTRING) {
		pcstring_used (hp); /* Mark the definition of this key
				       as needed, ensuring that it
@@ -3318,10 +3318,10 @@

	      /* Record whether the macro is disabled.  */
	      disabled = hp->type == T_DISABLED;
	      

	      /* This looks like a macro ref, but if the macro was disabled,
		 just copy its name and put in a marker if requested.  */
	      

	      if (disabled) {
#if 0

		/* This error check caught useful cases such as
@@ -3330,7 +3330,7 @@
		if (traditional)
		  error ("recursive use of macro `%s'", hp->name);
#endif
		

		if (output_marks) {
		  op->bufp = obp;
		  check_expand (op, limit - ibp + 2);
@@ -3340,7 +3340,7 @@
		}
		break;
	      }
	      

	      /* If macro wants an arglist, verify that a '(' follows.
		 first skip all whitespace, copying it to the output
		 after the macro name.  Then, if there is no '(',
@@ -3352,7 +3352,7 @@
		  U_CHAR *old_obp = obp;
		  int old_iln = ip->lineno;
		  int old_oln = op->lineno;
		  

		  while (1) {
		    /* Scan forward over whitespace, copying it to the output.  */
		    if (ibp == limit && ip->macro != 0) {
@@ -3496,7 +3496,7 @@
		    break;
		  }
		}
	      

	      /* This is now known to be a macro call.
		 Discard the macro name from the output,
		 along with any following whitespace just copied,
@@ -3533,7 +3533,7 @@
	      ip->bufp = ibp;
	      op->bufp = obp;
	      macroexpand (hp, op);
	      

	      /* Reexamine input stack, since macroexpand has pushed
		 a new level on it.  */
	      obp = op->bufp;
@@ -3584,7 +3584,7 @@
  }
  if_stack = ip->if_stack;
}


/*
 * Rescan a string into a temporary buffer and return the result
 * as a FILE_BUF.  Note this function returns a struct, not a pointer.
@@ -3669,7 +3669,7 @@
  assertions_flag = save_assertions_flag;
  return obuf;
}


/*
 * Process a # directive.  Expects IP->bufp to point after the '#', as in
 * `#define foo bar'.  Passes to the directive handler
@@ -4020,7 +4020,7 @@

	      register U_CHAR *bp1
		= skip_quoted_string (xp - 1, bp, ip->lineno,
				      NULL_PTR, &backslash_newlines_p, 
				      NULL_PTR, &backslash_newlines_p,
				      NULL_PTR);
	      if (backslash_newlines_p)
		while (xp != bp1)
@@ -4126,7 +4126,7 @@
     That is the responsibility of cc1.  */
  return 0;
}


static struct tm *
timestamp ()
{
@@ -4164,7 +4164,7 @@
      && hp->type != T_SPEC_DEFINED && hp->type != T_CONST)
    error ("Predefined macro `%s' used inside `#if' during precompilation",
	   hp->name);
    

  for (i = indepth; i >= 0; i--)
    if (instack[i].fname != NULL) {
      ip = &instack[i];
@@ -4324,8 +4324,8 @@

  return;
}



/* Routines to handle #directives */

/* Handle #include and #import.
@@ -4452,7 +4452,7 @@
	    /* for hack_vms_include_specification(), a local
	       dir specification must start with "./" on VMS.  */
	    if (nam == dsp->fname)
	      {    
	      {
		*nam++ = '.';
		*nam++ = '/';
		*nam = 0;
@@ -4755,7 +4755,7 @@
	    }
	} while (pcf != -1 && !pcfbuf);
      }
    

    /* Actually process the file */
    if (pcfbuf) {
      pcfname = xmalloc (strlen (pcftry) + 1);
@@ -4794,7 +4794,7 @@
      return searchptr->c_system_include_path + 1;
  return 0;
}


/* Yield the non-directory suffix of a file name.  */

static char *
@@ -4931,7 +4931,7 @@
      from++;
  }
}


/* The file_name_map structure holds a mapping of file names for a
   particular directory.  This mapping is read from the file named
   FILE_NAME_MAP_FILE in that directory.  Such a file can be used to
@@ -5053,7 +5053,7 @@
	      strcpy (ptr->map_to, dirname);
	      strcat (ptr->map_to, to);
	      free (to);
	    }	      
	    }

	  ptr->map_next = map_list_ptr->map_list_map;
	  map_list_ptr->map_list_map = ptr;
@@ -5064,12 +5064,12 @@
	}
      fclose (f);
    }
  

  map_list_ptr->map_list_next = map_list;
  map_list = map_list_ptr;

  return map_list_ptr->map_list_map;
}  
}

/* Try to open include file FILENAME.  SEARCHPTR is the directory
   being tried from the include file search path.
@@ -5142,7 +5142,7 @@
    if (! inc->deps_output  &&  (system_include_depth != 0) < print_deps) {
      inc->deps_output = 1;
      deps_output (fname, ' ');
    }   
    }

    /* Handle -H option.  */
    if (print_include_names)
@@ -5226,7 +5226,7 @@

  return 0;
}


/* Process file descriptor F, which corresponds to include file INC,
   with output to OP.
   SYSTEM_HEADER_P is 1 if this file resides in any one of the known
@@ -5356,13 +5356,13 @@
  if (!inc->control_macro || inc->control_macro[0])
    inc->control_macro = macro_name;
}


/* Load the specified precompiled header into core, and verify its
   preconditions.  PCF indicates the file descriptor to read, which must
   be a regular file.  *ST is its file status.
   FNAME indicates the file name of the original header.
   *LIMIT will be set to an address one past the end of the file.
   If the preconditions of the file are not satisfied, the buffer is 
   If the preconditions of the file are not satisfied, the buffer is
   freed and we return 0.  If the preconditions are satisfied, return
   the address of the buffer following the preconditions.  The buffer, in
   this case, should never be freed because various pieces of it will
@@ -5395,11 +5395,11 @@
    }
  else
    abort ();
    

  if (length > 0 && buf[length-1] != '\n')
    buf[length++] = '\n';
  buf[length] = '\0';
  

  *limit = buf + length;

  /* File is in core.  Check the preconditions.  */
@@ -5425,29 +5425,29 @@
   lines which must match the current contents of the hash
   table.  */

static int 
static int
check_preconditions (prec)
     char *prec;
{
  MACRODEF mdef;
  char *lineend;
  

  while (*prec) {
    lineend = index (prec, '\n');
    

    if (*prec++ != '#') {
      error ("Bad format encountered while reading precompiled file");
      return 0;
    }
    if (!strncmp (prec, "define", 6)) {
      HASHNODE *hp;
      

      prec += 6;
      mdef = create_definition ((U_CHAR *) prec, (U_CHAR *) lineend, NULL_PTR);

      if (mdef.defn == 0)
	abort ();
      

      if ((hp = lookup (mdef.symnam, mdef.symlen, -1)) == NULL
	  || (hp->type != T_MACRO && hp->type != T_CONST)
	  || (hp->type == T_MACRO
@@ -5459,7 +5459,7 @@
    } else if (!strncmp (prec, "undef", 5)) {
      char *name;
      int len;
      

      prec += 5;
      while (is_hor_space[(U_CHAR) *prec])
	prec++;
@@ -5467,7 +5467,7 @@
      while (is_idchar[(U_CHAR) *prec])
	prec++;
      len = prec - name;
      

      if (lookup ((U_CHAR *) name, len, -1))
	return 0;
    } else {
@@ -5500,14 +5500,14 @@
  nstrings = (nstrings << 8) | *cp++;
  nstrings = (nstrings << 8) | *cp++;
  nstrings = (nstrings << 8) | *cp++;
  

  /* Looping over each string...  */
  while (nstrings--) {
    U_CHAR *string_start;
    U_CHAR *endofthiskey;
    STRINGDEF *str;
    int nkeys;
    

    /* Each string starts with a STRINGDEF structure (str), followed */
    /* by the text of the string (string_start) */

@@ -5519,14 +5519,14 @@
       Do not include stddef.h--it will fail!  */
    if ((size_t) cp & 3)
      cp += 4 - ((size_t) cp & 3);
    

    /* Now get the string.  */
    str = (STRINGDEF *) (GENERIC_PTR) cp;
    string_start = cp += sizeof (STRINGDEF);
    

    for (; *cp; cp++)		/* skip the string */
      ;
    

    /* We need to macro expand the string here to ensure that the
       proper definition environment is in place.  If it were only
       expanded when we find out it is needed, macros necessary for
@@ -5538,11 +5538,11 @@
    str->writeflag = 0;
    str->filename = name;
    str->output_mark = outbuf.bufp - outbuf.buf;
    

    str->chain = 0;
    *stringlist_tailp = str;
    stringlist_tailp = &str->chain;
    

    /* Next comes a fourbyte number indicating the number of keys
       for this string.  */
    nkeys = *cp++;
@@ -5558,19 +5558,19 @@
      for (; nkeys--; free (tmpbuf.buf), cp = endofthiskey + 1) {
	KEYDEF *kp = (KEYDEF *) (GENERIC_PTR) cp;
	HASHNODE *hp;
	

	/* It starts with a KEYDEF structure */
	cp += sizeof (KEYDEF);
	

	/* Find the end of the key.  At the end of this for loop we
	   advance CP to the start of the next key using this variable.  */
	endofthiskey = cp + strlen ((char *) cp);
	kp->str = str;
	

	/* Expand the key, and enter it into the hash table.  */
	tmpbuf = expand_to_temp_buffer (cp, endofthiskey, 0, 0);
	tmpbuf.bufp = tmpbuf.buf;
	

	while (is_hor_space[*tmpbuf.bufp])
	  tmpbuf.bufp++;
	if (!is_idstart[*tmpbuf.bufp]
@@ -5578,7 +5578,7 @@
	  str->writeflag = 1;
	  continue;
	}
	    

	hp = lookup (tmpbuf.bufp, -1, -1);
	if (hp == NULL) {
	  kp->chain = 0;
@@ -5593,7 +5593,7 @@
      }
  }
  /* This output_line_directive serves to switch us back to the current
     input file in case some of these strings get output (which will 
     input file in case some of these strings get output (which will
     result in line directives for the header file being output).   */
  output_line_directive (&instack[indepth], op, 0, enter_file);
}
@@ -5606,7 +5606,7 @@
     HASHNODE *hp;
{
  KEYDEF *kp;
  

  for (kp = hp->value.keydef; kp; kp = kp->chain)
    kp->str->writeflag = 1;
  delete_macro (hp);
@@ -5628,16 +5628,16 @@
     next_string_loc, in which case we print a series of strings, or
     it is less than next_string_loc, in which case we write some of
     the buffer.  */
  cur_buf_loc = outbuf.buf; 
  cur_buf_loc = outbuf.buf;
  next_string = stringlist;
  

  while (cur_buf_loc < outbuf.bufp || next_string) {
    if (next_string
	&& cur_buf_loc - outbuf.buf == next_string->output_mark) {
      if (next_string->writeflag) {
	len = 4 * strlen ((char *) next_string->filename) + 32;
	while (len > line_directive_len)
	  line_directive = xrealloc (line_directive, 
	  line_directive = xrealloc (line_directive,
				     line_directive_len *= 2);
	sprintf (line_directive, "\n# %d ", next_string->lineno);
	strcpy (quote_string (line_directive + strlen (line_directive),
@@ -5647,15 +5647,15 @@
	safe_write (fileno (stdout), line_directive, strlen (line_directive));
	safe_write (fileno (stdout),
		    (char *) next_string->contents, next_string->len);
      }	      
      }
      next_string = next_string->chain;
    }
    else {
      len = (next_string
	     ? (next_string->output_mark 
	     ? (next_string->output_mark
		- (cur_buf_loc - outbuf.buf))
	     : outbuf.bufp - cur_buf_loc);
      

      safe_write (fileno (stdout), (char *) cur_buf_loc, len);
      cur_buf_loc += len;
    }
@@ -5691,7 +5691,7 @@
  op->lineno++;
#endif
}


/* The arglist structure is built by do_define to tell
   collect_definition where the argument names begin.  That
   is, for a define like "#define f(x,y,z) foo+x-bar*y", the arglist
@@ -5711,7 +5711,7 @@
  char rest_args;
};

/* Create a DEFINITION node from a #define directive.  Arguments are 
/* Create a DEFINITION node from a #define directive.  Arguments are
   as for do_define.  */

static MACRODEF
@@ -5780,7 +5780,7 @@
	  else
	pedwarn ("invalid character in macro parameter name");
	}
      

      /* Find the end of the arg name.  */
      while (is_idchar[*bp]) {
	bp++;
@@ -5916,7 +5916,7 @@
  mdef.defn = 0;
  return mdef;
}
 

/* Process a #define directive.
BUF points to the contents of the #define directive, as a contiguous string.
LIMIT points to the first character past the end of the definition.
@@ -5987,7 +5987,7 @@

  return 1;
}


/* Check a purported macro name SYMNAME, and yield its length.
   ASSERTION is nonzero if this is really for an assertion name.  */

@@ -6015,7 +6015,7 @@
}

/* Return zero if two DEFINITIONs are isomorphic.  */
     

static int
compare_defs (d1, d2)
     DEFINITION *d1, *d2;
@@ -6087,7 +6087,7 @@
  }
  return (beg1 != end1) || (beg2 != end2);
}


/* Read a replacement list for a macro with parameters.
   Build the DEFINITION structure.
   Reads characters of text starting at BUF until END.
@@ -6096,7 +6096,7 @@
   in that list, or -1 for a macro name that wants no argument list.
   MACRONAME is the macro name itself (so we can avoid recursive expansion)
   and NAMELEN is its length in characters.
   

Note that comments, backslash-newlines, and leading white space
have already been deleted from the argument.  */

@@ -6415,7 +6415,7 @@

  return defn;
}


static int
do_assert (buf, limit, op, keyword)
     U_CHAR *buf, *limit;
@@ -6492,7 +6492,7 @@

  return 0;
}


static int
do_unassert (buf, limit, op, keyword)
     U_CHAR *buf, *limit;
@@ -6587,7 +6587,7 @@

  return 0;
}


/* Test whether there is an assertion named NAME
   and optionally whether it has an asserted token list TOKENS.
   NAME is not null terminated; its length is SYM_LENGTH.
@@ -6652,7 +6652,7 @@
  /* Succeed if both lists end at the same time.  */
  return l1 == l2;
}


/* Read a space-separated list of tokens ending in a close parenthesis.
   Return a list of strings, in the order they were written.
   (In case of error, return 0 and store -1 in *ERROR_FLAG.)
@@ -6735,7 +6735,7 @@
    tokens = next;
  }
}


/* Install a name in the assertion hash table.

   If LEN is >= 0, it is the length of the name.
@@ -6817,7 +6817,7 @@

  free (hp);
}


/*
 * interpret #line directive.  Remembers previously seen fnames
 * in its very own hash table.
@@ -7010,7 +7010,7 @@
  }
  return 0;
}


/* Report an error detected by the program we are processing.
   Use the text of the line in the error message.
   (We use error because it prints the filename & line#.)  */
@@ -7131,7 +7131,7 @@
    fname = p + 1;
    if ((p = (U_CHAR *) index ((char *) fname, '\"')))
      *p = '\0';
    

    for (h = 0; h < INCLUDE_HASHSIZE; h++) {
      struct include_file *inc;
      for (inc = include_hashtab[h]; inc; inc = inc->next) {
@@ -7186,7 +7186,7 @@
}

#endif /* defined (SCCS_DIRECTIVE) */


/* Handle #if directive by
     1) inserting special `defined' keyword into the hash table
  	that gets turned into 0 or 1 by special_symbol (thus,
@@ -7296,7 +7296,7 @@
{
  int skip;
  FILE_BUF *ip = &instack[indepth];
  U_CHAR *end; 
  U_CHAR *end;
  int start_of_file = 0;
  U_CHAR *control_macro = 0;

@@ -7374,7 +7374,7 @@
      control_macro[end - buf] = 0;
    }
  }
  

  conditional_skip (ip, skip, T_IF, control_macro, op);
  return 0;
}
@@ -7416,7 +7416,7 @@
/* Skip to #endif, #else, or #elif.  adjust line numbers, etc.
   Leaves input ptr at the sharp sign found.
   If ANY is nonzero, return at next directive of any sort.  */
     

static void
skip_if_group (ip, any, op)
     FILE_BUF *ip;
@@ -7943,7 +7943,7 @@
  if (*p != '\n')
    pedwarn ("text following `#else' or `#endif' violates ANSI standard");
}


/* Skip a comment, assuming the input ptr immediately follows the
   initial slash-star.  Bump *LINE_COUNTER for each newline.
   (The canonical line counter is &ip->lineno.)
@@ -8197,7 +8197,7 @@
	*dst++ = c;
	break;
      }
      

  *dst++ = '\"';
  *dst = '\0';
  return dst;
@@ -8253,7 +8253,7 @@
  ip->bufp = p;
  return p;
}


/* Write out a #line directive, for instance, after an #include file.
   If CONDITIONAL is nonzero, we can omit the #line if it would
   appear to be a no-op, and we can output a few newlines instead
@@ -8328,7 +8328,7 @@
  op->bufp += len;
  op->lineno = ip->lineno;
}


/* This structure represents one parsed argument in a macro call.
   `raw' points to the argument text as written (`raw_length' is its length).
   `expanded' points to the argument's macro-expansion
@@ -8336,7 +8336,7 @@
   `stringified_length' is the length the argument would have
   if stringified.
   `use_count' is the number of times this macro arg is substituted
   into the macro.  If the actual use count exceeds 10, 
   into the macro.  If the actual use count exceeds 10,
   the value stored is 10.
   `free1' and `free2', if nonzero, point to blocks to be freed
   when the macro argument data is no longer needed.  */
@@ -8382,7 +8382,7 @@
  /* recorded as a precondition.  */
  if (pcp_inside_if && pcp_outfile && defn->predefined)
    dump_single_macro (hp, pcp_outfile);
  

  nargs = defn->nargs;

  if (nargs >= 0) {
@@ -8763,7 +8763,7 @@
      hp->type = T_DISABLED;
  }
}


/* Parse a macro argument and store the info on it into *ARGPTR.
   REST_ARGS is passed to macarg1 to make it absorb the rest of the args.
   Return nonzero to indicate a syntax error.  */
@@ -8887,7 +8887,7 @@
  }
  return result;
}


/* Scan text from START (inclusive) up to LIMIT (exclusive),
   taken from the expansion of MACRO,
   counting parens in *DEPTHPTR,
@@ -9028,11 +9028,11 @@

  return bp;
}


/* Discard comments and duplicate newlines
   in the string of length LENGTH at START,
   except inside of string constants.
   The string is copied into itself with its beginning staying fixed.  
   The string is copied into itself with its beginning staying fixed.

   NEWLINES is the number of newlines that must be duplicated.
   We assume that that much extra space is available past the end
@@ -9189,7 +9189,7 @@

  return obp - start;
}


/* Turn newlines to spaces in the string of length LENGTH at START,
   except inside of string constants.
   The string is copied into itself with its beginning staying fixed.  */
@@ -9264,7 +9264,7 @@

  return obp - start;
}


/* my_strerror - return the descriptive text associated with an
   `errno' code.  */

@@ -9312,7 +9312,7 @@
#ifndef ANSI_PROTOTYPES
  msgid = va_arg (args, const char *);
#endif
 

  vnotice (msgid, args);
  va_end (args);
}
@@ -9361,7 +9361,7 @@
#ifndef ANSI_PROTOTYPES
  msgid = va_arg (args, const char *);
#endif
 

  verror (msgid, args);
  va_end (args);
}
@@ -9634,14 +9634,14 @@
    return;

  VA_START (args, msgid);
 

#ifndef ANSI_PROTOTYPES
  file = va_arg (args, const char *);
  file_len = va_arg (args, size_t);
  line = va_arg (args, int);
  msgid = va_arg (args, const char *);
#endif
 

  if (file) {
    PRINT_CONVERTED_PATH (file, file_len);
    fprintf (stderr, ":%d: ", line);
@@ -9667,7 +9667,7 @@
    default: abort ();
    }
}


/* Print the file names and line numbers of the #include
   directives which led to the current file.  */

@@ -9713,7 +9713,7 @@
  /* Record we have printed the status as of this time.  */
  last_error_tick = input_file_stack_tick;
}


/* Return the line at which an error occurred.
   The error is not necessarily associated with the current spot
   in the input stack, so LINE says where.  LINE will have been
@@ -9780,7 +9780,7 @@

  return 0;
}


/* Symbol table for macro names and special symbols */

/*
@@ -9795,7 +9795,7 @@
 * Otherwise, compute the length by scanning the entire name.
 *
 * If HASH is >= 0, it is the precomputed hash code.
 * Otherwise, compute the hash code. 
 * Otherwise, compute the hash code.
 */

static HASHNODE *
@@ -9940,7 +9940,7 @@

  return MAKE_POS (r) % hashsize;
}



/* Dump the definition of a single macro HP to OF.  */

@@ -10101,7 +10101,7 @@
    p++;
  }
}


/* Initialize syntactic classifications of characters.  */

static void
@@ -10245,7 +10245,7 @@
	}
    }
}


/*
 * process a given definition string, for initialization
 * If STR is just an identifier, define it with value 1.
@@ -10314,7 +10314,7 @@
    }
    *q = 0;
  }
  

  ip = &instack[++indepth];
  ip->nominal_fname = ip->fname = "*Initialization*";
  ip->nominal_fname_len = strlen (ip->nominal_fname);
@@ -10363,7 +10363,7 @@
  do_undef ((U_CHAR *) str, (U_CHAR *) str + strlen (str), op, kt);
  --indepth;
}


/* Process the string STR as if it appeared as the body of a #assert.
   OPTION is the option name for which STR was the argument.  */

@@ -10401,7 +10401,7 @@
    error ("malformed option `%s %s'", option, str);
    return;
  }
  

  ip = &instack[++indepth];
  ip->nominal_fname = ip->fname = "*Initialization*";
  ip->nominal_fname_len = strlen (ip->nominal_fname);
@@ -10422,7 +10422,7 @@
  do_assert (buf, buf + strlen ((char *) buf) , NULL_PTR, kt);
  --indepth;
}


/* The previous include prefix, if any, is PREV_FILE_NAME.
   Translate any pathnames with COMPONENT.
   Allocate a new include prefix whose name is the
@@ -10555,7 +10555,7 @@
  last->next = NULL;
  last_include = last;
}


/* Place into DST a representation of the file named SRC that is suitable
   for `make'.  Do not null-terminate DST.  Return its length.  */
static int
@@ -10594,7 +10594,7 @@
	    dst[i] = '\\';
	  i++;
	  goto ordinary_char;
	  

	case '$':
	  if (dst)
	    dst[i] = c;
@@ -10660,7 +10660,7 @@
  }
  deps_buffer[deps_size] = 0;
}


void
fatal VPROTO ((const char * msgid, ...))
{
@@ -10719,7 +10719,7 @@
{
  fatal ("output pipe has been closed");
}


static void
memory_full ()
{
@@ -10772,7 +10772,7 @@
  memcpy (output, input, len);
  return output;
}


#ifdef VMS

/* Under VMS we need to fix up the "include" specification filename.
@@ -10857,11 +10857,11 @@
  /* We are trying to do a number of things here.  First of all, we are
     trying to hammer the filenames into a standard format, such that later
     processing can handle them.
     

     If the file name contains something like [dir.], then it recognizes this
     as a root, and strips the ".]".  Later processing will add whatever is
     needed to get things working properly.
     

     If no device is specified, then the first directory name is taken to be
     a device name (or a rooted logical).  */

@@ -10922,7 +10922,7 @@
         If there is no device specification either, we make the first dir a
         device and try that.  If we do not do this, then we will be essentially
         searching the users default directory (as if they did a #include "asdf.h").
        

         Then all we need to do is to push a '[' into the output string. Later
         processing will fill this in, and close the bracket.  */

@@ -11056,7 +11056,7 @@
  return 1;
}
#endif	/* VMS */


#ifdef	VMS

/* The following wrapper functions supply additional arguments to the VMS
@@ -11098,7 +11098,7 @@
    return (*vmslib_fopen) (fname, type, "mbc=32");
}

static int 
static int
VMS_open (fname, flags, prot)
     char *fname;
     int flags;
@@ -11107,7 +11107,7 @@
#undef open	/* Get back the real open routine.  */
  return open (fname, flags, prot, "mbc=16", "deq=64", "fop=tef");
}


/* more VMS hackery */
#include <fab.h>
#include <nam.h>
diff --git a/legacy/gcc/gcc/collect2.c b/legacy/gcc/gcc/collect2.c
index 5ecf371..d6b5d2f 100644
--- a/legacy/gcc/gcc/collect2.c
+++ b/legacy/gcc/gcc/collect2.c
@@ -43,7 +43,7 @@
               lib$get_current_invo_context(decc$$get_vfork_jmpbuf()) : -1)
#endif /* VMS */

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

#include <OS.h>
/* the thread priority used for all gcc-tools */
static int priority = B_LOW_PRIORITY;
@@ -65,7 +65,7 @@
#endif

extern char *make_temp_file PROTO ((char *));


/* On certain systems, we have code that works by scanning the object file
   directly.  But this code uses system-specific header files and library
   functions, so turn it off in a cross-compiler.  Likewise, the names of
@@ -110,7 +110,7 @@

/* Some systems have an ISCOFF macro, but others do not.  In some cases
   the macro may be wrong.  MY_ISCOFF is defined in tm.h files for machines
   that either do not have an ISCOFF macro in /usr/include or for those 
   that either do not have an ISCOFF macro in /usr/include or for those
   where it is wrong.  */

#ifndef MY_ISCOFF
@@ -167,10 +167,10 @@
#else
int do_collecting = 0;
#endif


/* Linked lists of constructor and destructor names.  */

struct id 
struct id
{
  struct id *next;
  int sequence;
@@ -275,7 +275,7 @@
#endif

void error		PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1;
void fatal		PVPROTO((const char *, ...)) 
void fatal		PVPROTO((const char *, ...))
  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
void fatal_perror	PVPROTO((const char *, ...))
  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
@@ -314,7 +314,7 @@
static int use_import_list	PROTO((char *));
static int ignore_library	PROTO((char *));
#endif


#ifdef NO_DUP2
int
dup2 (oldfd, newfd)
@@ -324,7 +324,7 @@
  int fdtmp[256];
  int fdx = 0;
  int fd;
 

  if (oldfd == newfd)
    return oldfd;
  close (newfd);
@@ -379,7 +379,7 @@
    return NULL;
#endif /* HAVE_STRSIGNAL */
}


/* Delete tempfiles and exit function.  */

void
@@ -412,7 +412,7 @@
  exit (status);
}



/* Notify user of a non-error.  */
void
notice VPROTO((char *msgid, ...))
@@ -466,13 +466,13 @@
  const char *msgid;
#endif
  va_list ap;
  

  VA_START (ap, msgid);

#ifndef ANSI_PROTOTYPES
  msgid = va_arg (ap, const char *);
#endif
  

  fprintf (stderr, "collect2: ");
  vfprintf (stderr, _(msgid), ap);
  fprintf (stderr, "\n");
@@ -490,9 +490,9 @@
  const char * msgid;
#endif
  va_list ap;
 

  VA_START (ap, msgid);
  

#ifndef ANSI_PROTOTYPES
  msgid = va_arg (ap, const char *);
#endif
@@ -511,7 +511,7 @@
{
  fatal ("internal error");
}


static void
handler (signo)
     int signo;
@@ -537,7 +537,7 @@
  kill (getpid (), signo);
}



PTR
xcalloc (size1, size2)
  size_t size1, size2;
@@ -624,7 +624,7 @@
  *pp = p;
  return obstack_finish (&temporary_obstack);
}


void
dump_file (name)
     char *name;
@@ -682,7 +682,7 @@
    }
  fclose (stream);
}


/* Decide whether the given symbol is:
   a constructor (1), a destructor (2), or neither (0).  */

@@ -742,7 +742,7 @@
    }
  return 0;
}


/* Routine to add variables to the environment.  */

#ifndef HAVE_PUTENV
@@ -790,7 +790,7 @@
}

#endif	/* HAVE_PUTENV */


/* By default, colon separates directories in a path.  */
#ifndef PATH_SEPARATOR
#define PATH_SEPARATOR ':'
@@ -809,7 +809,7 @@
#endif

/* Search for NAME using prefix list PPREFIX.  We only look for executable
   files. 
   files.

   Return 0 if not found, otherwise return its name, allocated with malloc.  */

@@ -824,7 +824,7 @@

  if (debug)
    fprintf (stderr, "Looking for '%s'\n", name);
  

#ifdef EXECUTABLE_SUFFIX
  len += strlen (EXECUTABLE_SUFFIX);
#endif
@@ -845,7 +845,7 @@

	  if (debug)
	    fprintf (stderr, "  - found: absolute path\n");
	  

	  return temp;
	}

@@ -854,7 +854,7 @@
	   So try appending that.  */
      strcpy (temp, name);
	strcat (temp, EXECUTABLE_SUFFIX);
	

	if (access (temp, X_OK) == 0)
	  return temp;
#endif
@@ -867,7 +867,7 @@
      {
	strcpy (temp, pl->prefix);
	strcat (temp, name);
	

	if (access (temp, X_OK) == 0)
	  return temp;

@@ -875,7 +875,7 @@
	/* Some systems have a suffix for executable files.
	   So try appending that.  */
	strcat (temp, EXECUTABLE_SUFFIX);
	

	if (access (temp, X_OK) == 0)
	  return temp;
#endif
@@ -922,7 +922,7 @@
    pl->next = (struct prefix_list *) 0;
  *prev = pl;
}


/* Take the value of the environment variable ENV, break it into a path, and
   add of the entries to PPREFIX.  */

@@ -948,7 +948,7 @@

  if (debug)
    fprintf (stderr, "Convert string '%s' into prefixes, separator = '%c'\n", p, PATH_SEPARATOR);
  

  startp = endp = p;
  while (1)
    {
@@ -969,7 +969,7 @@

	  if (debug)
	    fprintf (stderr, "  - add prefix: %s\n", nstore);
	  

	  add_prefix (pprefix, nstore);
	  if (*endp == 0)
	    break;
@@ -979,7 +979,7 @@
	endp++;
    }
}


/* Main program.  */

int
@@ -1049,13 +1049,13 @@
     are called.  */
  {
    int i;
    

    for (i = 1; argv[i] != NULL; i ++)
      if (! strcmp (argv[i], "-debug"))
	debug = 1;
    vflag = debug;

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

    for (i = 1; argv[i] != NULL; i ++)
      if (! strncmp (argv[i], "-priority=",10))
	  priority = atol (argv[i] + 10);
@@ -1159,7 +1159,7 @@
  strcpy (full_strip_suffix, target_machine);
  strcat (full_strip_suffix, "-");
  strcat (full_strip_suffix, strip_suffix);
  

  full_gstrip_suffix
    = xcalloc (strlen (gstrip_suffix) + strlen (target_machine) + 2, 1);
  strcpy (full_gstrip_suffix, target_machine);
@@ -1273,7 +1273,7 @@
  add_prefix (&libpath_lib_dirs, "/usr/lib");
#endif

  /* Get any options that the upper GCC wants to pass to the sub-GCC.  
  /* Get any options that the upper GCC wants to pass to the sub-GCC.

     AIX support needs to know if -shared has been specified before
     parsing commandline arguments.  */
@@ -1417,7 +1417,7 @@
#ifdef COLLECT_EXPORT_LIST
	  /* libraries can be specified directly, i.e. without -l flag.  */
       	  else
       	    { 
       	    {
	      /* If we will use an import list for this library,
		 we should exclude it from ld args.  */
	      if (use_import_list (arg))
@@ -1678,7 +1678,7 @@
  /* Let scan_prog_file do any final mods (OSF/rose needs this for
     constructors/destructors in shared libraries.  */
  scan_prog_file (output_file, PASS_SECOND);
#endif 
#endif

  maybe_unlink (c_file);
  maybe_unlink (o_file);
@@ -1691,7 +1691,7 @@
  return 0;
}



/* Wait for a process to finish, and exit if a non-zero status is found.  */

int
@@ -1733,7 +1733,7 @@
    }
}



/* Execute a program, and wait for the reply.  */

void
@@ -1818,7 +1818,7 @@
  collect_execute (prog, argv, NULL);
  do_wait (prog);
}


/* Unlink a file unless we are debugging.  */

static void
@@ -1831,7 +1831,7 @@
    notice ("[Leaving %s]\n", file);
}



static long sequence_number = 0;

/* Add a name to a linked list.  */
@@ -2153,7 +2153,7 @@
  int frames = (frame_tables.number > 0);

  fprintf (stream, "typedef void entry_pt();\n\n");
    

  write_list_with_asm (stream, "extern entry_pt ", constructors.first);

  if (frames)
@@ -2243,7 +2243,7 @@
    fprintf (stream, "%s\n", list->name);
}
#endif


#ifdef OBJECT_FORMAT_NONE

/* Generic version to scan the name list of the loaded program for
@@ -2353,7 +2353,7 @@

      if (ch != '_')
	continue;
  

      name = p;
      /* Find the end of the symbol name.
	 Do not include `|', because Encore nm can tack that on the end.  */
@@ -2542,7 +2542,7 @@
      char *ld_rules;
      char *ldr = 0;
      /* counting elements in array, need 1 extra for null */
      cnt = 1;  
      cnt = 1;
      ld_rules = (char *) (ld_2->ld_rules + code);
      if (ld_rules)
	{
@@ -2570,7 +2570,7 @@
      if (ldr)
	{
	  *pp++ = ldr;
	  for (; *ldr != 0; ldr++) 
	  for (; *ldr != 0; ldr++)
	    if (*ldr == ':')
	      {
		*ldr++ = 0;
@@ -2580,7 +2580,7 @@
      if (q)
	{
	  *pp++ = q;
	  for (; *q != 0; q++) 
	  for (; *q != 0; q++)
	    if (*q == ':')
	      {
		*q++ = 0;
@@ -2619,7 +2619,7 @@
/* Scan the _DYNAMIC structure of the output file to find shared libraries
   that it depends upon and any constructors or destructors they contain.  */

static void 
static void
scan_libraries (prog_name)
     char *prog_name;
{
@@ -2694,7 +2694,7 @@
   the output file depends upon and their initialization/finalization
   routines, if any.  */

static void 
static void
scan_libraries (prog_name)
     char *prog_name;
{
@@ -2791,7 +2791,7 @@
	fatal ("dynamic dependency %s not found", buf);

      /* Find the end of the symbol name.  */
      for (end = p; 
      for (end = p;
	   (ch2 = *end) != '\0' && ch2 != '\n' && !ISSPACE (ch2) && ch2 != '|';
	   end++)
	continue;
@@ -2829,7 +2829,7 @@

#endif /* OBJECT_FORMAT_NONE */



/*
 * COFF specific stuff.
 */
@@ -2989,7 +2989,7 @@
			  /* If we are building a shared object on AIX we need
			     to explicitly export all global symbols or add
			     them to import list.  */
			  if (shared_obj) 
			  if (shared_obj)
			    {
			      if (which_pass == PASS_OBJ && (! export_flag))
				add_to_list (&exports, name);
@@ -3147,7 +3147,7 @@

#endif /* OBJECT_FORMAT_COFF */



/*
 * OSF/rose specific stuff.
 */
@@ -3202,7 +3202,7 @@
static void bad_header		PROTO((int));
static struct file_info	*read_file  PROTO((char *, int, int));
static void end_file		PROTO((struct file_info *));


/* OSF/rose specific version to scan the name list of the loaded
   program for the symbols g++ uses for static constructors and
   destructors.
@@ -3482,7 +3482,7 @@
    fprintf (stderr, "\n");
}



/* Add a function table to the load commands to call a function
   on initiation or termination of the process.  */

@@ -3562,7 +3562,7 @@

}



/* Print the global header for an OSF/rose object.  */

static void
@@ -3604,8 +3604,8 @@
  fprintf (stderr, "\n\n");
  return;
}



/* Print a short summary of a load command.  */

static void
@@ -3672,7 +3672,7 @@
  return;
}



/* Fatal error when {en,de}code_mach_o_header fails.  */

static void
@@ -3692,7 +3692,7 @@
    }
}



/* Read a file into a memory buffer.  */

static struct file_info *
@@ -3757,7 +3757,7 @@

  return p;
}


/* Do anything necessary to write a file back from memory.  */

static void
diff --git a/legacy/gcc/gcc/cppinit.c b/legacy/gcc/gcc/cppinit.c
index 589e90d..60d9d1c 100644
--- a/legacy/gcc/gcc/cppinit.c
+++ b/legacy/gcc/gcc/cppinit.c
@@ -102,7 +102,7 @@
#endif


#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

#include <OS.h>
/* the thread priority used for all gcc-tools */
static int priority = B_LOW_PRIORITY;
@@ -112,7 +112,7 @@
   It may be overridden by the various -I and -ixxx options.

   #include "file" looks in the same directory as the current file,
   then this list. 
   then this list.
   #include <file> just looks in this list.

   All these directories are treated as `system' include directories
@@ -449,8 +449,8 @@
  if ((p = rindex (s, '/'))) s = p + 1;
  return s;
}
     


/* Append DIR to include path PATH.  DIR must be permanently allocated
   and writable. */
static void
@@ -484,7 +484,7 @@
  len = strlen (dir);
  if (len > pfile->max_include_len)
    pfile->max_include_len = len;
  

  new = (struct file_name_list *)xmalloc (sizeof (struct file_name_list));
  new->name = dir;
  new->nlen = len;
@@ -678,7 +678,7 @@
{
  cpp_options *opts = CPP_OPTIONS (pfile);
  char *spec, *s, *output_file;
  

  /* Either of two environment variables can specify output of deps.
     Its value is either "OUTPUT_FILE" or "OUTPUT_FILE DEPS_TARGET",
     where OUTPUT_FILE is the file to write deps info to
@@ -802,7 +802,7 @@
  /* Set this if it hasn't been set already. */
  if (user_label_prefix == NULL)
    user_label_prefix = USER_LABEL_PREFIX;
  

  /* Now that we know dollars_in_ident, we can initialize the syntax
     tables. */
  initialize_char_syntax (opts->dollars_in_ident);
@@ -855,7 +855,7 @@
      free (p);
      p = q;
    }
  

  opts->done_initializing = 1;

  /* Several environment variables may add to the include search path.
@@ -1002,7 +1002,7 @@
  /* The -imacros files can be scanned now, but the -include files
     have to be pushed onto the include stack and processed later,
     in the main loop calling cpp_get_token.  */
  

  pfile->no_record_file++;
  opts->no_output++;
  p = opts->pending->imacros_head;
@@ -1087,7 +1087,7 @@
    cpp_fatal (pfile,
	       "cpplib internal error: buffers still stacked in cpp_finish");
  cpp_pop_buffer (pfile);
  

  if (opts->print_deps)
    {
      /* Stream on which to print the dependency information.  */
@@ -1266,7 +1266,7 @@
		memcpy (fname, GCC_INCLUDE_DIR, sizeof GCC_INCLUDE_DIR - 9);
		memcpy (fname + sizeof GCC_INCLUDE_DIR - 9, argv[i], len + 1);
	      }
	  

	    append_include_chain (pfile, opts->pending, fname, SYSTEM);
	  }
	/* Add directory to main path for includes,
@@ -1292,7 +1292,7 @@
		memcpy (fname, GCC_INCLUDE_DIR, sizeof GCC_INCLUDE_DIR - 9);
		memcpy (fname + sizeof GCC_INCLUDE_DIR - 9, argv[i], len + 1);
	      }
	  

	    append_include_chain (pfile, opts->pending, fname, BRACKET);
	  }
	/* Add directory to end of path for includes.  */
@@ -1317,7 +1317,7 @@
	  opts->output_conditionals = 1;

	break;
      

      case 'o':
	if (opts->out_fname != NULL)
	  {
@@ -1330,7 +1330,7 @@
	if (!strcmp (opts->out_fname, "-"))
	  opts->out_fname = "";
	break;
      

      case 'p':
	if (!strcmp (argv[i], "-pedantic"))
	  CPP_PEDANTIC (pfile) = 1;
@@ -1350,12 +1350,12 @@
	  no_precomp = 1;
	}
#endif
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

        else if (!strncmp (argv[i], "-priority=", 10))
	  priority = atol (argv[i] + 10);
#endif
	break;
      

      case 't':
	if (!strcmp (argv[i], "-traditional"))
	  {
@@ -1365,7 +1365,7 @@
	else if (!strcmp (argv[i], "-trigraphs"))
	  opts->trigraphs = 1;
	break;
      

      case 'l':
	if (! strcmp (argv[i], "-lang-c"))
	  opts->cplusplus = 0, opts->cplusplus_comments = 1, opts->c89 = 0,
@@ -1390,7 +1390,7 @@
	  opts->objc = 0, opts->cplusplus = 0, opts->chill = 1,
	    opts->traditional = 1;
	break;
      

      case '+':
	opts->cplusplus = 1, opts->cplusplus_comments = 1;
	break;
@@ -1412,7 +1412,7 @@
      case 'w':
	opts->inhibit_warnings = 1;
	break;
      

      case 'W':
	if (!strcmp (argv[i], "-Wtrigraphs"))
	  opts->warn_trigraphs = 1;
@@ -1448,7 +1448,7 @@
	    opts->warn_comments = 1;
	  }
	break;
      

      case 'M':
	/* The style of the choices here is a bit mixed.
	   The chosen scheme is a hybrid of keeping all options in one string
@@ -1460,7 +1460,7 @@
	/* ??? -MG must be specified in addition to one of -M or -MM.
	   This can be relaxed in the future without breaking anything.
	   The converse isn't true.  */
      

	/* -MG isn't valid with -MD or -MMD.  This is checked for later.  */
	if (!strcmp (argv[i], "-MG"))
	  {
@@ -1487,9 +1487,9 @@
	    /* For -M and -MM, write deps on standard output
	       and suppress the usual output.  */
	    opts->no_output = 1;
	  }	  
	  }
	break;
      

      case 'd':
	{
	  char *p = argv[i] + 2;
@@ -1516,12 +1516,12 @@
	    }
	}
	break;
    

      case 'g':
	if (argv[i][2] == '3')
	  opts->debug_output = 1;
	break;
      

      case '-':
	if (!strcmp (argv[i], "--help"))
	  print_help ();
@@ -1529,7 +1529,7 @@
	  cpp_notice ("GNU CPP version %s\n", version_string);
	exit (0);  /* XXX */
	break;
	

      case 'v':
	cpp_notice ("GNU CPP version %s", version_string);
#ifdef TARGET_VERSION
@@ -1538,11 +1538,11 @@
	fputc ('\n', stderr);
	opts->verbose = 1;
	break;
      

      case 'H':
	opts->print_include_names = 1;
	break;
      

      case 'D':
	{
	  struct pending_option *o = (struct pending_option *)
@@ -1562,11 +1562,11 @@
	  APPEND (opts->pending, define, o);
	}
	break;
      

      case 'A':
	{
	  char *p;
	

	  if (argv[i][2] != 0)
	    p = argv[i] + 2;
	  else if (i + 1 == argc)
@@ -1576,7 +1576,7 @@
	    }
	  else
	    p = argv[++i];
	

	  if (strcmp (p, "-"))
	    {
	      struct pending_option *o = (struct pending_option *)
@@ -1616,12 +1616,12 @@
	    }
	}
	break;
    

      case 'U':
	{
	  struct pending_option *o = (struct pending_option *)
	    xmalloc (sizeof (struct pending_option));
	  

	  if (argv[i][2] != 0)
	    o->arg = argv[i] + 2;
	  else if (i + 1 == argc)
@@ -1637,22 +1637,22 @@
	  APPEND (opts->pending, define, o);
	}
	break;
      

      case 'C':
	opts->put_out_comments = 1;
	break;
      

      case 'E':			/* -E comes from cc -E; ignore it.  */
	break;
      

      case 'P':
	opts->no_line_commands = 1;
	break;
      

      case '$':			/* Don't include $ in identifiers.  */
	opts->dollars_in_ident = 0;
	break;
      

      case 'n':
	if (!strcmp (argv[i], "-nostdinc"))
	  /* -nostdinc causes no default include directories.
@@ -1666,12 +1666,12 @@
	  no_precomp = 1;
#endif
	break;
      

      case 'r':
	if (!strcmp (argv[i], "-remap"))
	  opts->remap = 1;
	break;
      

      case '\0': /* JF handle '-' as file name meaning stdin or stdout */
	if (opts->in_fname == NULL)
	  opts->in_fname = "";
@@ -1685,14 +1685,14 @@
	return i;
      }

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  set_thread_priority (find_thread(NULL), priority);
  {
    char priobuf[20];
    sprintf (priobuf, "-priority=%d", priority);
    if (opts->verbose)    
    if (opts->verbose)
      cpp_notice ("using priority %d\n", priority);
  }  
  }
#endif

  return i + 1;
diff --git a/legacy/gcc/gcc/gcc.c b/legacy/gcc/gcc/gcc.c
index 9b540a3..08f1a73 100644
--- a/legacy/gcc/gcc/gcc.c
+++ b/legacy/gcc/gcc/gcc.c
@@ -31,7 +31,7 @@
CC recognizes how to compile each input file by suffixes in the file names.
Once it knows which kind of compilation to perform, the procedure for
compilation is specified by a string called a "spec".  */


#include "config.h"
#include "system.h"
#include <signal.h>
@@ -93,7 +93,7 @@
#define kill(p,s) raise(s)
#endif

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

#include <OS.h>
/* the thread priority used for all gcc-tools */
static int priority = B_LOW_PRIORITY;
@@ -241,7 +241,7 @@

/* Number of extra output files that lang_specific_pre_link may generate. */
extern int lang_specific_extra_outfiles;


/* Specs are strings containing lines, each of which (if not blank)
is made up of a program name, and arguments separated by spaces.
The program name must be exact and start from root, since no path
@@ -395,7 +395,7 @@
CC also knows implicitly that arguments starting in `-l' are to be
treated as compiler output files, and passed to the linker in their
proper position among the other output files.  */


/* Define the macros used for specs %a, %l, %L, %S, %c, %C, %1.  */

/* config.h can define ASM_SPEC to provide extra args to the assembler
@@ -547,8 +547,8 @@
#ifndef WORD_SWITCH_TAKES_ARG
#define WORD_SWITCH_TAKES_ARG(STR) DEFAULT_WORD_SWITCH_TAKES_ARG (STR)
#endif



#ifdef HAVE_EXECUTABLE_SUFFIX
/* This defines which switches stop a full compilation.  */
#define DEFAULT_SWITCH_CURTAILS_COMPILATION(CHAR) \
@@ -757,7 +757,7 @@
#ifdef LINK_COMMAND_SPEC
/* Provide option to override link_command_spec from machine specific
   configuration files.  */
static const char *link_command_spec = 
static const char *link_command_spec =
	LINK_COMMAND_SPEC;
#else
#ifdef LINK_LIBGCC_SPECIAL
@@ -804,7 +804,7 @@
   and substituted into the preprocessor command with %Z.  */
static int n_preprocessor_options;
static char **preprocessor_options;


/* Define how to map long options into short ones.  */

/* This structure describes one mapping.  */
@@ -907,7 +907,7 @@
   {"--write-user-dependencies", "-MMD", 0},
   {"--", "-f", "*j"}
 };


/* Translate the options described by *ARGCP and *ARGVP.
   Make a new vector and store it back in *ARGVP,
   and store its length in *ARGVC.  */
@@ -1071,7 +1071,7 @@
  *argvp = newv;
  *argcp = newindex;
}


char *
xstrerror(e)
     int e;
@@ -1091,7 +1091,7 @@
  return "errno = ?";
#endif
}


static char *
skip_whitespace (p)
     char *p;
@@ -1115,7 +1115,7 @@

  return p;
}


/* Structure to keep track of the specs that have been defined so far.
   These are accessed using %(specname) or %[specname] in a compiler
   or link spec.  */
@@ -1179,7 +1179,7 @@

static struct spec_list *specs = (struct spec_list *)0;



/* Initialize the specs lookup routines.  */

static void
@@ -1201,7 +1201,7 @@
	     (sizeof(extra_specs_1)/sizeof(extra_specs_1[0])));
  bzero ((PTR) extra_specs, sizeof(struct spec_list) *
	 (sizeof(extra_specs_1)/sizeof(extra_specs_1[0])));
  

  for (i = (sizeof(extra_specs_1) / sizeof(extra_specs_1[0])) - 1; i >= 0; i--)
    {
      sl = &extra_specs[i];
@@ -1224,7 +1224,7 @@
  specs = sl;
}



/* Change the value of spec NAME to SPEC.  If SPEC is empty, then the spec is
   removed; If the spec starts with a + then SPEC is added to the end of the
   current spec.  */
@@ -1287,7 +1287,7 @@

  sl->alloc_p = 1;
}


/* Accumulate a command (program name and args), and run it.  */

/* Vector of pointers to arguments in the current line of specifications.  */
@@ -1334,7 +1334,7 @@
/* Name with which this program was invoked.  */

static const char *programname;


/* Structures to keep track of prefixes to try when looking for files.  */

struct prefix_list
@@ -1392,7 +1392,7 @@
#endif /* !defined STANDARD_EXEC_PREFIX */

static const char *standard_exec_prefix = STANDARD_EXEC_PREFIX;
#ifndef __BEOS__
#if !defined(__BEOS__) && !defined(__HAIKU__)

static const char *standard_exec_prefix_1 = "/usr/lib/gcc/";
#endif
#ifdef MD_EXEC_PREFIX
@@ -1410,7 +1410,7 @@
static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
#endif
static const char *standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
#ifndef __BEOS__
#if !defined(__BEOS__) && !defined(__HAIKU__)

static const char *standard_startfile_prefix_1 = "/lib/";
static const char *standard_startfile_prefix_2 = "/usr/lib/";
#endif
@@ -1456,7 +1456,7 @@
  if (delete_always || delete_failure)
    record_temp_file (arg, delete_always, delete_failure);
}


/* Read compilation specs from a file named FILENAME,
   replacing the default ones.

@@ -1714,7 +1714,7 @@
  if (link_command_spec == 0)
    fatal ("spec file has no spec for linking");
}


/* Record the names of temporary files we tell compilers to write,
   and delete them at the end of the run.  */

@@ -1846,7 +1846,7 @@
{
  failure_delete_queue = 0;
}


/* Routine to add variables to the environment.  We do this to pass
   the pathname of the gcc driver, and the directories search to the
   collect2 program, which is being run as ld.  This way, we can be
@@ -1901,7 +1901,7 @@

#endif	/* HAVE_PUTENV */



/* Build a list of search directories from PATHS.
   PREFIX is a string to prepend to the list.
   If CHECK_DIR_P is non-zero we ensure the directory exists.
@@ -1932,7 +1932,7 @@
	{
	  if (!first_time)
	    obstack_1grow (&collect_obstack, PATH_SEPARATOR);
	    

	  first_time = FALSE;
	  obstack_grow (&collect_obstack, pprefix->prefix, len);
	  obstack_grow (&collect_obstack, machine_suffix, suffix_len);
@@ -1945,7 +1945,7 @@
	{
	  if (! first_time)
	    obstack_1grow (&collect_obstack, PATH_SEPARATOR);
	    

	  first_time = FALSE;
	  obstack_grow (&collect_obstack, pprefix->prefix, len);
	  obstack_grow (&collect_obstack, just_machine_suffix,
@@ -1976,7 +1976,7 @@
{
  putenv (build_search_list (paths, env_var, 1));
}


/* Search for NAME using the prefix list PREFIXES.  MODE is passed to
   access to check permissions.
   Return 0 if not found, otherwise return its name, allocated with malloc.  */
@@ -2211,7 +2211,7 @@
    }
}



/* Execute the command specified by the arguments on the current line of spec.
   When using pipes, this includes several piped-together commands
   with `|' between them.
@@ -2277,7 +2277,7 @@
      /* For help listings, put a blank line between sub-processes.  */
      if (print_help_list)
	fputc ('\n', stderr);
      

      /* Print each piped command as a separate line.  */
      for (i = 0; i < n_commands ; i++)
	{
@@ -2372,7 +2372,7 @@
    return ret_code;
  }
}


/* Find all the switches given to us
   and make a vector describing them.
   The elements of the vector are strings, one per switch given.
@@ -2425,8 +2425,8 @@

/* Gives value to pass as "warn" to add_prefix for standard prefixes.  */
static int *warn_std_ptr = 0;



#if defined(HAVE_OBJECT_SUFFIX) || defined(HAVE_EXECUTABLE_SUFFIX)


/* Convert NAME to a new name if it is the standard suffix.  DO_EXE
@@ -2442,7 +2442,7 @@

  if (name == NULL)
    return NULL;
  

  len = strlen (name);

#ifdef HAVE_OBJECT_SUFFIX
@@ -2479,7 +2479,7 @@
  return name;
}
#endif


/* Display the command line switches accepted by gcc.  */
static void
display_help ()
@@ -2534,13 +2534,13 @@
     sub-processes.  */
}

static void 								
add_preprocessor_option (option, len)					
static void
add_preprocessor_option (option, len)
     const char * option;
     int len;
{									
{
  n_preprocessor_options++;
									

  if (! preprocessor_options)
    preprocessor_options
      = (char **) xmalloc (n_preprocessor_options * sizeof (char *));
@@ -2548,13 +2548,13 @@
    preprocessor_options
      = (char **) xrealloc (preprocessor_options,
			    n_preprocessor_options * sizeof (char *));
  									

  preprocessor_options [n_preprocessor_options - 1] =
    save_string (option, len);
}
     
static void 								
add_assembler_option (option, len)					

static void
add_assembler_option (option, len)
     const char * option;
     int len;
{
@@ -2570,9 +2570,9 @@

  assembler_options [n_assembler_options - 1] = save_string (option, len);
}
     
static void 								
add_linker_option (option, len)					

static void
add_linker_option (option, len)
     const char * option;
     int    len;
{
@@ -2588,7 +2588,7 @@

  linker_options [n_linker_options - 1] = save_string (option, len);
}


/* Create the vector `switches' and its contents.
   Store its length in `n_switches'.  */

@@ -2788,12 +2788,12 @@
	  /* We will be passing a dummy file on to the sub-processes.  */
	  n_infiles++;
	  n_switches++;
	  

	  add_preprocessor_option ("--help", 6);
	  add_assembler_option ("--help", 6);
	  add_linker_option ("--help", 6);
	}
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

      else if (!strncmp (argv[i], "-priority=", 10))
	{
	  priority = atol (argv[i] + 10);
@@ -2834,7 +2834,7 @@
		add_assembler_option (argv[i] + prev, j - prev);
		prev = j + 1;
	      }
	  

	  /* Record the part after the last comma.  */
	  add_assembler_option (argv[i] + prev, j - prev);
	}
@@ -2851,7 +2851,7 @@
		add_preprocessor_option (argv[i] + prev, j - prev);
		prev = j + 1;
	      }
	  

	  /* Record the part after the last comma.  */
	  add_preprocessor_option (argv[i] + prev, j - prev);
	}
@@ -3040,7 +3040,7 @@
	      if (! have_c)
		{
		  int skip;
		  

		  /* Forward scan, just in case -S or -c is specified
		     after -o.  */
		  int j = i + 1;
@@ -3093,14 +3093,14 @@
  if (have_c && have_o && lang_n_infiles > 1)
    fatal ("cannot specify -o with -c or -S and multiple compilations");

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  set_thread_priority (find_thread(NULL), priority);
  {
    char priobuf[20];
    sprintf (priobuf, "-priority=%d", priority);
    if (verbose_flag)
      notice ("using priority %d\n", priority);
  }  
  }
#endif

  /* Set up the search paths before we go looking for config files.  */
@@ -3112,7 +3112,7 @@
#ifndef OS2
  add_prefix (&exec_prefixes, standard_exec_prefix, "BINUTILS",
	      0, 2, warn_std_ptr);
#ifndef __BEOS__
#if !defined(__BEOS__) && !defined(__HAIKU__)

  add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS",
	      0, 2, warn_std_ptr);
#endif
@@ -3120,12 +3120,12 @@

  add_prefix (&startfile_prefixes, standard_exec_prefix, "BINUTILS",
	      0, 1, warn_std_ptr);
#ifndef __BEOS__
#if !defined(__BEOS__) && !defined(__HAIKU__)

  add_prefix (&startfile_prefixes, standard_exec_prefix_1, "BINUTILS",
	      0, 1, warn_std_ptr);
#endif

  tooldir_prefix = concat (tooldir_base_prefix, spec_machine, 
  tooldir_prefix = concat (tooldir_base_prefix, spec_machine,
			   dir_separator_str, NULL_PTR);

  /* If tooldir is relative, base it on exec_prefixes.  A relative
@@ -3144,21 +3144,21 @@
		      spec_version, dir_separator_str, tooldir_prefix, NULL_PTR);

	  add_prefix (&exec_prefixes,
		      concat (gcc_exec_tooldir_prefix, "bin", 
		      concat (gcc_exec_tooldir_prefix, "bin",
			      dir_separator_str, NULL_PTR),
		      NULL_PTR, 0, 0, NULL_PTR);
	  add_prefix (&startfile_prefixes,
		      concat (gcc_exec_tooldir_prefix, "lib", 
		      concat (gcc_exec_tooldir_prefix, "lib",
			      dir_separator_str, NULL_PTR),
		      NULL_PTR, 0, 0, NULL_PTR);
	}

      tooldir_prefix = concat (standard_exec_prefix, spec_machine,
			       dir_separator_str, spec_version, 
			       dir_separator_str, spec_version,
			       dir_separator_str, tooldir_prefix, NULL_PTR);
    }

  add_prefix (&exec_prefixes, 
  add_prefix (&exec_prefixes,
              concat (tooldir_prefix, "bin", dir_separator_str, NULL_PTR),
	      "BINUTILS", 0, 0, NULL_PTR);
  add_prefix (&startfile_prefixes,
@@ -3231,14 +3231,14 @@
		 the various sub-processes.  */
	      infiles[n_infiles].language = "c";
	      infiles[n_infiles++].name   = "help-dummy";
	      

	      /* Preserve the --help switch so that it can be caught by the
		 cc1 spec string.  */
	      switches[n_switches].part1     = "--help";
	      switches[n_switches].args      = 0;
	      switches[n_switches].live_cond = 0;
	      switches[n_switches].validated     = 0;
	      

	      n_switches++;
	    }
	}
@@ -3340,7 +3340,7 @@
	      char *part1 = (char *) xmalloc (2);
	      part1[0] = c;
	      part1[1] = '\0';
	      

	      switches[n_switches].part1 = part1;
	      switches[n_switches].args = (char **) xmalloc (2 * sizeof (char *));
	      switches[n_switches].args[0] = xmalloc (strlen (p));
@@ -3388,7 +3388,7 @@
  switches[n_switches].part1 = 0;
  infiles[n_infiles].name = 0;
}


/* Process a spec string, accumulating and running commands.  */

/* These variables describe the input file name.
@@ -4356,7 +4356,7 @@

	  while (*q++ != ':') continue;
	  body = q;
	  

	  while (count > 0)
	    {
	      if (*q == '{')
@@ -4504,7 +4504,7 @@

  return endbody;
}


/* Return 0 iff switch number SWITCHNUM is obsoleted by a later switch
   on the command line.  PREFIX_LENGTH is the length of XXX in an {XXX*}
   spec, or -1 if either exact match or %* is used.
@@ -4580,7 +4580,7 @@
  switches[switchnum].live_cond = 1;
  return 1;
}


/* Pass a switch to the current accumulating command
   in the same form that we received it.
   SWITCHNUM identifies the switch; it is an index into
@@ -4618,7 +4618,7 @@
  do_spec_1 (" ", 0, NULL_PTR);
  switches[switchnum].validated = 1;
}


/* Search for a file named NAME trying various prefixes including the
   user's -B prefix and some standard ones.
   Return the absolute file name found.  If nothing is found, return NAME.  */
@@ -4687,17 +4687,17 @@
  /* Exclude directories that the linker is known to search.  */
  if (linker
      && ((cp - path == 6
	   && strcmp (path, concat (dir_separator_str, "lib", 
	   && strcmp (path, concat (dir_separator_str, "lib",
				    dir_separator_str, ".", NULL_PTR)) == 0)
	  || (cp - path == 10
	      && strcmp (path, concat (dir_separator_str, "usr", 
				       dir_separator_str, "lib", 
	      && strcmp (path, concat (dir_separator_str, "usr",
				       dir_separator_str, "lib",
				       dir_separator_str, ".", NULL_PTR)) == 0)))
    return 0;

  return (stat (path, &st) >= 0 && S_ISDIR (st.st_mode));
}


/* On fatal signals, delete all the temporary files.  */

static void
@@ -4896,7 +4896,7 @@
  strcat (specs_file, "specs");
  if (access (specs_file, R_OK) == 0)
    read_specs (specs_file, TRUE);
 

  /* If not cross-compiling, look for startfiles in the standard places.  */
  if (*cross_compile == '0')
    {
@@ -4941,9 +4941,9 @@
			      machine_suffix,
			      standard_startfile_prefix, NULL_PTR),
		      NULL_PTR, 0, 0, NULL_PTR);
	}		       
	}

#ifndef __BEOS__
#if !defined(__BEOS__) && !defined(__HAIKU__)

      add_prefix (&startfile_prefixes, standard_startfile_prefix_1,
		  "BINUTILS", 0, 0, NULL_PTR);
      add_prefix (&startfile_prefixes, standard_startfile_prefix_2,
@@ -5045,7 +5045,7 @@
	{
	  printf ("\nFor bug reporting instructions, please see:\n");
	  printf ("%s.\n", GCCBUGURL);
	  

	  exit (0);
	}

@@ -5053,7 +5053,7 @@
	 called 'help-dummy' which needs to be compiled, and we pass this
	 on the the various sub-processes, along with the --help switch.  */
    }
  

  if (verbose_flag)
    {
      int n;
@@ -5152,7 +5152,7 @@

	  {
	    char *p1 = (char *) xmalloc (len + 1);
	    

	    len = 0;
	    for (j = 0; j < sizeof cp->spec / sizeof cp->spec[0]; j++)
	      if (cp->spec[j])
@@ -5160,7 +5160,7 @@
		  strcpy (p1 + len, cp->spec[j]);
		  len += strlen (cp->spec[j]);
		}
	    

	    value = do_spec (p1);
	    free (p1);
	  }
@@ -5244,7 +5244,7 @@
      printf ("\nFor bug reporting instructions, please see:\n");
      printf ("%s\n", GCCBUGURL);
    }
  

  exit (error_count > 0 ? (signal_count ? 2 : 1) : 0);
  /* NOTREACHED */
  return 0;
@@ -5319,7 +5319,7 @@

  return 0;
}


PTR
xmalloc (size)
  size_t size;
@@ -5401,7 +5401,7 @@
{
  fatal ("Internal gcc abort.");
}


/* Output an error message and exit */

void
@@ -5464,8 +5464,8 @@
  vfprintf (stderr, _(msgid), ap);
  va_end (ap);
}



static void
validate_all_switches ()
{
@@ -5549,7 +5549,7 @@
	}
    }
}


/* Check whether a particular argument was used.  The first time we
   canonicalize the switches to keep only the ones we care about.  */

@@ -5767,7 +5767,7 @@
	}

      ++p;
    }      
    }
}

/* Print out the multiple library subdirectory selection
diff --git a/legacy/gcc/gcc/gthr.h b/legacy/gcc/gcc/gthr.h
index f0f80c6..c72655e 100644
--- a/legacy/gcc/gcc/gthr.h
+++ b/legacy/gcc/gcc/gthr.h
@@ -32,7 +32,7 @@
/* If this file is compiled with threads support, it must
       #define __GTHREADS 1
   to indicate that threads support is present.  Also it has define
   function 
   function
     int __gthread_active_p ()
   that returns 1 if thread system is active, 0 if not.

@@ -87,7 +87,7 @@
#include "gthr-dce.h"
#elif _SOLARIS_THREADS
#include "gthr-solaris.h"
#elif __BEOS__
#elif defined(__BEOS__) || defined(__HAIKU__)
#include "gthr-beos.h"

/* Include GTHREAD_FILE if one is defined. */
diff --git a/legacy/gcc/gcc/libgcc2.c b/legacy/gcc/gcc/libgcc2.c
index 37e1c1b..b04337c 100644
--- a/legacy/gcc/gcc/libgcc2.c
+++ b/legacy/gcc/gcc/libgcc2.c
@@ -43,7 +43,7 @@
#endif

#include "machmode.h"
#include "defaults.h" 
#include "defaults.h"
#ifndef L_trampoline
#include <stddef.h>
#endif
@@ -154,7 +154,7 @@
#if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128

extern DItype __fixunstfdi (TFtype a);
#endif


#if defined (L_negdi2) || defined (L_divdi3) || defined (L_moddi3)

#if defined (L_divdi3) || defined (L_moddi3)

static inline
@@ -173,7 +173,7 @@
  return w.ll;
}
#endif


/* Unless shift functions are defined whith full ANSI prototypes,
   parameter b will be promoted to int if word_type is smaller than an int.  */
#ifdef L_lshrdi3
@@ -266,7 +266,7 @@
  return w.ll;
}
#endif


#ifdef L_ffsdi2
DItype
__ffsdi2 (DItype u)
@@ -286,7 +286,7 @@
  return w.ll;
}
#endif


#ifdef L_muldi3
DItype
__muldi3 (DItype u, DItype v)
@@ -304,7 +304,7 @@
  return w.ll;
}
#endif


#ifdef L_udiv_w_sdiv
#if defined (sdiv_qrnnd)

USItype
@@ -415,7 +415,7 @@
}
#endif
#endif


#if (defined (L_udivdi3) || defined (L_divdi3) || \
     defined (L_umoddi3) || defined (L_moddi3))
#define L_udivmoddi4
@@ -731,7 +731,7 @@
  return __udivmoddi4 (n, d, (UDItype *) 0);
}
#endif


#ifdef L_cmpdi2
word_type
__cmpdi2 (DItype a, DItype b)
@@ -771,7 +771,7 @@
  return 1;
}
#endif


#if defined(L_fixunstfdi) && (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128)

#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
@@ -1009,7 +1009,7 @@

/* Define codes for all the float formats that we know of.  Note
   that this is copied from real.h.  */
   

#define UNKNOWN_FLOAT_FORMAT 0
#define IEEE_FLOAT_FORMAT 1
#define VAX_FLOAT_FORMAT 2
@@ -1134,7 +1134,7 @@
  return (SItype) a;
}
#endif


/* From here on down, the routines use normal data types.  */

#define SItype bogus_type
@@ -1151,7 +1151,7 @@
#undef unsigned
#undef float
#undef double


#ifdef L__gcc_bcmp

/* Like bcmp except the sign is meaningful.
@@ -1172,7 +1172,7 @@
}

#endif


#ifdef L__dummy
void
__dummy () {}
@@ -1208,10 +1208,10 @@
	*/

	asm ("	fst.q	%f8,  0(%sp)"); /* save floating regs (f8-f15)  */
	asm ("	fst.q	%f12,16(%sp)"); 
	asm ("	fst.q	%f12,16(%sp)");

	asm ("	st.l	%r16,32(%sp)"); /* save integer regs (r16-r27) */
	asm ("	st.l	%r17,36(%sp)"); 
	asm ("	st.l	%r17,36(%sp)");
	asm ("	st.l	%r18,40(%sp)");
	asm ("	st.l	%r19,44(%sp)");
	asm ("	st.l	%r20,48(%sp)");
@@ -1277,9 +1277,9 @@
	*/

	asm ("	fst.q	f8,  0(sp)");
	asm ("	fst.q	f12,16(sp)"); 
	asm ("	fst.q	f12,16(sp)");
	asm ("	st.l	r16,32(sp)");
	asm ("	st.l	r17,36(sp)"); 
	asm ("	st.l	r17,36(sp)");
	asm ("	st.l	r18,40(sp)");
	asm ("	st.l	r19,44(sp)");
	asm ("	st.l	r20,48(sp)");
@@ -1348,7 +1348,7 @@
	asm ("	adds	80,sp,r16");  /* return address of the __va_ctl.  */
	asm ("	bri	r1");
	asm ("	mov	r30,sp");
				/* recover stack and pass address to start 
				/* recover stack and pass address to start
				   of data.  */
#endif /* not __PARAGON__ */
#endif /* not __svr4__ */
@@ -1400,7 +1400,7 @@
#endif /* not __sparc__ */
#endif /* not __i860__ */
#endif


#ifdef L_eprintf
#ifndef inhibit_libc

@@ -1501,11 +1501,11 @@
	{
	  /* If the file exists, and the number of counts in it is the same,
	     then merge them in.  */
	     

	  if ((da_file = fopen (ptr->filename, "r")) != 0)
	    {
	      long n_counts = 0;
	      

	      if (__read_long (&n_counts, da_file, 8) != 0)
		{
		  fprintf (stderr, "arc profiling: Can't read output file %s.\n",
@@ -1552,7 +1552,7 @@

	  if (__write_long (ptr->ncounts, da_file, 8) != 0)
	    {
	      

	      fprintf (stderr, "arc profiling: Error writing output file %s.\n",
		       ptr->filename);
	    }
@@ -1574,7 +1574,7 @@
		fprintf (stderr, "arc profiling: Error writing output file %s.\n",
			 ptr->filename);
	    }
	  

	  if (fclose (da_file) == EOF)
	    fprintf (stderr, "arc profiling: Error closing output file %s.\n",
		     ptr->filename);
@@ -1771,7 +1771,7 @@
  struct bb *blocks;
} __bb;

/* Vars to store addrs of source and destination basic blocks 
/* Vars to store addrs of source and destination basic blocks
   of a jump.  */

static unsigned long bb_src = 0;
@@ -1821,7 +1821,7 @@
  if (mode[1])
    return (FILE *) 0;

  if (mode[0] != 'r' && mode[0] != 'w') 
  if (mode[0] != 'r' && mode[0] != 'w')
    return (FILE *) 0;

  p = fn + strlen (fn)-1;
@@ -1885,7 +1885,7 @@
  FILE *file = fopen ("bb.out", "a");
  struct bb_func *f;
  struct bb *b;
        

  if (!file)
    perror ("bb.out");

@@ -1926,7 +1926,7 @@
                    goto found;
                }
            }
  

          if (!printed_something)
            {
              fprintf (file, "Functions in `bb.in' not executed during basic block profiling on %s\n", ctime ((void *) &time_value));
@@ -1937,7 +1937,7 @@
          if (p->filename)
              fprintf (file, " of file %s", p->filename);
          fprintf (file, "\n" );
  

found:        ;
        }

@@ -1957,7 +1957,7 @@
            }
          return;
        }
    

      else if (file)
        {
          long time_value;
@@ -1966,13 +1966,13 @@
          unsigned long cnt_max  = 0;
          int cnt_len;
          int addr_len;
    

          /* This is somewhat type incorrect, but it avoids worrying about
             exactly where time.h is included from.  It should be ok unless
             a void * differs from other pointer formats, or if sizeof (long)
             is < sizeof (time_t).  It would be nice if we could assume the
             use of rationale standards here.  */
    

          time ((void *) &time_value);
          fprintf (file, "Basic block jump tracing");

@@ -1996,36 +1996,36 @@
            }

          fprintf (file, " finished on %s\n", ctime ((void *) &time_value));
    

          for (i = 0; i < BB_BUCKETS; i++)
            {
               struct bb_edge *bucket = bb_hashbuckets[i];
               for ( ; bucket; bucket = bucket->next )
                 {
                   if (addr_max < bucket->src_addr) 
                   if (addr_max < bucket->src_addr)
                     addr_max = bucket->src_addr;
                   if (addr_max < bucket->dst_addr) 
                   if (addr_max < bucket->dst_addr)
                     addr_max = bucket->dst_addr;
                   if (cnt_max < bucket->count) 
                   if (cnt_max < bucket->count)
                     cnt_max = bucket->count;
                 }
            }
          addr_len = num_digits (addr_max, 16);
          cnt_len  = num_digits (cnt_max, 10);
    

          for ( i = 0; i < BB_BUCKETS; i++)
            {
               struct bb_edge *bucket = bb_hashbuckets[i];
               for ( ; bucket; bucket = bucket->next )
                 {
                   fprintf (file, "Jump from block 0x%.*lx to "
                                  "block 0x%.*lx executed %*lu time(s)\n", 
                            addr_len, bucket->src_addr, 
                            addr_len, bucket->dst_addr, 
                                  "block 0x%.*lx executed %*lu time(s)\n",
                            addr_len, bucket->src_addr,
                            addr_len, bucket->dst_addr,
                            cnt_len, bucket->count);
                 }
            }
  

          fprintf (file, "\n");

        }
@@ -2095,14 +2095,14 @@
  while(fscanf (file, " %" BBINBUFSIZESTR "s ", buf) != EOF)
    {
      p = buf;
      if (*p == '-') 
        { 
          m = TRACE_OFF; 
          p++; 
      if (*p == '-')
        {
          m = TRACE_OFF;
          p++;
        }
      else 
        { 
          m = TRACE_ON; 
      else
        {
          m = TRACE_ON;
        }
      if (!strcmp (p, "__bb_trace__"))
        bb_mode |= 1;
@@ -2112,7 +2112,7 @@
        bb_mode |= 4;
      else if (!strcmp (p, "__bb_showret__"))
        bb_mode |= 8;
      else 
      else
        {
          struct bb_func *f = (struct bb_func *) malloc (sizeof (struct bb_func));
          if (f)
@@ -2147,7 +2147,7 @@
    }
  fclose (file);

#ifdef HAVE_POPEN 
#ifdef HAVE_POPEN

  if (bb_mode & 1)
      bb_tracefile = gopen ("bbtrace.gz", "w");
@@ -2161,7 +2161,7 @@

  if (bb_mode & 2)
    {
      bb_hashbuckets = (struct bb_edge **) 
      bb_hashbuckets = (struct bb_edge **)
                   malloc (BB_BUCKETS * sizeof (struct bb_edge *));
      if (bb_hashbuckets)
        memset (bb_hashbuckets, 0, BB_BUCKETS * sizeof (struct bb_edge *));
@@ -2208,7 +2208,7 @@
	= & bb_hashbuckets[ (((int) bb_src*8) ^ (int) bb_dst) % BB_BUCKETS ];
      bucket = *startbucket;

      for (bucket = *startbucket; bucket; 
      for (bucket = *startbucket; bucket;
           oldnext = &(bucket->next), bucket = *oldnext)
        {
          if (bucket->src_addr == bb_src
@@ -2271,7 +2271,7 @@
	= & bb_hashbuckets[ (((int) bb_dst * 8) ^ (int) bb_src) % BB_BUCKETS ];
      bucket = *startbucket;

      for (bucket = *startbucket; bucket; 
      for (bucket = *startbucket; bucket;
           oldnext = &(bucket->next), bucket = *oldnext)
        {
          if (bucket->src_addr == bb_dst
@@ -2385,9 +2385,9 @@
  MACHINE_STATE_SAVE("3")

  if (!blocks->zero_word)
    { 
    {
      if (!trace_init)
        { 
        {
          trace_init = 1;
          __bb_init_prg ();
        }
@@ -2444,7 +2444,7 @@
#endif /* not inhibit_libc */
#endif /* not BLOCK_PROFILER_CODE */
#endif /* L_bb */


#ifdef L_shtab
unsigned int __shtab[] = {
    0x00000001, 0x00000002, 0x00000004, 0x00000008,
@@ -2457,7 +2457,7 @@
    0x10000000, 0x20000000, 0x40000000, 0x80000000
  };
#endif


#ifdef L_clear_cache
/* Clear part of an instruction cache.  */

@@ -2466,7 +2466,7 @@
void
__clear_cache (char *beg, char *end)
{
#ifdef CLEAR_INSN_CACHE 
#ifdef CLEAR_INSN_CACHE
  CLEAR_INSN_CACHE (beg, end);
#else
#ifdef INSN_CACHE_SIZE
@@ -2530,7 +2530,7 @@
  /* Compute the cache alignment of the place to stop clearing.  */
#if 0  /* This is not needed for gcc's purposes.  */

  /* If the block to clear is bigger than a cache plane,
     we clear the entire cache, and OFFSET is already correct.  */ 
     we clear the entire cache, and OFFSET is already correct.  */
  if (end < beg + INSN_CACHE_PLANE_SIZE)
#endif
    offset = (((int) (end + INSN_CACHE_LINE_WIDTH - 1)
@@ -2571,7 +2571,7 @@
}

#endif /* L_clear_cache */


#ifdef L_trampoline

/* Jump to a trampoline, loading the static chain address.  */
@@ -2617,8 +2617,8 @@

#endif /* WINNT && ! __CYGWIN__ && ! _UWIN */

#ifdef TRANSFER_FROM_TRAMPOLINE 
TRANSFER_FROM_TRAMPOLINE 
#ifdef TRANSFER_FROM_TRAMPOLINE
TRANSFER_FROM_TRAMPOLINE
#endif

#if defined (NeXT) && defined (__MACH__)

@@ -2653,7 +2653,7 @@
#else
  __clear_cache ((int) addr, (int) eaddr);
#endif
} 
}

#endif /* defined (NeXT) && defined (__MACH__) */

@@ -2699,7 +2699,7 @@
  int save_errno;
  static unsigned long lowest = USRSTACK;
  unsigned long current = (unsigned long) &save_errno & -NBPC;
  

  /* Ignore errno being set. memctl sets errno to EINVAL whenever the
     address is seen as 'negative'. That is the case with the stack.   */

@@ -2753,7 +2753,7 @@
  errno changing without explicitly calling any system-call. */
  save_errno = errno;

  /* Keep it simple : memctl (MCT_TEXT) always fully clears the insn cache. 
  /* Keep it simple : memctl (MCT_TEXT) always fully clears the insn cache.
     No need to use an address derived from _start or %sp, as 0 works also. */
  memctl(0, 4096, MCT_TEXT);
  errno = save_errno;
@@ -2813,7 +2813,7 @@

#endif /* sony_news */
#endif /* L_trampoline */


#ifndef __CYGWIN__
#ifdef L__main

@@ -2897,7 +2897,7 @@

#endif /* L__main */
#endif /* __CYGWIN__ */


#ifdef L_ctors

#include "gbl-ctors.h"
@@ -2925,7 +2925,7 @@
#endif
#endif /* no INIT_SECTION_ASM_OP and not CTOR_LISTS_DEFINED_EXTERNALLY */
#endif /* L_ctors */


#ifdef L_exit

#include "gbl-ctors.h"
@@ -2979,7 +2979,7 @@
extern void _cleanup ();
extern void _exit () __attribute__ ((noreturn));

void 
void
exit (int status)
{
#if !defined (INIT_SECTION_ASM_OP) || !defined (OBJECT_FORMAT_ELF)

@@ -3028,7 +3028,7 @@
#endif /* ON_EXIT defined */

#endif /* L_exit */


#ifdef L_eh

#include "gthr.h"
@@ -3067,8 +3067,8 @@
__empty ()
{
}



/* Include definitions of EH context and table layout */

#include "eh-common.h"
@@ -3117,21 +3117,21 @@
    free (ptr);
}

/* __BEOS__ does not have a teardown toutine */
/* __BEOS__/__HAIKU__ does not have a teardown toutine */

#endif

/* Pointer to function to return EH context. */

#if !__BEOS__

#if !defined(__BEOS__) && !defined(__HAIKU__)

static struct eh_context *eh_context_initialize ();
static struct eh_context *eh_context_static ();
#endif
#if __GTHREADS || __BEOS__

#if __GTHREADS || defined(__BEOS__) || defined(__HAIKU__)

static struct eh_context *eh_context_specific ();
#endif

#if __BEOS__

#if defined(__BEOS__) || defined(__HAIKU__)

static struct eh_context *(*get_eh_context) () = &eh_context_specific;
#else
static struct eh_context *(*get_eh_context) () = &eh_context_initialize;
@@ -3154,7 +3154,7 @@
  struct eh_context *eh = (*get_eh_context) ();
  return &eh->info;
}


#if __GTHREADS

static void
eh_threads_initialize ()
@@ -3172,7 +3172,7 @@
   This will be called only once, since we change GET_EH_CONTEXT
   pointer to another routine. */

#if !__BEOS__

#if !defined(__BEOS__) && !defined(__HAIKU__)

static struct eh_context *
eh_context_initialize ()
{
@@ -3217,7 +3217,7 @@
  return &eh;
}

#endif	/* __BEOS__ */
#endif	/* __BEOS__ || __HAIKU__ */

#if __GTHREADS

/* Return a thread specific EH context. */
@@ -3236,7 +3236,7 @@

  return eh;
}
#elif __BEOS__
#elif defined(__BEOS__) || defined(__HAIKU__)

static __gthread_mutex_t beos_throw_mutex = __GTHREAD_MUTEX_INIT;

@@ -3294,7 +3294,7 @@
}

#endif __GTHREADS


/* Support routines for setjmp/longjmp exception handling.  */

/* Calls to __sjthrow are generated by the compiler when an exception
@@ -3373,13 +3373,13 @@
	  __terminate ();
	}
    }
  

  /* We must call terminate if we try and rethrow an exception, when
     there is no exception currently active and when there are no
     handlers left.  */
  if (! eh->info || (*dhc)[0] == 0)
    __terminate ();
    

  /* Find the jmpbuf associated with the top element of the dynamic
     handler chain.  The jumpbuf starts two words into the buffer.  */
  jmpbuf = &(*dhc)[2];
@@ -3456,7 +3456,7 @@

  __sjthrow ();
}


/* Support code for all exception region-based exception handling.  */

int
@@ -3493,15 +3493,15 @@

/* Return the table version of an exception descriptor */

short 
__get_eh_table_version (exception_descriptor *table) 
short
__get_eh_table_version (exception_descriptor *table)
{
  return table->lang.version;
}

/* Return the originating table language of an exception descriptor */

short 
short
__get_eh_table_language (exception_descriptor *table)
{
  return table->lang.language;
@@ -3551,7 +3551,7 @@
   returns a pointer to the handler which controlled should be transferred
   to, or NULL if there is nothing left.
   Parameters:
   PC - pc where the exception originates. If this is a rethrow, 
   PC - pc where the exception originates. If this is a rethrow,
        then this starts out as a pointer to the exception table
	entry we wish to rethrow out of.
   TABLE - exception table for the current module.
@@ -3560,7 +3560,7 @@
   CLEANUP - returned flag indicating whether this is a cleanup handler.
*/
static void *
find_exception_handler (void *pc, exception_descriptor *table, 
find_exception_handler (void *pc, exception_descriptor *table,
                        __eh_info *eh_info, int rethrow, int *cleanup)
{

@@ -3575,13 +3575,13 @@
      exception_table *tab = &(table->table[0]);

      /* Subtract 1 from the PC to avoid hitting the next region */
      if (rethrow) 
      if (rethrow)
        {
          /* pc is actually the region table entry to rethrow out of */
          pos = ((exception_table *) pc) - tab;
          pc = ((exception_table *) pc)->end_region - 1;

          /* The label is always on the LAST handler entry for a region, 
          /* The label is always on the LAST handler entry for a region,
             so we know the next entry is a different region, even if the
             addresses are the same. Make sure its not end of table tho. */
          if (tab[pos].start_region != (void *) -1)
@@ -3589,22 +3589,22 @@
        }
      else
        pc--;
      

      /* We can't do a binary search because the table is in inner-most
         to outermost address ranges within functions */
      for ( ; tab[pos].start_region != (void *) -1; pos++)
        { 
        {
          if (tab[pos].start_region <= pc && tab[pos].end_region > pc)
            {
              if (tab[pos].match_info)
                {
                  __eh_matcher matcher = eh_info->match_function;
                  /* match info but no matcher is NOT a match */
                  if (matcher) 
                  if (matcher)
                    {
                      void *ret = (*matcher)((void *) eh_info, 
                      void *ret = (*matcher)((void *) eh_info,
                                             tab[pos].match_info, table);
                      if (ret) 
                      if (ret)
                        {
                          if (retval == NULL)
                            retval = tab[pos].exception_handler;
@@ -3625,7 +3625,7 @@
}
#endif /* DWARF2_UNWIND_INFO */
#endif /* EH_TABLE_LOOKUP */


#ifdef DWARF2_UNWIND_INFO
/* Support code for exception handling using static unwind information.  */

@@ -3644,7 +3644,7 @@

/* ??? The Sparc INCOMING_REGNO references TARGET_FLAT.  This allows us
   to use the macro here.  One wonders, though, that perhaps TARGET_FLAT
   compiled functions won't work with the frame-unwind stuff here.  
   compiled functions won't work with the frame-unwind stuff here.
   Perhaps the entireity of in_reg_window should be conditional on having
   seen a DW_CFA_GNU_window_save?  */
#define target_flags 0
@@ -3759,13 +3759,13 @@
}

/* Hook to call before __terminate if only cleanup handlers remain. */
void 
void
__unwinding_cleanup ()
{
}

/* throw_helper performs some of the common grunt work for a throw. This
   routine is called by throw and rethrows. This is pretty much split 
   routine is called by throw and rethrows. This is pretty much split
   out from the old __throw routine. An addition has been added which allows
   for a dummy call to a routine __unwinding_cleanup() when there are nothing
   but cleanups remaining. This allows a debugger to examine the state
@@ -3808,7 +3808,7 @@

  handler = (void *) 0;
  for (;;)
    { 
    {
      frame_state *p = udata;
      udata = next_stack_level (pc, udata, sub_udata);
      sub_udata = p;
@@ -3823,21 +3823,21 @@
        new_eh_model = (((exception_descriptor *)(udata->eh_ptr))->
                                          runtime_id_field == NEW_EH_RUNTIME);

      if (rethrow) 
      if (rethrow)
        {
          rethrow = 0;
          handler = find_exception_handler (eh->table_index, udata->eh_ptr, 
          handler = find_exception_handler (eh->table_index, udata->eh_ptr,
                                          eh_info, 1, &cleanup);
          eh->table_index = (void *)0;
        }
      else
        if (new_eh_model)
          handler = find_exception_handler (pc, udata->eh_ptr, eh_info, 
          handler = find_exception_handler (pc, udata->eh_ptr, eh_info,
                                            0, &cleanup);
        else
          handler = old_find_exception_handler (pc, udata->eh_ptr);

      /* If we found one, we can stop searching, if its not a cleanup. 
      /* If we found one, we can stop searching, if its not a cleanup.
         for cleanups, we save the state, and keep looking. This allows
         us to call a debug hook if there are nothing but cleanups left. */
      if (handler)
@@ -3865,7 +3865,7 @@
      pc = get_return_addr (udata, sub_udata) - 1;
    }

  if (saved_state) 
  if (saved_state)
    {
      udata = &saved_ustruct;
      handler = handler_p;
@@ -3876,7 +3876,7 @@

  /* If we haven't found a handler by now, this is an unhandled
     exception.  */
  if (! handler) 
  if (! handler)
    __terminate();

  eh->handler_label = handler;
@@ -3945,7 +3945,7 @@
#else
  *offset_p = my_udata->cfa - udata->cfa - args_size;
#endif
		       

  return handler;
}

@@ -3976,7 +3976,7 @@
     active.  */
  if (! eh->info)
    __terminate ();
    

  /* Start at our stack frame.  */
label:
  my_udata = __frame_state_for (&&label, my_udata);
@@ -4027,7 +4027,7 @@
     the END_REGION label is used for the PC of the throw, and the
     search begins with the next table entry. */
  eh->table_index = index;
    

  /* Start at our stack frame.  */
label:
  my_udata = __frame_state_for (&&label, my_udata);
@@ -4056,7 +4056,7 @@
#endif /* DWARF2_UNWIND_INFO */

#endif /* L_eh */


#ifdef L_pure
#ifndef inhibit_libc
/* This gets us __GNU_LIBRARY__.  */
@@ -4076,7 +4076,7 @@
__pure_virtual ()
{
#ifndef inhibit_libc
#if __BEOS__

#if defined(__BEOS__) || defined(__HAIKU__)

  debugger (MESSAGE);
#else
  write (2, MESSAGE, sizeof (MESSAGE) - 1);
diff --git a/legacy/gcc/gcc/toplev.c b/legacy/gcc/gcc/toplev.c
index 85cff8e..af591b6 100644
--- a/legacy/gcc/gcc/toplev.c
+++ b/legacy/gcc/gcc/toplev.c
@@ -74,9 +74,9 @@
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoffout.h"
#endif


#ifdef __BEOS__

#if defined(__BEOS__) || defined(__HAIKU__)

#include <OS.h>
/* the thread priority used for all gcc-tools */
static int priority = B_LOW_PRIORITY;
@@ -108,7 +108,7 @@
#endif

/* If more than one debugging type is supported, you must define
   PREFERRED_DEBUGGING_TYPE to choose a format in a system-dependent way. 
   PREFERRED_DEBUGGING_TYPE to choose a format in a system-dependent way.

   This is one long line cause VAXC can't handle a \-newline.  */
#if 1 < (defined (DBX_DEBUGGING_INFO) + defined (SDB_DEBUGGING_INFO) + defined (DWARF_DEBUGGING_INFO) + defined (DWARF2_DEBUGGING_INFO) + defined (XCOFF_DEBUGGING_INFO))

@@ -248,7 +248,7 @@
/* Copy of arguments to main.  */
int save_argc;
char **save_argv;


/* Name of current original source file (what was input to cpp).
   This comes from each #-command in the actual input.  */

@@ -429,7 +429,7 @@
   times taken by the various passes.  -quiet.  */

int quiet_flag = 0;


/* -f flags.  */

/* Nonzero means `char' should be signed.  */
@@ -554,7 +554,7 @@
int flag_function_sections = 0;

/* ... and similar for data.  */
 

int flag_data_sections = 0;

/* Nonzero to inhibit use of define_optimization peephole opts.  */
@@ -656,7 +656,7 @@

int flag_exceptions;

/* Nonzero means use the new model for exception handling. Replaces 
/* Nonzero means use the new model for exception handling. Replaces
   -DNEW_EH_MODEL as a compile option. */

int flag_new_exceptions = 0;
@@ -707,7 +707,7 @@
int flag_branch_on_count_reg;

/* -finhibit-size-directive inhibits output of .size for ELF.
   This is used only for compiling crtstuff.c, 
   This is used only for compiling crtstuff.c,
   and it may be extended to other effects
   needed for crtstuff.c on other systems.  */
int flag_inhibit_size_directive = 0;
@@ -1147,12 +1147,12 @@
  { "-nostdinc++", "" },
  { "-trigraphs", "" },
  { "-undef", "" },
  

#define DEFINE_LANG_NAME(NAME) { NULL, NAME },
  

  /* These are for obj c.  */
  DEFINE_LANG_NAME ("Objective C")
  

  { "-lang-objc", "" },
  { "-gen-decls", "Dump decls to a .decl file" },
  { "-fgnu-runtime", "Generate code for GNU runtime environment" },
@@ -1167,7 +1167,7 @@
    "Generate C header of platform specific features" },

#include "options.h"
  

};

/* Here is a table, controlled by the tm.h file, listing each -m switch
@@ -1195,7 +1195,7 @@
}
target_options [] = TARGET_OPTIONS;
#endif


/* Options controlling warnings */

/* Don't print warning messages.  -w.  */
@@ -1246,7 +1246,7 @@
/* Nonzero means warn about any objects definitions whose size is larger
   than N bytes.  Also want about function definitions whose returned
   values are larger than N bytes. The value N is in `larger_than_size'.  */
 

int warn_larger_than;
unsigned larger_than_size;

@@ -1277,7 +1277,7 @@
  {"inline", &warn_inline, 1,
   "Warn when an inlined function cannot be inlined"}
};


/* Output files for assembler code (real compiler output)
   and debugging dumps.  */

@@ -1289,7 +1289,7 @@
   If the string is indeed an integer return its numeric value else
   issue an Invalid Option error for the option PNAME and return DEFVAL.
   If PNAME is zero just return DEFVAL, do not call error.               */
   

int
read_integral_parameter (p, pname, defval)
     const char *p;
@@ -1344,7 +1344,7 @@
int final_time;
int symout_time;
int dump_time;


/* Return time used so far, in microseconds.  */

long
@@ -1353,7 +1353,7 @@
  if (quiet_flag)
    return 0;

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  return 0;
#else /* not BeOS */
#if defined (_WIN32) && !defined (__CYGWIN__)

@@ -1411,7 +1411,7 @@
#endif	/* USG */
#endif  /* _SC_CLK_TCK */
#endif	/* _WIN32 */
#endif	/* __BEOS__ */
#endif	/* __BEOS__ || __HAIKU__ */
}

#define TIMEVAR(VAR, BODY)    \
@@ -1520,7 +1520,7 @@
{
  return IDENTIFIER_POINTER (DECL_NAME (decl));
}


static int need_error_newline;

/* Function of last error message;
@@ -1620,7 +1620,7 @@

  (*print_error_function) (input_filename);
}


/* Print a message.  */

static void
@@ -1751,7 +1751,7 @@
    {
      char fmt[sizeof "%.255s"];
      long width = p - _(msgid);
             

      if (width > 255L) width = 255L;	/* arbitrary */
      sprintf (fmt, "%%.%lds", width);
      fprintf (stderr, fmt, _(msgid));
@@ -2271,7 +2271,7 @@
  vsorry (msgid, ap);
  va_end (ap);
}


/* Given a partial pathname as input, return another pathname that shares
   no elements with the pathname of __FILE__.  This is used by abort() to
   print `Internal compiler error in expr.c' instead of `Internal compiler
@@ -2362,7 +2362,7 @@
}


/* Same as `realloc' but report error if no memory available.  
/* Same as `realloc' but report error if no memory available.
   Also handle null PTR even if the vendor realloc gets it wrong.  */

PTR
@@ -2396,7 +2396,7 @@
  strcpy (result, s);
  return result;
}


/* Return the logarithm of X, base 2, considering X unsigned,
   if X is a power of 2.  Otherwise, returns -1.

@@ -2617,7 +2617,7 @@
#endif
#endif
}


#ifdef ASM_IDENTIFY_LANGUAGE
/* Routine to build language identifier for object file.  */
static void
@@ -2646,21 +2646,21 @@

       if (rtl_dump_file != NULL)
	 fclose (rtl_dump_file);
  

       strcpy (dumpname, dump_base_name);
       strcat (dumpname, suffix);
       

       rtl_dump_file = fopen (dumpname, "a");
       

       if (rtl_dump_file == NULL)
	 pfatal_with_name (dumpname);
       

       free (dumpname);

       if (function_name)
	 fprintf (rtl_dump_file, "\n;; Function %s\n\n", function_name);
     });
  

  return;
}

@@ -2675,10 +2675,10 @@
     {
       if (func)
	 func (rtl_dump_file, insns);
       

       fflush (rtl_dump_file);
       fclose (rtl_dump_file);
       

       rtl_dump_file = NULL;
     });

@@ -2708,24 +2708,24 @@

  strcpy (dumpname, dump_base_name);
  strcat (dumpname, suffix);
       

  rtl_dump_file = fopen (dumpname, "w");

  if (rtl_dump_file == NULL)
    pfatal_with_name (dumpname);       
    pfatal_with_name (dumpname);

  free (dumpname);

  fclose (rtl_dump_file);
  rtl_dump_file = NULL;
  

  return;
}

/* Do any final processing required for the declarations in VEC, of
   which there are LEN.  We write out inline functions and variables
   that have been deferred until this point, but which are required.
   Returns non-zero if anything was put out.  */ 
   Returns non-zero if anything was put out.  */
int
wrapup_global_declarations (vec, len)
     tree *vec;
@@ -2739,10 +2739,10 @@
  for (i = 0; i < len; i++)
    {
      decl = vec[i];
      

      /* We're not deferring this any longer.  */
      DECL_DEFER_OUTPUT (decl) = 0;
      

      if (TREE_CODE (decl) == VAR_DECL && DECL_SIZE (decl) == 0
	  && incomplete_decl_finalize_hook != 0)
	(*incomplete_decl_finalize_hook) (decl);
@@ -3244,7 +3244,7 @@
      Therefore, I took out that change.
      In future versions we should find another way to solve
      that dbx problem.  -- rms, 23 May 93.  */
      

  /* Don't let the first function fall at the same address
     as gcc_compiled., if profiling.  */
  if (profile_flag || profile_block_flag)
@@ -3388,15 +3388,15 @@
  /* Output some stuff at end of file if nec.  */

  end_final (dump_base_name);
   

  if (branch_prob_dump)
    open_dump_file (".bp", NULL);
   

  TIMEVAR (dump_time, end_branch_prob (rtl_dump_file));
   

  if (branch_prob_dump)
    close_dump_file (NULL, NULL_RTX);
   

#ifdef ASM_FILE_END
  ASM_FILE_END (asm_out_file);
#endif
@@ -3517,7 +3517,7 @@
      print_time ("dump", dump_time);
    }
}


/* This is called from various places for FUNCTION_DECL, VAR_DECL,
   and TYPE_DECL nodes.

@@ -3680,10 +3680,10 @@
      if (rtl_dump)
	{
	  open_dump_file (".rtl", decl_printable_name (decl, 2));
	  

	  if (DECL_SAVED_INSNS (decl))
	    fprintf (rtl_dump_file, ";; (integrable)\n\n");
	  

	  close_dump_file (print_rtl, insns);
	}

@@ -3961,17 +3961,17 @@
    {
      if (loop_dump)
	open_dump_file (".loop", decl_printable_name (decl, 2));
	

      TIMEVAR
	(loop_time,
	 {
	   if (flag_rerun_loop_opt)
	     {
	       /* We only want to perform unrolling once.  */
	       

	       loop_optimize (insns, rtl_dump_file, 0, 0);
	       
	


	       /* The first call to loop_optimize makes some instructions
		  trivially dead.  We delete those instructions now in the
		  hope that doing so will make the heuristics in loop work
@@ -4011,7 +4011,7 @@
	  TIMEVAR (jump_time, jump_optimize (insns, !JUMP_CROSS_JUMP,
					     !JUMP_NOOP_MOVES,
					     JUMP_AFTER_REGSCAN));
	  

	  TIMEVAR (cse2_time, reg_scan (insns, max_reg_num (), 0));
	  TIMEVAR (cse2_time, tem = cse_main (insns, max_reg_num (),
					      1, rtl_dump_file));
@@ -4076,7 +4076,7 @@

  if (flow_dump)
    open_dump_file (".flow", decl_printable_name (decl, 2));
  

  if (obey_regdecls)
    {
      TIMEVAR (flow_time,
@@ -4181,7 +4181,7 @@
  current_function_is_leaf = leaf_function_p ();

  /* Unless we did stupid register allocation,
     allocate pseudo-regs that are used only within 1 basic block. 
     allocate pseudo-regs that are used only within 1 basic block.

     RUN_JUMP_AFTER_RELOAD records whether or not we need to rerun the
     jump optimizer after register allocation and reloading are finished.  */
@@ -4278,7 +4278,7 @@
  /* Re-create the death notes which were deleted during reload.  */
  if (flow2_dump)
    open_dump_file (".flow2", decl_printable_name (decl, 2));
  

  if (optimize)
    {
      TIMEVAR
@@ -4526,15 +4526,15 @@
  /* Reset global variables.  */
  free_basic_block_vars (0);
}


static void
display_help ()
{
  int    undoc;
  unsigned long	 i;
  const char * lang;
  
#ifndef USE_CPPLIB  

#ifndef USE_CPPLIB
  printf ("Usage: %s input [switches]\n", progname);
  printf ("Switches:\n");
#endif
@@ -4546,47 +4546,47 @@
  for (i = NUM_ELEM (f_options); i--;)
    {
      const char * description = f_options[i].description;
      

      if (description != NULL && * description != 0)
	printf ("  -f%-21s %s\n",
		f_options[i].string, description);
    }
  

  printf ("  -O[number]              Set optimisation level to [number]\n");
  printf ("  -Os                     Optimise for space rather than speed\n");
  printf ("  -pedantic               Issue warnings needed by strict compliance to ANSI C\n");
  printf ("  -pedantic-errors        Like -pedantic except that errors are produced\n");
  printf ("  -w                      Suppress warnings\n");
  printf ("  -W                      Enable extra warnings\n");
  

  for (i = NUM_ELEM (W_options); i--;)
    {
      const char * description = W_options[i].description;
      

      if (description != NULL && * description != 0)
	printf ("  -W%-21s %s\n",
		W_options[i].string, description);
    }
  

  printf ("  -Wid-clash-<num>        Warn if 2 identifiers have the same first <num> chars\n");
  printf ("  -Wlarger-than-<number>  Warn if an object is larger than <number> bytes\n");
  printf ("  -p                      Enable function profiling\n");
#if defined (BLOCK_PROFILER) || defined (FUNCTION_BLOCK_PROFILER)

  printf ("  -a                      Enable block profiling \n");
#endif  
#endif
#if defined (BLOCK_PROFILER) || defined (FUNCTION_BLOCK_PROFILER) || defined FUNCTION_BLOCK_PROFILER_EXIT

  printf ("  -ax                     Enable jump profiling \n");
#endif  
#endif
  printf ("  -o <file>               Place output into <file> \n");
  printf ("  -G <number>             Put global and static data smaller than <number>\n");
  printf ("                           bytes into a special section (on some targets)\n");
  

  for (i = NUM_ELEM (debug_args); i--;)
    {
      if (debug_args[i].description != NULL)
	printf ("  -%-22s %s\n", debug_args[i].arg, debug_args[i].description);
    }
  

  printf ("  -aux-info <file>        Emit declaration info into <file>.X\n");
  printf ("  -quiet                  Do not display functions compiled or elapsed time\n");
  printf ("  -version                Display the compiler's version\n");
@@ -4600,7 +4600,7 @@

  undoc = 0;
  lang  = "language";
  

  /* Display descriptions of language specific options.
     If there is no description, note that there is an undocumented option.
     If the description is empty, do not display anything.  (This allows
@@ -4608,7 +4608,7 @@
     If the option string is missing, then this is a marker, indicating
     that the description string is in fact the name of a language, whose
     language specific options are to follow.  */
  

  if (NUM_ELEM (documented_lang_options) > 1)
    {
      printf ("\nLanguage specific options:\n");
@@ -4634,7 +4634,7 @@
		  ("\nThere are undocumented %s specific options as well.\n",
			lang);
	      undoc = 0;
	      

	      printf ("\n Options for %s:\n", description);

	      lang = description;
@@ -4654,9 +4654,9 @@
      )
    {
      int doc = 0;
      

      undoc = 0;
  

      printf ("\nTarget specific options:\n");

      for (i = NUM_ELEM (target_switches); i--;)
@@ -4669,15 +4669,15 @@
	  else if (description == NULL)
	    {
	      undoc = 1;
	      

	      if (extra_warnings)
		printf ("  -m%-21.21s [undocumented]\n", option);
	    }
	  else if (* description != 0)
	    doc += printf ("  -m%-21.21s %s\n", option, description);
	}
      
#ifdef TARGET_OPTIONS      

#ifdef TARGET_OPTIONS
      for (i = NUM_ELEM (target_options); i--;)
	{
	  const char * option      = target_options[i].prefix;
@@ -4688,7 +4688,7 @@
	  else if (description == NULL)
	    {
	      undoc = 1;
	      

	      if (extra_warnings)
		printf ("  -m%-21.21s [undocumented]\n", option);
	    }
@@ -4720,7 +4720,7 @@
  int    numopts;
  long   k;
  char * space;
  

  /* Ignore NULL entries.  */
  if (option == NULL || lang_option == NULL)
    return 0;
@@ -4729,23 +4729,23 @@
    len = space - lang_option;
  else
    len = strlen (lang_option);
  

  /* If they do not match to the first n characters then fail.  */
  if (strncmp (option, lang_option, len) != 0)
    return 0;
  

  /* Do not accept a lang option, if it matches a normal -f or -W
     option.  Chill defines a -fpack, but we want to support
     -fpack-struct.  */
  

  /* An exact match is OK  */
  if ((int) strlen (option) == len)
    return 1;
  

  /* If it is not an -f or -W option allow the match */
  if (option[0] != '-')
    return 1;
  

  switch (option[1])
    {
    case 'f':
@@ -4758,31 +4758,31 @@
      break;
    default:  return 1;
    }
  

  /* The option is a -f or -W option.
     Skip past the prefix and search for the remainder in the
     appropriate table of options.  */
  option += 2;
  

  if (option[0] == 'n' && option[1] == 'o' && option[2] == '-')
    option += 3;
  

  for (k = numopts; k--;)
    {
      if (!strcmp (option, indep_options[k].string))
	{
	  /* The option matched a language independent option,
	     do not allow the language specific match.  */
	  

	  return 0;
	}
    }
  

  /* The option matches the start of the langauge specific option
     and it is not an exact match for a language independent option.  */
  return 1;
}


/* Entry point of cc1/c++.  Decode command args, then call compile_file.
   Exit code is 35 if can't open files, 34 if fatal error,
   33 if had nonfatal errors, else success.  */
@@ -4861,16 +4861,16 @@
	{
	  /* Handle -Os, -O2, -O3, -O69, ...  */
	  char *p = &argv[i][2];
	  

	  if ((p[0] == 's') && (p[1] == 0))
	    {
	      optimize_size = 1;
	      

	      /* Optimizing for size forces optimize to be 2. */
	      optimize = 2;
	    }
	  else
	    {	    
	    {
	      const int optimize_val = read_integral_parameter (p, p - 2, -1);
	      if (optimize_val != -1)
		{
@@ -4934,25 +4934,25 @@
  for (i = 1; i < argc; i++)
    {
      size_t j;
      

      /* If this is a language-specific option,
	 decode it in a language-specific way.  */
      for (j = NUM_ELEM (documented_lang_options); j--;)
	if (check_lang_option (argv[i], documented_lang_options[j].option))
	  break;
      

      if (j != (size_t)-1)
	{
	  /* If the option is valid for *some* language,
	     treat it as valid even if this language doesn't understand it.  */
	  int strings_processed = lang_decode_option (argc - i, argv + i);
	  

	  if (!strcmp (argv[i], "--help"))
	    {
	      display_help ();
	      exit (0);
	    }
	  

	  if (strings_processed != 0)
	    i += strings_processed - 1;
	}
@@ -5033,7 +5033,7 @@
		  case 'J':
		    jump2_opt_dump = 1;
		    break;
#ifdef STACK_REGS		    
#ifdef STACK_REGS
		  case 'k':
		    stack_reg_dump = 1;
		    break;
@@ -5149,7 +5149,7 @@
	    pedantic = 1;
	  else if (!strcmp (str, "pedantic-errors"))
	    flag_pedantic_errors = pedantic = 1;
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

	  else if (!strncmp (str, "priority=", 9))
	    priority = atol (str + 9);
#endif
@@ -5238,7 +5238,7 @@
#if !defined (FUNCTION_BLOCK_PROFILER_EXIT) || !defined (BLOCK_PROFILER) || !defined (FUNCTION_BLOCK_PROFILER)

	      warning ("`-ax' option (jump profiling) not supported");
#else
	      profile_block_flag = (!profile_block_flag 
	      profile_block_flag = (!profile_block_flag
	                               || profile_block_flag == 2) ? 2 : 3;
#endif
	    }
@@ -5276,13 +5276,13 @@

		      if (*p && (*p < '0' || *p > '9'))
			continue;
		      

		      /* A debug flag without a level defaults to level 2.
			 Note we do not want to call read_integral_parameter
			 for that case since it will call atoi which 
			 for that case since it will call atoi which
			 will return zero.

			 ??? We may want to generalize the interface to 
			 ??? We may want to generalize the interface to
			 read_integral_parameter to better handle this case
			 if this case shows up often.  */
		      if (*p)
@@ -5366,7 +5366,7 @@
	      const int g_switch_val = (str[1] != '\0') ?
	                               read_integral_parameter(str + 1, 0, -1) :
			               read_integral_parameter(argv[++i], 0, -1);
	      

	      if (g_switch_val != -1)
	        {
		  g_switch_set = TRUE;
@@ -5396,7 +5396,7 @@
	filename = argv[i];
    }

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

  set_thread_priority (find_thread(NULL), priority);
  {
    char priobuf[20];
@@ -5471,7 +5471,7 @@
  user_label_prefix = USER_LABEL_PREFIX;
  if (flag_leading_underscore != -1)
    {
      /* If the default prefix is more complicated than "" or "_", 
      /* If the default prefix is more complicated than "" or "_",
	 issue a warning and ignore this option.  */
      if (user_label_prefix[0] == 0 ||
	  (user_label_prefix[0] == '_' && user_label_prefix[1] == 0))
@@ -5519,7 +5519,7 @@
  exit (SUCCESS_EXIT_CODE);
  return 0;
}


/* Decode -m switches.  */
/* Decode the switch -mNAME.  */

@@ -5556,7 +5556,7 @@
  if (!valid_target_option)
    error ("Invalid option `%s'", name);
}


/* Print version information to FILE.
   Each line begins with INDENT (for the case where FILE is the
   assembler output file).  */
@@ -5608,7 +5608,7 @@
  pos += len;
  return pos;
}
     

/* Print active target switches to FILE.
   POS is the current cursor position and MAX is the size of a "line".
   Each line begins with INDENT and ends with TERM.
@@ -5707,7 +5707,7 @@
  if (debug_info_level == DINFO_LEVEL_VERBOSE
      && write_symbols == DWARF2_DEBUG)
    dwarf2out_start_source_file (filename);
#endif /* DWARF2_DEBUGGING_INFO */  
#endif /* DWARF2_DEBUGGING_INFO */
#ifdef SDB_DEBUGGING_INFO
  if (write_symbols == SDB_DEBUG)
    sdbout_start_new_source_file (filename);
diff --git a/legacy/binutils/bfd/doc/bfd.info b/legacy/binutils/bfd/doc/bfd.info
index ac27744..2008afa 100644
--- a/legacy/binutils/bfd/doc/bfd.info
+++ b/legacy/binutils/bfd/doc/bfd.info
@@ -1,5 +1,7 @@
This is ../../../binutils/bfd/doc/bfd.info, produced by makeinfo
version 4.7 from ../../../binutils/bfd/doc/bfd.texinfo.
This is
/home/bonefish/develop/haiku/buildtools/legacy/binutils/bfd/doc/bfd.info,
produced by makeinfo version 4.9 from
/home/bonefish/develop/haiku/buildtools/legacy/binutils/bfd/doc/bfd.texinfo.

START-INFO-DIR-ENTRY
* Bfd: (bfd).                   The Binary File Descriptor library.
@@ -10239,67 +10241,67 @@


Tag Table:
Node: Top744
Node: Overview1076
Node: History2127
Node: How It Works3073
Node: What BFD Version 2 Can Do4615
Node: BFD information loss5930
Node: Canonical format8462
Node: BFD front end12834
Node: Memory Usage38448
Node: Initialization39676
Node: Sections40135
Node: Section Input40618
Node: Section Output41983
Node: typedef asection44469
Node: section prototypes69426
Node: Symbols79106
Node: Reading Symbols80701
Node: Writing Symbols81808
Node: Mini Symbols83517
Node: typedef asymbol84491
Node: symbol handling functions89409
Node: Archives94751
Node: Formats98477
Node: Relocations101425
Node: typedef arelent102152
Node: howto manager117963
Node: Core Files180243
Node: Targets182060
Node: bfd_target184030
Node: Architectures204110
Node: Opening and Closing225542
Node: Internal236544
Node: File Caching242877
Node: Linker Functions244791
Node: Creating a Linker Hash Table246464
Node: Adding Symbols to the Hash Table248202
Node: Differing file formats249102
Node: Adding symbols from an object file250850
Node: Adding symbols from an archive253001
Node: Performing the Final Link255415
Node: Information provided by the linker256657
Node: Relocating the section contents257811
Node: Writing the symbol table259562
Node: Hash Tables262555
Node: Creating and Freeing a Hash Table263753
Node: Looking Up or Entering a String265003
Node: Traversing a Hash Table266256
Node: Deriving a New Hash Table Type267045
Node: Define the Derived Structures268111
Node: Write the Derived Creation Routine269192
Node: Write Other Derived Routines271816
Node: BFD back ends273131
Node: What to Put Where273401
Node: aout273539
Node: coff279857
Node: elf304334
Node: mmo305197
Node: File layout306125
Node: Symbol-table311772
Node: mmo section mapping315541
Node: GNU Free Documentation License319193
Node: Index338918
Node: Top820
Node: Overview1152
Node: History2203
Node: How It Works3149
Node: What BFD Version 2 Can Do4691
Node: BFD information loss6006
Node: Canonical format8538
Node: BFD front end12910
Node: Memory Usage38524
Node: Initialization39752
Node: Sections40211
Node: Section Input40694
Node: Section Output42059
Node: typedef asection44545
Node: section prototypes69502
Node: Symbols79182
Node: Reading Symbols80777
Node: Writing Symbols81884
Node: Mini Symbols83593
Node: typedef asymbol84567
Node: symbol handling functions89485
Node: Archives94827
Node: Formats98553
Node: Relocations101501
Node: typedef arelent102228
Node: howto manager118039
Node: Core Files180319
Node: Targets182136
Node: bfd_target184106
Node: Architectures204186
Node: Opening and Closing225618
Node: Internal236620
Node: File Caching242953
Node: Linker Functions244867
Node: Creating a Linker Hash Table246540
Node: Adding Symbols to the Hash Table248278
Node: Differing file formats249178
Node: Adding symbols from an object file250926
Node: Adding symbols from an archive253077
Node: Performing the Final Link255491
Node: Information provided by the linker256733
Node: Relocating the section contents257887
Node: Writing the symbol table259638
Node: Hash Tables262631
Node: Creating and Freeing a Hash Table263829
Node: Looking Up or Entering a String265079
Node: Traversing a Hash Table266332
Node: Deriving a New Hash Table Type267121
Node: Define the Derived Structures268187
Node: Write the Derived Creation Routine269268
Node: Write Other Derived Routines271892
Node: BFD back ends273207
Node: What to Put Where273477
Node: aout273615
Node: coff279933
Node: elf304410
Node: mmo305273
Node: File layout306201
Node: Symbol-table311848
Node: mmo section mapping315617
Node: GNU Free Documentation License319269
Node: Index338994

End Tag Table
diff --git a/legacy/binutils/binutils/doc/binutils.info b/legacy/binutils/binutils/doc/binutils.info
index 3af1c77..5f28e62 100644
--- a/legacy/binutils/binutils/doc/binutils.info
+++ b/legacy/binutils/binutils/doc/binutils.info
@@ -1,5 +1,7 @@
This is ../../../binutils/binutils/doc/binutils.info, produced by
makeinfo version 4.7 from ../../../binutils/binutils/doc/binutils.texi.
This is
/home/bonefish/develop/haiku/buildtools/legacy/binutils/binutils/doc/binutils.info,
produced by makeinfo version 4.9 from
/home/bonefish/develop/haiku/buildtools/legacy/binutils/binutils/doc/binutils.texi.

START-INFO-DIR-ENTRY
* Binutils: (binutils).         The GNU binary utilities.
@@ -3803,33 +3805,33 @@


Tag Table:
Node: Top1771
Node: ar3324
Node: ar cmdline5502
Node: ar scripts13645
Node: nm19333
Node: objcopy27529
Node: objdump50581
Node: ranlib65494
Node: size66249
Node: strings69096
Node: strip71446
Node: c++filt76925
Ref: c++filt-Footnote-181853
Node: addr2line81959
Node: nlmconv85230
Node: windres87836
Node: dlltool93569
Node: def file format104407
Node: readelf106145
Node: Common Options110853
Node: Selecting The Target System111893
Node: Target Selection112825
Node: Architecture Selection114807
Node: Reporting Bugs115635
Node: Bug Criteria116414
Node: Bug Reporting116967
Node: GNU Free Documentation License124061
Node: Index143793
Node: Top1847
Node: ar3400
Node: ar cmdline5578
Node: ar scripts13721
Node: nm19409
Node: objcopy27605
Node: objdump50657
Node: ranlib65570
Node: size66325
Node: strings69172
Node: strip71522
Node: c++filt77001
Ref: c++filt-Footnote-181929
Node: addr2line82035
Node: nlmconv85306
Node: windres87912
Node: dlltool93645
Node: def file format104483
Node: readelf106221
Node: Common Options110929
Node: Selecting The Target System111969
Node: Target Selection112901
Node: Architecture Selection114883
Node: Reporting Bugs115711
Node: Bug Criteria116490
Node: Bug Reporting117043
Node: GNU Free Documentation License124137
Node: Index143869

End Tag Table
diff --git a/legacy/binutils/gas/doc/as.info b/legacy/binutils/gas/doc/as.info
index 744d9e4..a745c92 100644
--- a/legacy/binutils/gas/doc/as.info
+++ b/legacy/binutils/gas/doc/as.info
@@ -1,5 +1,7 @@
This is ../../../binutils/gas/doc/as.info, produced by makeinfo version
4.7 from ../../../binutils/gas/doc/as.texinfo.
This is
/home/bonefish/develop/haiku/buildtools/legacy/binutils/gas/doc/as.info,
produced by makeinfo version 4.9 from
/home/bonefish/develop/haiku/buildtools/legacy/binutils/gas/doc/as.texinfo.

START-INFO-DIR-ENTRY
* As: (as).                     The GNU assembler.
@@ -17890,463 +17892,463 @@


Tag Table:
Node: Top798
Node: Overview1715
Node: Manual28207
Node: GNU Assembler29151
Node: Object Formats30322
Node: Command Line30774
Node: Input Files31861
Node: Object33842
Node: Errors34738
Node: Invoking35933
Node: a37882
Node: alternate39654
Node: D39826
Node: f40059
Node: I40567
Node: K41111
Node: L41414
Node: listing42251
Node: M43843
Node: MD48244
Node: o48670
Node: R49125
Node: statistics50155
Node: traditional-format50562
Node: v51035
Node: W51310
Node: Z52217
Node: Syntax52739
Node: Preprocessing53330
Node: Whitespace54893
Node: Comments55289
Node: Symbol Intro57442
Node: Statements58132
Node: Constants60048
Node: Characters60679
Node: Strings61181
Node: Chars63347
Node: Numbers64101
Node: Integers64641
Node: Bignums65297
Node: Flonums65653
Node: Sections67400
Node: Secs Background67778
Node: Ld Sections72817
Node: As Sections75201
Node: Sub-Sections76111
Node: bss79258
Node: Symbols80208
Node: Labels80856
Node: Setting Symbols81587
Node: Symbol Names82083
Node: Dot86448
Node: Symbol Attributes86895
Node: Symbol Value87632
Node: Symbol Type88677
Node: a.out Symbols89065
Node: Symbol Desc89327
Node: Symbol Other89622
Node: COFF Symbols89791
Node: SOM Symbols90464
Node: Expressions90906
Node: Empty Exprs91655
Node: Integer Exprs92002
Node: Arguments92397
Node: Operators93503
Node: Prefix Ops93838
Node: Infix Ops94166
Node: Pseudo Ops96556
Node: Abort101751
Node: ABORT102156
Node: Align102343
Node: Ascii104625
Node: Asciz104934
Node: Balign105179
Node: Byte107042
Node: Comm107280
Node: CFI directives108654
Node: LNS directives111006
Node: Data113083
Node: Def113410
Node: Desc113642
Node: Dim114142
Node: Double114399
Node: Eject114737
Node: Else114912
Node: Elseif115208
Node: End115498
Node: Endef115713
Node: Endfunc115890
Node: Endif116065
Node: Equ116326
Node: Equiv116835
Node: Eqv117391
Node: Err117755
Node: Error118066
Node: Exitm118511
Node: Extern118680
Node: Fail118941
Node: File119386
Node: Fill119863
Node: Float120827
Node: Func121169
Node: Global121759
Node: Hidden122509
Node: hword123088
Node: Ident123416
Node: If123990
Node: Incbin127049
Node: Include127744
Node: Int128295
Node: Internal128676
Node: Irp129324
Node: Irpc130221
Node: Lcomm131138
Node: Lflags131886
Node: Line132080
Node: Linkonce132999
Node: Ln134228
Node: MRI134389
Node: List134727
Node: Long135335
Node: Macro135521
Node: Altmacro140084
Node: Noaltmacro141414
Node: Nolist141582
Node: Octa142012
Node: Org142346
Node: P2align143629
Node: Previous145557
Node: PopSection146251
Node: Print146759
Node: Protected146988
Node: Psize147635
Node: Purgem148319
Node: PushSection148540
Node: Quad149097
Node: Rept149552
Node: Sbttl149965
Node: Scl150330
Node: Section150671
Node: Set155811
Node: Short156448
Node: Single156768
Node: Size157113
Node: Sleb128157785
Node: Skip158107
Node: Space158429
Node: Stab159068
Node: String161070
Node: Struct161496
Node: SubSection162219
Node: Symver162780
Node: Tag165171
Node: Text165551
Node: Title165870
Node: Type166249
Node: Uleb128167326
Node: Val167650
Node: Version167900
Node: VTableEntry168175
Node: VTableInherit168465
Node: Warning168911
Node: Weak169145
Node: Weakref169814
Node: Word170779
Node: Deprecated172625
Node: Machine Dependencies172860
Node: Alpha-Dependent175624
Node: Alpha Notes176038
Node: Alpha Options176319
Node: Alpha Syntax178517
Node: Alpha-Chars178986
Node: Alpha-Regs179217
Node: Alpha-Relocs179604
Node: Alpha Floating Point185862
Node: Alpha Directives186084
Node: Alpha Opcodes191607
Node: ARC-Dependent191902
Node: ARC Options192285
Node: ARC Syntax193354
Node: ARC-Chars193586
Node: ARC-Regs193718
Node: ARC Floating Point193842
Node: ARC Directives194153
Node: ARC Opcodes200124
Node: ARM-Dependent200350
Node: ARM Options200777
Node: ARM Syntax206571
Node: ARM-Chars206803
Node: ARM-Regs207327
Node: ARM Floating Point207512
Node: ARM Directives207711
Node: ARM Opcodes214075
Node: ARM Mapping Symbols216163
Node: BFIN-Dependent216942
Node: BFIN Syntax217196
Node: BFIN Directives222893
Node: CRIS-Dependent223300
Node: CRIS-Opts223646
Ref: march-option225264
Node: CRIS-Expand227081
Node: CRIS-Symbols228264
Node: CRIS-Syntax229433
Node: CRIS-Chars229769
Node: CRIS-Pic230320
Ref: crispic230516
Node: CRIS-Regs234056
Node: CRIS-Pseudos234473
Ref: crisnous235249
Node: D10V-Dependent236531
Node: D10V-Opts236882
Node: D10V-Syntax237845
Node: D10V-Size238374
Node: D10V-Subs239347
Node: D10V-Chars240382
Node: D10V-Regs241986
Node: D10V-Addressing243031
Node: D10V-Word243717
Node: D10V-Float244232
Node: D10V-Opcodes244543
Node: D30V-Dependent244936
Node: D30V-Opts245289
Node: D30V-Syntax245964
Node: D30V-Size246496
Node: D30V-Subs247467
Node: D30V-Chars248502
Node: D30V-Guarded250800
Node: D30V-Regs251480
Node: D30V-Addressing252619
Node: D30V-Float253287
Node: D30V-Opcodes253598
Node: H8/300-Dependent253991
Node: H8/300 Options254401
Node: H8/300 Syntax254610
Node: H8/300-Chars254909
Node: H8/300-Regs255206
Node: H8/300-Addressing256123
Node: H8/300 Floating Point257162
Node: H8/300 Directives257487
Node: H8/300 Opcodes258613
Node: HPPA-Dependent266933
Node: HPPA Notes267366
Node: HPPA Options268122
Node: HPPA Syntax268315
Node: HPPA Floating Point269583
Node: HPPA Directives269787
Node: HPPA Opcodes278471
Node: ESA/390-Dependent278728
Node: ESA/390 Notes279188
Node: ESA/390 Options279979
Node: ESA/390 Syntax280189
Node: ESA/390 Floating Point282362
Node: ESA/390 Directives282641
Node: ESA/390 Opcodes285930
Node: i386-Dependent286192
Node: i386-Options287260
Node: i386-Syntax288450
Node: i386-Mnemonics290864
Node: i386-Regs293329
Node: i386-Prefixes295374
Node: i386-Memory298134
Node: i386-Jumps301071
Node: i386-Float302192
Node: i386-SIMD304021
Node: i386-16bit305130
Node: i386-Bugs307168
Node: i386-Arch307922
Node: i386-Notes310103
Node: i860-Dependent310961
Node: Notes-i860311357
Node: Options-i860312262
Node: Directives-i860313625
Node: Opcodes for i860314694
Node: i960-Dependent316861
Node: Options-i960317264
Node: Floating Point-i960321148
Node: Directives-i960321416
Node: Opcodes for i960323450
Node: callj-i960324067
Node: Compare-and-branch-i960324556
Node: IA-64-Dependent326460
Node: IA-64 Options326761
Node: IA-64 Syntax329921
Node: IA-64-Chars330284
Node: IA-64-Regs330514
Node: IA-64-Bits331440
Node: IA-64 Opcodes331949
Node: IP2K-Dependent332221
Node: IP2K-Opts332449
Node: M32C-Dependent332929
Node: M32C-Opts333453
Node: M32C-Modifiers333737
Node: M32R-Dependent335524
Node: M32R-Opts335845
Node: M32R-Directives340011
Node: M32R-Warnings343986
Node: M68K-Dependent346992
Node: M68K-Opts347459
Node: M68K-Syntax354838
Node: M68K-Moto-Syntax356677
Node: M68K-Float359266
Node: M68K-Directives359786
Node: M68K-opcodes361112
Node: M68K-Branch361338
Node: M68K-Chars365536
Node: M68HC11-Dependent365949
Node: M68HC11-Opts366480
Node: M68HC11-Syntax370296
Node: M68HC11-Modifiers372510
Node: M68HC11-Directives374338
Node: M68HC11-Float375714
Node: M68HC11-opcodes376242
Node: M68HC11-Branch376424
Node: MIPS-Dependent378871
Node: MIPS Opts379961
Node: MIPS Object387288
Node: MIPS Stabs388854
Node: MIPS symbol sizes389576
Node: MIPS ISA391245
Node: MIPS autoextend392394
Node: MIPS insn393124
Node: MIPS option stack393621
Node: MIPS ASE instruction generation overrides394395
Node: MMIX-Dependent395612
Node: MMIX-Opts395992
Node: MMIX-Expand399596
Node: MMIX-Syntax400911
Ref: mmixsite401268
Node: MMIX-Chars402109
Node: MMIX-Symbols402763
Node: MMIX-Regs404831
Node: MMIX-Pseudos405856
Ref: MMIX-loc405997
Ref: MMIX-local407077
Ref: MMIX-is407609
Ref: MMIX-greg407880
Ref: GREG-base408799
Ref: MMIX-byte410116
Ref: MMIX-constants410587
Ref: MMIX-prefix411233
Ref: MMIX-spec411607
Node: MMIX-mmixal411941
Node: MSP430-Dependent415438
Node: MSP430 Options415904
Node: MSP430 Syntax416190
Node: MSP430-Macros416506
Node: MSP430-Chars417237
Node: MSP430-Regs417550
Node: MSP430-Ext418110
Node: MSP430 Floating Point419931
Node: MSP430 Directives420155
Node: MSP430 Opcodes420946
Node: MSP430 Profiling Capability421341
Node: PDP-11-Dependent423670
Node: PDP-11-Options424059
Node: PDP-11-Pseudos429130
Node: PDP-11-Syntax429475
Node: PDP-11-Mnemonics430226
Node: PDP-11-Synthetic430528
Node: PJ-Dependent430746
Node: PJ Options430971
Node: PPC-Dependent431248
Node: PowerPC-Opts431535
Node: PowerPC-Pseudo433610
Node: SH-Dependent434209
Node: SH Options434621
Node: SH Syntax435549
Node: SH-Chars435822
Node: SH-Regs436116
Node: SH-Addressing436730
Node: SH Floating Point437639
Node: SH Directives438733
Node: SH Opcodes439103
Node: SH64-Dependent443425
Node: SH64 Options443788
Node: SH64 Syntax445505
Node: SH64-Chars445788
Node: SH64-Regs446088
Node: SH64-Addressing447184
Node: SH64 Directives448367
Node: SH64 Opcodes449477
Node: Sparc-Dependent450193
Node: Sparc-Opts450578
Node: Sparc-Aligned-Data452835
Node: Sparc-Float453690
Node: Sparc-Directives453891
Node: TIC54X-Dependent455851
Node: TIC54X-Opts456577
Node: TIC54X-Block457620
Node: TIC54X-Env457980
Node: TIC54X-Constants458328
Node: TIC54X-Subsyms458730
Node: TIC54X-Locals460639
Node: TIC54X-Builtins461383
Node: TIC54X-Ext463854
Node: TIC54X-Directives464425
Node: TIC54X-Macros475327
Node: TIC54X-MMRegs477437
Node: Z80-Dependent477653
Node: Z80 Options478041
Node: Z80 Syntax479464
Node: Z80-Chars480136
Node: Z80-Regs480669
Node: Z80-Case481021
Node: Z80 Floating Point481466
Node: Z80 Directives481660
Node: Z80 Opcodes483285
Node: Z8000-Dependent484627
Node: Z8000 Options485588
Node: Z8000 Syntax485805
Node: Z8000-Chars486095
Node: Z8000-Regs486328
Node: Z8000-Addressing487118
Node: Z8000 Directives488235
Node: Z8000 Opcodes489844
Node: Vax-Dependent499786
Node: VAX-Opts500303
Node: VAX-float504038
Node: VAX-directives504670
Node: VAX-opcodes505531
Node: VAX-branch505920
Node: VAX-operands508427
Node: VAX-no509190
Node: V850-Dependent509427
Node: V850 Options509825
Node: V850 Syntax512214
Node: V850-Chars512454
Node: V850-Regs512619
Node: V850 Floating Point514187
Node: V850 Directives514393
Node: V850 Opcodes515536
Node: Xtensa-Dependent521428
Node: Xtensa Options522157
Node: Xtensa Syntax524928
Node: Xtensa Opcodes526817
Node: Xtensa Registers528611
Node: Xtensa Optimizations529244
Node: Density Instructions529696
Node: Xtensa Automatic Alignment530798
Node: Xtensa Relaxation533544
Node: Xtensa Branch Relaxation534452
Node: Xtensa Call Relaxation535824
Node: Xtensa Immediate Relaxation537610
Node: Xtensa Directives540184
Node: Schedule Directive541892
Node: Longcalls Directive542232
Node: Transform Directive542776
Node: Literal Directive543518
Node: Literal Position Directive545303
Node: Literal Prefix Directive547002
Node: Absolute Literals Directive549165
Node: Reporting Bugs550472
Node: Bug Criteria551196
Node: Bug Reporting551961
Node: Acknowledgements558594
Ref: Acknowledgements-Footnote-1563492
Node: GNU Free Documentation License563518
Node: Index583245
Node: Top874
Node: Overview1791
Node: Manual28283
Node: GNU Assembler29227
Node: Object Formats30398
Node: Command Line30850
Node: Input Files31937
Node: Object33918
Node: Errors34814
Node: Invoking36009
Node: a37958
Node: alternate39730
Node: D39902
Node: f40135
Node: I40643
Node: K41187
Node: L41490
Node: listing42327
Node: M43919
Node: MD48320
Node: o48746
Node: R49201
Node: statistics50231
Node: traditional-format50638
Node: v51111
Node: W51386
Node: Z52293
Node: Syntax52815
Node: Preprocessing53406
Node: Whitespace54969
Node: Comments55365
Node: Symbol Intro57518
Node: Statements58208
Node: Constants60124
Node: Characters60755
Node: Strings61257
Node: Chars63423
Node: Numbers64177
Node: Integers64717
Node: Bignums65373
Node: Flonums65729
Node: Sections67476
Node: Secs Background67854
Node: Ld Sections72893
Node: As Sections75277
Node: Sub-Sections76187
Node: bss79334
Node: Symbols80284
Node: Labels80932
Node: Setting Symbols81663
Node: Symbol Names82159
Node: Dot86524
Node: Symbol Attributes86971
Node: Symbol Value87708
Node: Symbol Type88753
Node: a.out Symbols89141
Node: Symbol Desc89403
Node: Symbol Other89698
Node: COFF Symbols89867
Node: SOM Symbols90540
Node: Expressions90982
Node: Empty Exprs91731
Node: Integer Exprs92078
Node: Arguments92473
Node: Operators93579
Node: Prefix Ops93914
Node: Infix Ops94242
Node: Pseudo Ops96632
Node: Abort101827
Node: ABORT102232
Node: Align102419
Node: Ascii104701
Node: Asciz105010
Node: Balign105255
Node: Byte107118
Node: Comm107356
Node: CFI directives108730
Node: LNS directives111082
Node: Data113159
Node: Def113486
Node: Desc113718
Node: Dim114218
Node: Double114475
Node: Eject114813
Node: Else114988
Node: Elseif115284
Node: End115574
Node: Endef115789
Node: Endfunc115966
Node: Endif116141
Node: Equ116402
Node: Equiv116911
Node: Eqv117467
Node: Err117831
Node: Error118142
Node: Exitm118587
Node: Extern118756
Node: Fail119017
Node: File119462
Node: Fill119939
Node: Float120903
Node: Func121245
Node: Global121835
Node: Hidden122585
Node: hword123164
Node: Ident123492
Node: If124066
Node: Incbin127125
Node: Include127820
Node: Int128371
Node: Internal128752
Node: Irp129400
Node: Irpc130297
Node: Lcomm131214
Node: Lflags131962
Node: Line132156
Node: Linkonce133075
Node: Ln134304
Node: MRI134465
Node: List134803
Node: Long135411
Node: Macro135597
Node: Altmacro140160
Node: Noaltmacro141490
Node: Nolist141658
Node: Octa142088
Node: Org142422
Node: P2align143705
Node: Previous145633
Node: PopSection146327
Node: Print146835
Node: Protected147064
Node: Psize147711
Node: Purgem148395
Node: PushSection148616
Node: Quad149173
Node: Rept149628
Node: Sbttl150041
Node: Scl150406
Node: Section150747
Node: Set155887
Node: Short156524
Node: Single156844
Node: Size157189
Node: Sleb128157861
Node: Skip158183
Node: Space158505
Node: Stab159144
Node: String161146
Node: Struct161572
Node: SubSection162295
Node: Symver162856
Node: Tag165247
Node: Text165627
Node: Title165946
Node: Type166325
Node: Uleb128167402
Node: Val167726
Node: Version167976
Node: VTableEntry168251
Node: VTableInherit168541
Node: Warning168987
Node: Weak169221
Node: Weakref169890
Node: Word170855
Node: Deprecated172701
Node: Machine Dependencies172936
Node: Alpha-Dependent175700
Node: Alpha Notes176114
Node: Alpha Options176395
Node: Alpha Syntax178593
Node: Alpha-Chars179062
Node: Alpha-Regs179293
Node: Alpha-Relocs179680
Node: Alpha Floating Point185938
Node: Alpha Directives186160
Node: Alpha Opcodes191683
Node: ARC-Dependent191978
Node: ARC Options192361
Node: ARC Syntax193430
Node: ARC-Chars193662
Node: ARC-Regs193794
Node: ARC Floating Point193918
Node: ARC Directives194229
Node: ARC Opcodes200200
Node: ARM-Dependent200426
Node: ARM Options200853
Node: ARM Syntax206647
Node: ARM-Chars206879
Node: ARM-Regs207403
Node: ARM Floating Point207588
Node: ARM Directives207787
Node: ARM Opcodes214151
Node: ARM Mapping Symbols216239
Node: BFIN-Dependent217018
Node: BFIN Syntax217272
Node: BFIN Directives222969
Node: CRIS-Dependent223376
Node: CRIS-Opts223722
Ref: march-option225340
Node: CRIS-Expand227157
Node: CRIS-Symbols228340
Node: CRIS-Syntax229509
Node: CRIS-Chars229845
Node: CRIS-Pic230396
Ref: crispic230592
Node: CRIS-Regs234132
Node: CRIS-Pseudos234549
Ref: crisnous235325
Node: D10V-Dependent236607
Node: D10V-Opts236958
Node: D10V-Syntax237921
Node: D10V-Size238450
Node: D10V-Subs239423
Node: D10V-Chars240458
Node: D10V-Regs242062
Node: D10V-Addressing243107
Node: D10V-Word243793
Node: D10V-Float244308
Node: D10V-Opcodes244619
Node: D30V-Dependent245012
Node: D30V-Opts245365
Node: D30V-Syntax246040
Node: D30V-Size246572
Node: D30V-Subs247543
Node: D30V-Chars248578
Node: D30V-Guarded250876
Node: D30V-Regs251556
Node: D30V-Addressing252695
Node: D30V-Float253363
Node: D30V-Opcodes253674
Node: H8/300-Dependent254067
Node: H8/300 Options254477
Node: H8/300 Syntax254686
Node: H8/300-Chars254985
Node: H8/300-Regs255282
Node: H8/300-Addressing256199
Node: H8/300 Floating Point257238
Node: H8/300 Directives257563
Node: H8/300 Opcodes258689
Node: HPPA-Dependent267009
Node: HPPA Notes267442
Node: HPPA Options268198
Node: HPPA Syntax268391
Node: HPPA Floating Point269659
Node: HPPA Directives269863
Node: HPPA Opcodes278547
Node: ESA/390-Dependent278804
Node: ESA/390 Notes279264
Node: ESA/390 Options280055
Node: ESA/390 Syntax280265
Node: ESA/390 Floating Point282438
Node: ESA/390 Directives282717
Node: ESA/390 Opcodes286006
Node: i386-Dependent286268
Node: i386-Options287336
Node: i386-Syntax288526
Node: i386-Mnemonics290940
Node: i386-Regs293405
Node: i386-Prefixes295450
Node: i386-Memory298210
Node: i386-Jumps301147
Node: i386-Float302268
Node: i386-SIMD304097
Node: i386-16bit305206
Node: i386-Bugs307244
Node: i386-Arch307998
Node: i386-Notes310179
Node: i860-Dependent311037
Node: Notes-i860311433
Node: Options-i860312338
Node: Directives-i860313701
Node: Opcodes for i860314770
Node: i960-Dependent316937
Node: Options-i960317340
Node: Floating Point-i960321224
Node: Directives-i960321492
Node: Opcodes for i960323526
Node: callj-i960324143
Node: Compare-and-branch-i960324632
Node: IA-64-Dependent326536
Node: IA-64 Options326837
Node: IA-64 Syntax329997
Node: IA-64-Chars330360
Node: IA-64-Regs330590
Node: IA-64-Bits331516
Node: IA-64 Opcodes332025
Node: IP2K-Dependent332297
Node: IP2K-Opts332525
Node: M32C-Dependent333005
Node: M32C-Opts333529
Node: M32C-Modifiers333813
Node: M32R-Dependent335600
Node: M32R-Opts335921
Node: M32R-Directives340087
Node: M32R-Warnings344062
Node: M68K-Dependent347068
Node: M68K-Opts347535
Node: M68K-Syntax354914
Node: M68K-Moto-Syntax356753
Node: M68K-Float359342
Node: M68K-Directives359862
Node: M68K-opcodes361188
Node: M68K-Branch361414
Node: M68K-Chars365612
Node: M68HC11-Dependent366025
Node: M68HC11-Opts366556
Node: M68HC11-Syntax370372
Node: M68HC11-Modifiers372586
Node: M68HC11-Directives374414
Node: M68HC11-Float375790
Node: M68HC11-opcodes376318
Node: M68HC11-Branch376500
Node: MIPS-Dependent378947
Node: MIPS Opts380037
Node: MIPS Object387364
Node: MIPS Stabs388930
Node: MIPS symbol sizes389652
Node: MIPS ISA391321
Node: MIPS autoextend392470
Node: MIPS insn393200
Node: MIPS option stack393697
Node: MIPS ASE instruction generation overrides394471
Node: MMIX-Dependent395688
Node: MMIX-Opts396068
Node: MMIX-Expand399672
Node: MMIX-Syntax400987
Ref: mmixsite401344
Node: MMIX-Chars402185
Node: MMIX-Symbols402839
Node: MMIX-Regs404907
Node: MMIX-Pseudos405932
Ref: MMIX-loc406073
Ref: MMIX-local407153
Ref: MMIX-is407685
Ref: MMIX-greg407956
Ref: GREG-base408875
Ref: MMIX-byte410192
Ref: MMIX-constants410663
Ref: MMIX-prefix411309
Ref: MMIX-spec411683
Node: MMIX-mmixal412017
Node: MSP430-Dependent415514
Node: MSP430 Options415980
Node: MSP430 Syntax416266
Node: MSP430-Macros416582
Node: MSP430-Chars417313
Node: MSP430-Regs417626
Node: MSP430-Ext418186
Node: MSP430 Floating Point420007
Node: MSP430 Directives420231
Node: MSP430 Opcodes421022
Node: MSP430 Profiling Capability421417
Node: PDP-11-Dependent423746
Node: PDP-11-Options424135
Node: PDP-11-Pseudos429206
Node: PDP-11-Syntax429551
Node: PDP-11-Mnemonics430302
Node: PDP-11-Synthetic430604
Node: PJ-Dependent430822
Node: PJ Options431047
Node: PPC-Dependent431324
Node: PowerPC-Opts431611
Node: PowerPC-Pseudo433686
Node: SH-Dependent434285
Node: SH Options434697
Node: SH Syntax435625
Node: SH-Chars435898
Node: SH-Regs436192
Node: SH-Addressing436806
Node: SH Floating Point437715
Node: SH Directives438809
Node: SH Opcodes439179
Node: SH64-Dependent443501
Node: SH64 Options443864
Node: SH64 Syntax445581
Node: SH64-Chars445864
Node: SH64-Regs446164
Node: SH64-Addressing447260
Node: SH64 Directives448443
Node: SH64 Opcodes449553
Node: Sparc-Dependent450269
Node: Sparc-Opts450654
Node: Sparc-Aligned-Data452911
Node: Sparc-Float453766
Node: Sparc-Directives453967
Node: TIC54X-Dependent455927
Node: TIC54X-Opts456653
Node: TIC54X-Block457696
Node: TIC54X-Env458056
Node: TIC54X-Constants458404
Node: TIC54X-Subsyms458806
Node: TIC54X-Locals460715
Node: TIC54X-Builtins461459
Node: TIC54X-Ext463930
Node: TIC54X-Directives464501
Node: TIC54X-Macros475403
Node: TIC54X-MMRegs477513
Node: Z80-Dependent477729
Node: Z80 Options478117
Node: Z80 Syntax479540
Node: Z80-Chars480212
Node: Z80-Regs480745
Node: Z80-Case481097
Node: Z80 Floating Point481542
Node: Z80 Directives481736
Node: Z80 Opcodes483361
Node: Z8000-Dependent484703
Node: Z8000 Options485664
Node: Z8000 Syntax485881
Node: Z8000-Chars486171
Node: Z8000-Regs486404
Node: Z8000-Addressing487194
Node: Z8000 Directives488311
Node: Z8000 Opcodes489920
Node: Vax-Dependent499862
Node: VAX-Opts500379
Node: VAX-float504114
Node: VAX-directives504746
Node: VAX-opcodes505607
Node: VAX-branch505996
Node: VAX-operands508503
Node: VAX-no509266
Node: V850-Dependent509503
Node: V850 Options509901
Node: V850 Syntax512290
Node: V850-Chars512530
Node: V850-Regs512695
Node: V850 Floating Point514263
Node: V850 Directives514469
Node: V850 Opcodes515612
Node: Xtensa-Dependent521504
Node: Xtensa Options522233
Node: Xtensa Syntax525004
Node: Xtensa Opcodes526893
Node: Xtensa Registers528687
Node: Xtensa Optimizations529320
Node: Density Instructions529772
Node: Xtensa Automatic Alignment530874
Node: Xtensa Relaxation533620
Node: Xtensa Branch Relaxation534528
Node: Xtensa Call Relaxation535900
Node: Xtensa Immediate Relaxation537686
Node: Xtensa Directives540260
Node: Schedule Directive541968
Node: Longcalls Directive542308
Node: Transform Directive542852
Node: Literal Directive543594
Node: Literal Position Directive545379
Node: Literal Prefix Directive547078
Node: Absolute Literals Directive549241
Node: Reporting Bugs550548
Node: Bug Criteria551272
Node: Bug Reporting552037
Node: Acknowledgements558670
Ref: Acknowledgements-Footnote-1563568
Node: GNU Free Documentation License563594
Node: Index583321

End Tag Table
diff --git a/legacy/gcc/gcc/ginclude/stdarg.h b/legacy/gcc/gcc/ginclude/stdarg.h
index 3304fce..3964074 100644
--- a/legacy/gcc/gcc/ginclude/stdarg.h
+++ b/legacy/gcc/gcc/ginclude/stdarg.h
@@ -67,7 +67,7 @@

#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__) || defined(__BEOS__)

#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__) || defined(__BEOS__) || defined(__HAIKU__)

typedef char *__gnuc_va_list;
#else
typedef void *__gnuc_va_list;
@@ -143,7 +143,7 @@
/* Define va_list, if desired, from __gnuc_va_list. */
/* We deliberately do not define va_list when called from
   stdio.h, because ANSI C says that stdio.h is not supposed to define
   va_list.  stdio.h needs to have access to that data type, 
   va_list.  stdio.h needs to have access to that data type,
   but must not use that name.  It should use the name __gnuc_va_list,
   which is safe because it is reserved for the implementation.  */

diff --git a/legacy/gcc/gcc/ginclude/stdbool.h b/legacy/gcc/gcc/ginclude/stdbool.h
index 3afe7d4..e19bcb1 100644
--- a/legacy/gcc/gcc/ginclude/stdbool.h
+++ b/legacy/gcc/gcc/ginclude/stdbool.h
@@ -1,8 +1,8 @@
/* stdbool.h for GNU.  */
#ifndef __STDBOOL_H__
#define __STDBOOL_H__	1

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

	typedef unsigned char _Bool;
	#define bool _Bool
	#define false 0
diff --git a/legacy/gcc/gcc/ginclude/stddef.h b/legacy/gcc/gcc/ginclude/stddef.h
index 7ac9f13..67ba1e4 100644
--- a/legacy/gcc/gcc/ginclude/stddef.h
+++ b/legacy/gcc/gcc/ginclude/stddef.h
@@ -168,9 +168,9 @@
#endif
#if !(defined (__GNUG__) && defined (size_t))

typedef __SIZE_TYPE__ size_t;
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

typedef long ssize_t;
#endif /* __BEOS__ */
#endif /* __BEOS__ || __HAIKU__ */
#endif /* !(defined (__GNUG__) && defined (size_t)) */
#endif /* __size_t */
#endif /* _SIZET_ */
@@ -230,7 +230,7 @@
   symbols in the _FOO_T_ family, stays defined even after its
   corresponding type is defined).  If we define wchar_t, then we
   must undef _WCHAR_T_; for BSD/386 1.1 (and perhaps others), if
   we undef _WCHAR_T_, then we must also define rune_t, since 
   we undef _WCHAR_T_, then we must also define rune_t, since
   headers like runetype.h assume that if machine/ansi.h is included,
   and _BSD_WCHAR_T_ is not defined, then rune_t is available.
   machine/ansi.h says, "Note that _WCHAR_T_ and _RUNE_T_ must be of
diff --git a/legacy/gcc/gcc/ginclude/varargs.h b/legacy/gcc/gcc/ginclude/varargs.h
index 57aa325..19bb637 100644
--- a/legacy/gcc/gcc/ginclude/varargs.h
+++ b/legacy/gcc/gcc/ginclude/varargs.h
@@ -68,7 +68,7 @@
#ifdef _ANSI_STDARG_H_
#define _VA_LIST_
#endif
#define _ANSI_STDARG_H_ 
#define _ANSI_STDARG_H_

#undef va_alist
#undef va_dcl
@@ -101,7 +101,7 @@

#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__BEOS__)

#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__BEOS__) || defined(__HAIKU__)

typedef char *__gnuc_va_list;
#else
typedef void *__gnuc_va_list;
diff --git a/legacy/gcc/libstdc++/std/bastring.h b/legacy/gcc/libstdc++/std/bastring.h
index cad256c..9749c3c 100644
--- a/legacy/gcc/libstdc++/std/bastring.h
+++ b/legacy/gcc/libstdc++/std/bastring.h
@@ -61,12 +61,12 @@

#endif

#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

// Needed for atomic_add():
typedef long int32;
typedef volatile long vint32;
extern "C" int32 atomic_add(vint32* value, int32 addvalue);
#endif	/* __BEOS__ */
#endif	/* __BEOS__ || __HAIKU__ */

template <class charT, class traits = string_char_traits<charT>,
	  class Allocator = alloc >
@@ -79,7 +79,7 @@

    charT* data () { return reinterpret_cast<charT *>(this + 1); }
    charT& operator[] (size_t s) { return data () [s]; }
#ifdef __BEOS__
#if defined(__BEOS__) || defined(__HAIKU__)

    charT* grab () { if (selfish) return clone (); atomic_add((vint32*) &ref, 1); return data (); }
    void release() { if (atomic_add((int32*) &ref, -1) == 1) delete this; }
#else
@@ -89,8 +89,8 @@
      {
	size_t __val;
	// This opcode exists as a .byte instead of as a mnemonic for the
	// benefit of SCO OpenServer 5.  The system assembler (which is 
	// essentially required on this target) can't assemble xaddl in 
	// benefit of SCO OpenServer 5.  The system assembler (which is
	// essentially required on this target) can't assemble xaddl in
	//COFF mode.
	asm (".byte 0xf0, 0x0f, 0xc1, 0x02" // lock; xaddl %eax, (%edx)
	    : "=a" (__val)
@@ -119,7 +119,7 @@
#else
    void release () { if (--ref == 0) delete this; }
#endif
#endif /* __BEOS__ */
#endif /* __BEOS__ || __HAIKU__ */
    inline static void * operator new (size_t, size_t);
    inline static void operator delete (void *);
    inline static Rep* create (size_t);
@@ -221,7 +221,7 @@

  void push_back(charT __c)
  { append(1, __c); }
  

  basic_string& assign (const basic_string& str, size_type pos = 0,
			size_type n = npos)
    { return replace (0, npos, str, pos, n); }
diff --git a/legacy/gcc/libstdc++/stl/defalloc.h b/legacy/gcc/libstdc++/stl/defalloc.h
index 40d6579..3eb4c7a 100644
--- a/legacy/gcc/libstdc++/stl/defalloc.h
+++ b/legacy/gcc/libstdc++/stl/defalloc.h
@@ -18,7 +18,7 @@
// This file WILL BE REMOVED in a future release.
//
// DO NOT USE THIS FILE unless you have an old container implementation
// that requires an allocator with the HP-style interface.  
// that requires an allocator with the HP-style interface.
//
// Standard-conforming allocators have a very different interface.  The
// standard default allocator is declared in the header <memory>.
@@ -30,7 +30,7 @@
#include <stddef.h>
#include <stdlib.h>
#include <limits.h>
#if __BEOS__

#if defined(__BEOS__) || defined(__HAIKU__)

# include <stdio.h>
#else
#include <iostream.h>
@@ -43,10 +43,10 @@
    set_new_handler(0);
    T* tmp = (T*)(::operator new((size_t)(size * sizeof(T))));
    if (tmp == 0) {
#if __BEOS__

#if defined(__BEOS__) || defined(__HAIKU__)

	fprintf(stderr, "out of memory\n");
#else
	cerr << "out of memory" << endl; 
	cerr << "out of memory" << endl;
#endif
	exit(1);
    }
@@ -69,19 +69,19 @@
    typedef const T& const_reference;
    typedef size_t size_type;
    typedef ptrdiff_t difference_type;
    pointer allocate(size_type n) { 
    pointer allocate(size_type n) {
	return ::allocate((difference_type)n, (pointer)0);
    }
    void deallocate(pointer p) { ::deallocate(p); }
    pointer address(reference x) { return (pointer)&x; }
    const_pointer const_address(const_reference x) { 
	return (const_pointer)&x; 
    const_pointer const_address(const_reference x) {
	return (const_pointer)&x;
    }
    size_type init_page_size() { 
	return max(size_type(1), size_type(4096/sizeof(T))); 
    size_type init_page_size() {
	return max(size_type(1), size_type(4096/sizeof(T)));
    }
    size_type max_size() const { 
	return max(size_type(1), size_type(UINT_MAX/sizeof(T))); 
    size_type max_size() const {
	return max(size_type(1), size_type(UINT_MAX/sizeof(T)));
    }
};

diff --git a/legacy/gcc/libstdc++/stl/stl_alloc.h b/legacy/gcc/libstdc++/stl/stl_alloc.h
index f5d7e3f..324ea90 100644
--- a/legacy/gcc/libstdc++/stl/stl_alloc.h
+++ b/legacy/gcc/libstdc++/stl/stl_alloc.h
@@ -42,7 +42,7 @@
#   include <new>
#   define __THROW_BAD_ALLOC throw bad_alloc()
#elif !defined(__THROW_BAD_ALLOC)
#if __BEOS__

#if defined(__BEOS__) || defined(__HAIKU__)

#   include <stdio.h>
#   define __THROW_BAD_ALLOC fprintf(stderr, "out of memory\n"); exit(1)
#else
@@ -329,7 +329,7 @@
  // instead of enum { x = N }, but few compilers accept the former.
# ifndef __SUNPRO_CC
    enum {_ALIGN = 8};
#  if defined __BEOS__

#  if defined __BEOS__ || defined(__HAIKU__)

    enum {_MAX_BYTES = 0};
#  else
    enum {_MAX_BYTES = 128};
@@ -710,7 +710,7 @@
__default_alloc_template<__threads, __inst>::_Obj* __VOLATILE
__default_alloc_template<__threads, __inst> ::_S_free_list[
    _NFREELISTS
#if defined __BEOS__

#if defined(__BEOS__) || defined(__HAIKU__)

] = { };
#else
] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
diff --git a/legacy/gcc/libstdc++/stl/stl_config.h b/legacy/gcc/libstdc++/stl/stl_config.h
index 872813f..2e29bca 100644
--- a/legacy/gcc/libstdc++/stl/stl_config.h
+++ b/legacy/gcc/libstdc++/stl/stl_config.h
@@ -291,7 +291,7 @@
    !defined(__STL_NON_TYPE_TMPL_PARAM_BUG) && \
    !defined(__STL_LIMITED_DEFAULT_TEMPLATES) && \
    !defined(__STL_USE_SGI_ALLOCATORS) || \
     defined(__BEOS__)
     (defined(__BEOS__) || defined(__HAIKU__))
#   define __STL_USE_STD_ALLOCATORS
# endif

diff --git a/legacy/gcc/gcc/config/i386/haiku.h b/legacy/gcc/gcc/config/i386/haiku.h
index 2cf38e6..ecc5f55 100644
--- a/legacy/gcc/gcc/config/i386/haiku.h
+++ b/legacy/gcc/gcc/config/i386/haiku.h
@@ -144,21 +144,21 @@

#undef SIZE_TYPE
#define SIZE_TYPE "long unsigned int"
 

#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "long int"
  

#undef WCHAR_TYPE
#define WCHAR_TYPE "short unsigned int"
   

#undef WCHAR_UNSIGNED
#define WCHAR_UNSIGNED 1

#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 16
    

#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-D__ELF__ -D__HAIKU__ -D__BEOS__ -D__INTEL__ -D_X86_=1 \
#define CPP_PREDEFINES "-D__ELF__ -D__HAIKU__ -D__INTEL__ -D_X86_=1 \
-D__stdcall=__attribute__((__stdcall__)) \
-D__cdecl=__attribute__((__cdecl__)) \
-D__declspec(x)=__attribute__((x)) \
@@ -195,7 +195,7 @@
#define LIB_SPEC "-lroot"

/* gcc runtime lib is built into libroot.so on Haiku */
/* ??? This is gonna be lovely when the next release of gcc has 
/* ??? This is gonna be lovely when the next release of gcc has
   some new symbol in, so that links start failing.  */
#undef LIBGCC_SPEC
#define LIBGCC_SPEC ""
@@ -269,7 +269,7 @@
  ((DECL_MACHINE_ATTRIBUTES (DECL) != NULL_TREE) \
   || (TREE_CODE (DECL) == VAR_DECL && DECL_VIRTUAL_P (DECL)))

/* Used only here locally.  If the decl has been exported, emit the 
/* Used only here locally.  If the decl has been exported, emit the
   necessary assembly.  */

#define ASM_EXPORT_DECL(FILE, NAME, DECL)				\
@@ -490,7 +490,7 @@
/* [bonefish]:
    Review! */
#undef ASM_IDENTIFY_GCC
#define ASM_IDENTIFY_GCC(FILE) 
#define ASM_IDENTIFY_GCC(FILE)

/* required to compile winnt.c */
/* [bonefish]:
@@ -520,7 +520,7 @@
#define EXTRA_SECTIONS in_const, in_ctors, in_dtors, in_drectve

/* [zooey]:
   '#pragma interface' seems to trigger a bug which causes 
   '#pragma interface' seems to trigger a bug which causes
   global constructors and destructors (keyed to the first function in
   a translation unit) not being generated, causing the link to fail.
   So we ignore '#pragma interface' for Haiku.