frame.c (find_fde): Convert for loop to do-while so compiler sees it's always executed at least once.
* frame.c (find_fde): Convert for loop to do-while so compiler sees it's always executed at least once. * libgcc2.c (BBINBUFSIZE): Kill. (__bb_init_prg): Use fgets. (__bb_exit_trace_func): Don't paste strings. * unroll.c (unroll_loop): Initialize unroll_type, not unroll_number, and tweak logic to match. * i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in all failure paths. (ix86_flags_dependant): Likewise. Disentangle control flow. (ix86_sched_reorder): Break guts out to ix86_sched_reorder_pentium and ix86_sched_reorder_ppro. (ix86_sched_reorder_ppro): Initialize pair2 and insnp before any possible use. * i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't use string concatenation. Don't save and restore esi. * fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def. (machname.h): Remove script to separate file. Use two-step sequence so target is not created if script fails. * fixinc/gen-machname.h: New file. Handle case where no non-reserved identifiers are defined. * fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is an empty string, machine_name doesn't need to do anything at all. (is_cxx_header): Add more cases to regexp. * fixinc/fixlib.h: Update prototype. * fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of mn_get_regexps. * fixinc/fixincl.c: Define NO_BOGOSITY. * fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out. (hp_sysfile): Add missing comma. (math_exception): Put the wrapper ifdefs at the beginning and the end of the file. * fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate. From-SVN: r31744
This commit is contained in:
parent
f232183759
commit
78a0d70cdf
@ -4917,7 +4917,7 @@ ix86_expand_int_movcc (operands)
|
||||
{
|
||||
/* Try a few things more with specific constants and a variable. */
|
||||
|
||||
optab op = NULL;
|
||||
optab op;
|
||||
rtx var, orig_out, out, tmp;
|
||||
|
||||
if (optimize_size)
|
||||
@ -4933,6 +4933,8 @@ ix86_expand_int_movcc (operands)
|
||||
operands[3] = constm1_rtx, op = and_optab;
|
||||
else if (INTVAL (operands[2]) == -1)
|
||||
operands[3] = const0_rtx, op = ior_optab;
|
||||
else
|
||||
return 0; /* FAIL */
|
||||
}
|
||||
else if (GET_CODE (operands[3]) == CONST_INT)
|
||||
{
|
||||
@ -4941,9 +4943,10 @@ ix86_expand_int_movcc (operands)
|
||||
operands[2] = constm1_rtx, op = and_optab;
|
||||
else if (INTVAL (operands[3]) == -1)
|
||||
operands[2] = const0_rtx, op = ior_optab;
|
||||
else
|
||||
return 0; /* FAIL */
|
||||
}
|
||||
|
||||
if (op == NULL)
|
||||
else
|
||||
return 0; /* FAIL */
|
||||
|
||||
orig_out = operands[0];
|
||||
@ -5901,17 +5904,21 @@ ix86_flags_dependant (insn, dep_insn, insn_type)
|
||||
set = SET_DEST (XVECEXP (PATTERN (dep_insn), 0, 0));
|
||||
set2 = SET_DEST (XVECEXP (PATTERN (dep_insn), 0, 0));
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
|
||||
if (set && GET_CODE (set) == REG && REGNO (set) == FLAGS_REG)
|
||||
{
|
||||
/* This test is true if the dependant insn reads the flags but
|
||||
not any other potentially set register. */
|
||||
if (reg_overlap_mentioned_p (set, PATTERN (insn))
|
||||
&& (!set2 || !reg_overlap_mentioned_p (set2, PATTERN (insn))))
|
||||
return 1;
|
||||
}
|
||||
if (GET_CODE (set) != REG || REGNO (set) != FLAGS_REG)
|
||||
return 0;
|
||||
|
||||
return 0;
|
||||
/* This test is true if the dependant insn reads the flags but
|
||||
not any other potentially set register. */
|
||||
if (!reg_overlap_mentioned_p (set, PATTERN (insn)))
|
||||
return 0;
|
||||
|
||||
if (set2 && reg_overlap_mentioned_p (set2, PATTERN (insn)))
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* A subroutine of ix86_adjust_cost -- return true iff INSN has a memory
|
||||
@ -6208,19 +6215,170 @@ ix86_pent_find_pair (e_ready, ready, type, first)
|
||||
return bestinsnp;
|
||||
}
|
||||
|
||||
/* Subroutines of ix86_sched_reorder. */
|
||||
|
||||
void
|
||||
ix86_sched_reorder_pentium (ready, e_ready)
|
||||
rtx *ready;
|
||||
rtx *e_ready;
|
||||
{
|
||||
enum attr_pent_pair pair1, pair2;
|
||||
rtx *insnp;
|
||||
|
||||
/* This wouldn't be necessary if Haifa knew that static insn ordering
|
||||
is important to which pipe an insn is issued to. So we have to make
|
||||
some minor rearrangements. */
|
||||
|
||||
pair1 = ix86_safe_pent_pair (*e_ready);
|
||||
|
||||
/* If the first insn is non-pairable, let it be. */
|
||||
if (pair1 == PENT_PAIR_NP)
|
||||
return;
|
||||
|
||||
pair2 = PENT_PAIR_NP;
|
||||
insnp = 0;
|
||||
|
||||
/* If the first insn is UV or PV pairable, search for a PU
|
||||
insn to go with. */
|
||||
if (pair1 == PENT_PAIR_UV || pair1 == PENT_PAIR_PV)
|
||||
{
|
||||
insnp = ix86_pent_find_pair (e_ready-1, ready,
|
||||
PENT_PAIR_PU, *e_ready);
|
||||
if (insnp)
|
||||
pair2 = PENT_PAIR_PU;
|
||||
}
|
||||
|
||||
/* If the first insn is PU or UV pairable, search for a PV
|
||||
insn to go with. */
|
||||
if (pair2 == PENT_PAIR_NP
|
||||
&& (pair1 == PENT_PAIR_PU || pair1 == PENT_PAIR_UV))
|
||||
{
|
||||
insnp = ix86_pent_find_pair (e_ready-1, ready,
|
||||
PENT_PAIR_PV, *e_ready);
|
||||
if (insnp)
|
||||
pair2 = PENT_PAIR_PV;
|
||||
}
|
||||
|
||||
/* If the first insn is pairable, search for a UV
|
||||
insn to go with. */
|
||||
if (pair2 == PENT_PAIR_NP)
|
||||
{
|
||||
insnp = ix86_pent_find_pair (e_ready-1, ready,
|
||||
PENT_PAIR_UV, *e_ready);
|
||||
if (insnp)
|
||||
pair2 = PENT_PAIR_UV;
|
||||
}
|
||||
|
||||
if (pair2 == PENT_PAIR_NP)
|
||||
return;
|
||||
|
||||
/* Found something! Decide if we need to swap the order. */
|
||||
if (pair1 == PENT_PAIR_PV || pair2 == PENT_PAIR_PU
|
||||
|| (pair1 == PENT_PAIR_UV && pair2 == PENT_PAIR_UV
|
||||
&& ix86_safe_memory (*e_ready) == MEMORY_BOTH
|
||||
&& ix86_safe_memory (*insnp) == MEMORY_LOAD))
|
||||
ix86_reorder_insn (insnp, e_ready);
|
||||
else
|
||||
ix86_reorder_insn (insnp, e_ready - 1);
|
||||
}
|
||||
|
||||
void
|
||||
ix86_sched_reorder_ppro (ready, e_ready)
|
||||
rtx *ready;
|
||||
rtx *e_ready;
|
||||
{
|
||||
rtx decode[3];
|
||||
enum attr_ppro_uops cur_uops;
|
||||
int issued_this_cycle;
|
||||
rtx *insnp;
|
||||
int i;
|
||||
|
||||
/* At this point .ppro.decode contains the state of the three
|
||||
decoders from last "cycle". That is, those insns that were
|
||||
actually independent. But here we're scheduling for the
|
||||
decoder, and we may find things that are decodable in the
|
||||
same cycle. */
|
||||
|
||||
memcpy (decode, ix86_sched_data.ppro.decode, sizeof(decode));
|
||||
issued_this_cycle = 0;
|
||||
|
||||
insnp = e_ready;
|
||||
cur_uops = ix86_safe_ppro_uops (*insnp);
|
||||
|
||||
/* If the decoders are empty, and we've a complex insn at the
|
||||
head of the priority queue, let it issue without complaint. */
|
||||
if (decode[0] == NULL)
|
||||
{
|
||||
if (cur_uops == PPRO_UOPS_MANY)
|
||||
{
|
||||
decode[0] = *insnp;
|
||||
goto ppro_done;
|
||||
}
|
||||
|
||||
/* Otherwise, search for a 2-4 uop unsn to issue. */
|
||||
while (cur_uops != PPRO_UOPS_FEW)
|
||||
{
|
||||
if (insnp == ready)
|
||||
break;
|
||||
cur_uops = ix86_safe_ppro_uops (*--insnp);
|
||||
}
|
||||
|
||||
/* If so, move it to the head of the line. */
|
||||
if (cur_uops == PPRO_UOPS_FEW)
|
||||
ix86_reorder_insn (insnp, e_ready);
|
||||
|
||||
/* Issue the head of the queue. */
|
||||
issued_this_cycle = 1;
|
||||
decode[0] = *e_ready--;
|
||||
}
|
||||
|
||||
/* Look for simple insns to fill in the other two slots. */
|
||||
for (i = 1; i < 3; ++i)
|
||||
if (decode[i] == NULL)
|
||||
{
|
||||
if (ready >= e_ready)
|
||||
goto ppro_done;
|
||||
|
||||
insnp = e_ready;
|
||||
cur_uops = ix86_safe_ppro_uops (*insnp);
|
||||
while (cur_uops != PPRO_UOPS_ONE)
|
||||
{
|
||||
if (insnp == ready)
|
||||
break;
|
||||
cur_uops = ix86_safe_ppro_uops (*--insnp);
|
||||
}
|
||||
|
||||
/* Found one. Move it to the head of the queue and issue it. */
|
||||
if (cur_uops == PPRO_UOPS_ONE)
|
||||
{
|
||||
ix86_reorder_insn (insnp, e_ready);
|
||||
decode[i] = *e_ready--;
|
||||
issued_this_cycle++;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* ??? Didn't find one. Ideally, here we would do a lazy split
|
||||
of 2-uop insns, issue one and queue the other. */
|
||||
}
|
||||
|
||||
ppro_done:
|
||||
if (issued_this_cycle == 0)
|
||||
issued_this_cycle = 1;
|
||||
ix86_sched_data.ppro.issued_this_cycle = issued_this_cycle;
|
||||
}
|
||||
|
||||
|
||||
/* We are about to being issuing insns for this clock cycle.
|
||||
Override the default sort algorithm to better slot instructions. */
|
||||
|
||||
int
|
||||
ix86_sched_reorder (dump, sched_verbose, ready, n_ready, clock_var)
|
||||
FILE *dump ATTRIBUTE_UNUSED;
|
||||
int sched_verbose ATTRIBUTE_UNUSED;
|
||||
rtx *ready;
|
||||
int n_ready, clock_var ATTRIBUTE_UNUSED;
|
||||
int n_ready;
|
||||
int clock_var ATTRIBUTE_UNUSED;
|
||||
{
|
||||
rtx *e_ready = ready + n_ready - 1;
|
||||
rtx *insnp;
|
||||
int i;
|
||||
|
||||
if (n_ready < 2)
|
||||
goto out;
|
||||
@ -6228,146 +6386,14 @@ ix86_sched_reorder (dump, sched_verbose, ready, n_ready, clock_var)
|
||||
switch (ix86_cpu)
|
||||
{
|
||||
default:
|
||||
goto out;
|
||||
break;
|
||||
|
||||
case PROCESSOR_PENTIUM:
|
||||
/* This wouldn't be necessary if Haifa knew that static insn ordering
|
||||
is important to which pipe an insn is issued to. So we have to make
|
||||
some minor rearrangements. */
|
||||
{
|
||||
enum attr_pent_pair pair1, pair2;
|
||||
|
||||
pair1 = ix86_safe_pent_pair (*e_ready);
|
||||
|
||||
/* If the first insn is non-pairable, let it be. */
|
||||
if (pair1 == PENT_PAIR_NP)
|
||||
goto out;
|
||||
pair2 = PENT_PAIR_NP;
|
||||
|
||||
/* If the first insn is UV or PV pairable, search for a PU
|
||||
insn to go with. */
|
||||
if (pair1 == PENT_PAIR_UV || pair1 == PENT_PAIR_PV)
|
||||
{
|
||||
insnp = ix86_pent_find_pair (e_ready-1, ready,
|
||||
PENT_PAIR_PU, *e_ready);
|
||||
if (insnp)
|
||||
pair2 = PENT_PAIR_PU;
|
||||
}
|
||||
|
||||
/* If the first insn is PU or UV pairable, search for a PV
|
||||
insn to go with. */
|
||||
if (pair2 == PENT_PAIR_NP
|
||||
&& (pair1 == PENT_PAIR_PU || pair1 == PENT_PAIR_UV))
|
||||
{
|
||||
insnp = ix86_pent_find_pair (e_ready-1, ready,
|
||||
PENT_PAIR_PV, *e_ready);
|
||||
if (insnp)
|
||||
pair2 = PENT_PAIR_PV;
|
||||
}
|
||||
|
||||
/* If the first insn is pairable, search for a UV
|
||||
insn to go with. */
|
||||
if (pair2 == PENT_PAIR_NP)
|
||||
{
|
||||
insnp = ix86_pent_find_pair (e_ready-1, ready,
|
||||
PENT_PAIR_UV, *e_ready);
|
||||
if (insnp)
|
||||
pair2 = PENT_PAIR_UV;
|
||||
}
|
||||
|
||||
if (pair2 == PENT_PAIR_NP)
|
||||
goto out;
|
||||
|
||||
/* Found something! Decide if we need to swap the order. */
|
||||
if (pair1 == PENT_PAIR_PV || pair2 == PENT_PAIR_PU
|
||||
|| (pair1 == PENT_PAIR_UV && pair2 == PENT_PAIR_UV
|
||||
&& ix86_safe_memory (*e_ready) == MEMORY_BOTH
|
||||
&& ix86_safe_memory (*insnp) == MEMORY_LOAD))
|
||||
ix86_reorder_insn (insnp, e_ready);
|
||||
else
|
||||
ix86_reorder_insn (insnp, e_ready - 1);
|
||||
}
|
||||
ix86_sched_reorder_pentium (ready, e_ready);
|
||||
break;
|
||||
|
||||
case PROCESSOR_PENTIUMPRO:
|
||||
{
|
||||
rtx decode[3];
|
||||
enum attr_ppro_uops cur_uops;
|
||||
int issued_this_cycle;
|
||||
|
||||
/* At this point .ppro.decode contains the state of the three
|
||||
decoders from last "cycle". That is, those insns that were
|
||||
actually independant. But here we're scheduling for the
|
||||
decoder, and we may find things that are decodable in the
|
||||
same cycle. */
|
||||
|
||||
memcpy (decode, ix86_sched_data.ppro.decode, sizeof(decode));
|
||||
issued_this_cycle = 0;
|
||||
|
||||
insnp = e_ready;
|
||||
cur_uops = ix86_safe_ppro_uops (*insnp);
|
||||
|
||||
/* If the decoders are empty, and we've a complex insn at the
|
||||
head of the priority queue, let it issue without complaint. */
|
||||
if (decode[0] == NULL)
|
||||
{
|
||||
if (cur_uops == PPRO_UOPS_MANY)
|
||||
{
|
||||
decode[0] = *insnp;
|
||||
goto ppro_done;
|
||||
}
|
||||
|
||||
/* Otherwise, search for a 2-4 uop unsn to issue. */
|
||||
while (cur_uops != PPRO_UOPS_FEW)
|
||||
{
|
||||
if (insnp == ready)
|
||||
break;
|
||||
cur_uops = ix86_safe_ppro_uops (*--insnp);
|
||||
}
|
||||
|
||||
/* If so, move it to the head of the line. */
|
||||
if (cur_uops == PPRO_UOPS_FEW)
|
||||
ix86_reorder_insn (insnp, e_ready);
|
||||
|
||||
/* Issue the head of the queue. */
|
||||
issued_this_cycle = 1;
|
||||
decode[0] = *e_ready--;
|
||||
}
|
||||
|
||||
/* Look for simple insns to fill in the other two slots. */
|
||||
for (i = 1; i < 3; ++i)
|
||||
if (decode[i] == NULL)
|
||||
{
|
||||
if (ready >= e_ready)
|
||||
goto ppro_done;
|
||||
|
||||
insnp = e_ready;
|
||||
cur_uops = ix86_safe_ppro_uops (*insnp);
|
||||
while (cur_uops != PPRO_UOPS_ONE)
|
||||
{
|
||||
if (insnp == ready)
|
||||
break;
|
||||
cur_uops = ix86_safe_ppro_uops (*--insnp);
|
||||
}
|
||||
|
||||
/* Found one. Move it to the head of the queue and issue it. */
|
||||
if (cur_uops == PPRO_UOPS_ONE)
|
||||
{
|
||||
ix86_reorder_insn (insnp, e_ready);
|
||||
decode[i] = *e_ready--;
|
||||
issued_this_cycle++;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* ??? Didn't find one. Ideally, here we would do a lazy split
|
||||
of 2-uop insns, issue one and queue the other. */
|
||||
}
|
||||
|
||||
ppro_done:
|
||||
if (issued_this_cycle == 0)
|
||||
issued_this_cycle = 1;
|
||||
ix86_sched_data.ppro.issued_this_cycle = issued_this_cycle;
|
||||
}
|
||||
ix86_sched_reorder_ppro (ready, e_ready);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1288,11 +1288,11 @@ typedef struct ix86_args {
|
||||
Note that function `__bb_trace_ret' must not change the
|
||||
machine state, especially the flag register. To grant
|
||||
this, you must output code to save and restore registers
|
||||
either in this macro or in the macros MACHINE_STATE_SAVE_RET
|
||||
and MACHINE_STATE_RESTORE_RET. The last two macros will be
|
||||
either in this macro or in the macros MACHINE_STATE_SAVE
|
||||
and MACHINE_STATE_RESTORE. The last two macros will be
|
||||
used in the function `__bb_trace_ret', so you must make
|
||||
sure that the function prologue does not change any
|
||||
register prior to saving it with MACHINE_STATE_SAVE_RET.
|
||||
register prior to saving it with MACHINE_STATE_SAVE.
|
||||
|
||||
else if profiling_block_flag != 0:
|
||||
|
||||
@ -1324,20 +1324,21 @@ emit_call_insn (gen_call (gen_rtx_MEM (Pmode, \
|
||||
On the i386 the initialization code at the begin of
|
||||
function `__bb_trace_func' contains a `sub' instruction
|
||||
therefore we handle save and restore of the flag register
|
||||
in the BLOCK_PROFILER macro. */
|
||||
in the BLOCK_PROFILER macro.
|
||||
|
||||
Note that ebx, esi, and edi are callee-save, so we don't have to
|
||||
preserve them explicitly. */
|
||||
|
||||
#define MACHINE_STATE_SAVE(ID) \
|
||||
do { \
|
||||
register int eax_ __asm__("eax"); \
|
||||
register int ecx_ __asm__("ecx"); \
|
||||
register int edx_ __asm__("edx"); \
|
||||
register int esi_ __asm__("esi"); \
|
||||
__asm__ __volatile__ ( \
|
||||
"push{l} %0\n\t" \
|
||||
"push{l} %1\n\t" \
|
||||
"push{l} %2\n\t" \
|
||||
"push{l} %3" \
|
||||
: : "r"(eax_), "r"(ecx_), "r"(edx_), "r"(esi_)); \
|
||||
__asm__ __volatile__ ("\
|
||||
push{l} %0\n\t\
|
||||
push{l} %1\n\t\
|
||||
push{l} %2" \
|
||||
: : "r"(eax_), "r"(ecx_), "r"(edx_)); \
|
||||
} while (0);
|
||||
|
||||
#define MACHINE_STATE_RESTORE(ID) \
|
||||
@ -1345,13 +1346,11 @@ do { \
|
||||
register int eax_ __asm__("eax"); \
|
||||
register int ecx_ __asm__("ecx"); \
|
||||
register int edx_ __asm__("edx"); \
|
||||
register int esi_ __asm__("esi"); \
|
||||
__asm__ __volatile__ ( \
|
||||
"pop{l} %3\n\t" \
|
||||
"pop{l} %2\n\t" \
|
||||
"pop{l} %1\n\t" \
|
||||
"pop{l} %0" \
|
||||
: "=r"(eax_), "=r"(ecx_), "=r"(edx_), "=r"(esi_)); \
|
||||
__asm__ __volatile__ ("\
|
||||
pop{l} %2\n\t\
|
||||
pop{l} %1\n\t\
|
||||
pop{l} %0" \
|
||||
: "=r"(eax_), "=r"(ecx_), "=r"(edx_)); \
|
||||
} while (0);
|
||||
|
||||
/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function,
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Makefile for GNU compilers.
|
||||
# Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
#This file is part of GNU CC.
|
||||
|
||||
@ -101,7 +101,8 @@ fixincl.x: fixincl.tpl inclhack.def
|
||||
inclhack.sh: inclhack.def inclhack.tpl hackshell.tpl
|
||||
cd $(srcdir) ; ./genfixes $@
|
||||
|
||||
fixincl.sh: inclhack.def inclhack.tpl
|
||||
# fixinc.sh, unlike the other two, has _no_ dependency on the .def file.
|
||||
fixincl.sh: inclhack.tpl
|
||||
cd $(srcdir) ; ./genfixes $@
|
||||
|
||||
clean:
|
||||
@ -137,15 +138,6 @@ Makefile: Makefile.in ../config.status
|
||||
cd .. \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
# Black magic.
|
||||
# Note dependency on ASCII. \040 = space, \011 = tab, \012 = newline.
|
||||
|
||||
machname.h: ../specs
|
||||
@tr -s '\040\011' '\012\012' < ../specs | \
|
||||
sed -n 's/^.*-D\([a-zA-Z_][a-zA-Z0-9_]*\).*$$/\1/p' | sort -u | \
|
||||
grep -v '^_[_A-Z]' > mn.T
|
||||
@echo "Forbidden identifiers: `tr '\012' ' ' <mn.T`"
|
||||
@sed 's/^/\\\\</; s/$$/\\\\>/' <mn.T | tr '\012' '|' > mn.T2
|
||||
@echo '' >>mn.T2
|
||||
@sed 's/^/#define MN_NAME_PAT "/; s/|$$/"/' < mn.T2 > machname.h
|
||||
@-rm -f mn.T mn.T2
|
||||
$(SHELL) $(srcdir)/gen-machname.h < ../specs > machname.T
|
||||
mv -f machname.T machname.h
|
||||
|
@ -566,7 +566,11 @@ FIX_PROC_HEAD( machine_name_fix )
|
||||
char scratch[SCRATCHSZ];
|
||||
size_t len;
|
||||
|
||||
mn_get_regexps (&label_re, &name_re, "machine_name_fix");
|
||||
if (mn_get_regexps (&label_re, &name_re, "machine_name_fix"))
|
||||
/* This platform doesn't need this fix. We can only get here if
|
||||
someone is running fixfixes by hand, but let's be polite. */
|
||||
goto done;
|
||||
|
||||
scratch[0] = '_';
|
||||
scratch[1] = '_';
|
||||
|
||||
|
@ -33,6 +33,8 @@ Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "server.h"
|
||||
|
||||
#define NO_BOGOSITY
|
||||
|
||||
/* Quality Assurance Marker :-)
|
||||
|
||||
Any file that contains this string is presumed to have
|
||||
|
@ -5,7 +5,7 @@
|
||||
* files which are fixed to work correctly with ANSI C and placed in a
|
||||
* directory that GNU C will search.
|
||||
*
|
||||
* This file contains 115 fixup descriptions.
|
||||
* This file contains 113 fixup descriptions.
|
||||
*
|
||||
* See README-fixinc for more information.
|
||||
*
|
||||
@ -1290,43 +1290,11 @@ const char* apzDec_Intern_AsmPatch[] = { "sed",
|
||||
#endif\n",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of No_Double_Slash fix
|
||||
*/
|
||||
#define NO_DOUBLE_SLASH_FIXIDX 28
|
||||
tSCC zNo_Double_SlashName[] =
|
||||
"no_double_slash";
|
||||
|
||||
/*
|
||||
* File name selection pattern
|
||||
*/
|
||||
#define zNo_Double_SlashList (char*)NULL
|
||||
/*
|
||||
* Machine/OS name selection pattern
|
||||
*/
|
||||
#define apzNo_Double_SlashMachs (const char**)NULL
|
||||
|
||||
/*
|
||||
* perform the C function call test
|
||||
*/
|
||||
tSCC zNo_Double_SlashFTst0[] = "double_slash";
|
||||
|
||||
#define NO_DOUBLE_SLASH_TEST_CT 1
|
||||
tTestDesc aNo_Double_SlashTests[] = {
|
||||
{ TT_FUNCTION, zNo_Double_SlashFTst0, 0 /* unused */ }, };
|
||||
|
||||
/*
|
||||
* Fix Command Arguments for No_Double_Slash
|
||||
*/
|
||||
const char* apzNo_Double_SlashPatch[] = {"no_double_slash",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Ecd_Cursor fix
|
||||
*/
|
||||
#define ECD_CURSOR_FIXIDX 29
|
||||
#define ECD_CURSOR_FIXIDX 28
|
||||
tSCC zEcd_CursorName[] =
|
||||
"ecd_cursor";
|
||||
|
||||
@ -1353,7 +1321,7 @@ const char* apzEcd_CursorPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sco5_Stat_Wrappers fix
|
||||
*/
|
||||
#define SCO5_STAT_WRAPPERS_FIXIDX 30
|
||||
#define SCO5_STAT_WRAPPERS_FIXIDX 29
|
||||
tSCC zSco5_Stat_WrappersName[] =
|
||||
"sco5_stat_wrappers";
|
||||
|
||||
@ -1386,43 +1354,11 @@ extern \"C\"\\\n\
|
||||
#endif /* __cplusplus */\\\n",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of End_Else_Label fix
|
||||
*/
|
||||
#define END_ELSE_LABEL_FIXIDX 31
|
||||
tSCC zEnd_Else_LabelName[] =
|
||||
"end_else_label";
|
||||
|
||||
/*
|
||||
* File name selection pattern
|
||||
*/
|
||||
#define zEnd_Else_LabelList (char*)NULL
|
||||
/*
|
||||
* Machine/OS name selection pattern
|
||||
*/
|
||||
#define apzEnd_Else_LabelMachs (const char**)NULL
|
||||
|
||||
/*
|
||||
* perform the C function call test
|
||||
*/
|
||||
tSCC zEnd_Else_LabelFTst0[] = "else_endif_label";
|
||||
|
||||
#define END_ELSE_LABEL_TEST_CT 1
|
||||
tTestDesc aEnd_Else_LabelTests[] = {
|
||||
{ TT_FUNCTION, zEnd_Else_LabelFTst0, 0 /* unused */ }, };
|
||||
|
||||
/*
|
||||
* Fix Command Arguments for End_Else_Label
|
||||
*/
|
||||
const char* apzEnd_Else_LabelPatch[] = {"else_endif_label",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Hp_Inline fix
|
||||
*/
|
||||
#define HP_INLINE_FIXIDX 32
|
||||
#define HP_INLINE_FIXIDX 30
|
||||
tSCC zHp_InlineName[] =
|
||||
"hp_inline";
|
||||
|
||||
@ -1458,7 +1394,7 @@ const char* apzHp_InlinePatch[] = { "sed",
|
||||
*
|
||||
* Description of Hp_Sysfile fix
|
||||
*/
|
||||
#define HP_SYSFILE_FIXIDX 33
|
||||
#define HP_SYSFILE_FIXIDX 31
|
||||
tSCC zHp_SysfileName[] =
|
||||
"hp_sysfile";
|
||||
|
||||
@ -1486,14 +1422,14 @@ tTestDesc aHp_SysfileTests[] = {
|
||||
* Fix Command Arguments for Hp_Sysfile
|
||||
*/
|
||||
const char* apzHp_SysfilePatch[] = { "sed",
|
||||
"-e", "s/(\\.\\.\\.)/(struct file * ...)/",
|
||||
"-e", "s/(\\.\\.\\.)/(struct file *, ...)/",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Cxx_Unready fix
|
||||
*/
|
||||
#define CXX_UNREADY_FIXIDX 34
|
||||
#define CXX_UNREADY_FIXIDX 32
|
||||
tSCC zCxx_UnreadyName[] =
|
||||
"cxx_unready";
|
||||
|
||||
@ -1543,7 +1479,7 @@ extern \"C\" {\\\n\
|
||||
*
|
||||
* Description of Hpux_Maxint fix
|
||||
*/
|
||||
#define HPUX_MAXINT_FIXIDX 35
|
||||
#define HPUX_MAXINT_FIXIDX 33
|
||||
tSCC zHpux_MaxintName[] =
|
||||
"hpux_maxint";
|
||||
|
||||
@ -1573,7 +1509,7 @@ const char* apzHpux_MaxintPatch[] = { "sed",
|
||||
*
|
||||
* Description of Hpux_Systime fix
|
||||
*/
|
||||
#define HPUX_SYSTIME_FIXIDX 36
|
||||
#define HPUX_SYSTIME_FIXIDX 34
|
||||
tSCC zHpux_SystimeName[] =
|
||||
"hpux_systime";
|
||||
|
||||
@ -1608,7 +1544,7 @@ const char* apzHpux_SystimePatch[] = { "sed",
|
||||
*
|
||||
* Description of Hpux8_Bogus_Inlines fix
|
||||
*/
|
||||
#define HPUX8_BOGUS_INLINES_FIXIDX 37
|
||||
#define HPUX8_BOGUS_INLINES_FIXIDX 35
|
||||
tSCC zHpux8_Bogus_InlinesName[] =
|
||||
"hpux8_bogus_inlines";
|
||||
|
||||
@ -1646,7 +1582,7 @@ const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
|
||||
*
|
||||
* Description of Hpux11_Uint32_C fix
|
||||
*/
|
||||
#define HPUX11_UINT32_C_FIXIDX 38
|
||||
#define HPUX11_UINT32_C_FIXIDX 36
|
||||
tSCC zHpux11_Uint32_CName[] =
|
||||
"hpux11_uint32_c";
|
||||
|
||||
@ -1681,7 +1617,7 @@ const char* apzHpux11_Uint32_CPatch[] = { "sed",
|
||||
*
|
||||
* Description of Isc_Omits_With_Stdc fix
|
||||
*/
|
||||
#define ISC_OMITS_WITH_STDC_FIXIDX 39
|
||||
#define ISC_OMITS_WITH_STDC_FIXIDX 37
|
||||
tSCC zIsc_Omits_With_StdcName[] =
|
||||
"isc_omits_with_stdc";
|
||||
|
||||
@ -1716,7 +1652,7 @@ const char* apzIsc_Omits_With_StdcPatch[] = { "sed",
|
||||
*
|
||||
* Description of Io_Use_Quotes fix
|
||||
*/
|
||||
#define IO_USE_QUOTES_FIXIDX 40
|
||||
#define IO_USE_QUOTES_FIXIDX 38
|
||||
tSCC zIo_Use_QuotesName[] =
|
||||
"io_use_quotes";
|
||||
|
||||
@ -1749,7 +1685,7 @@ const char* apzIo_Use_QuotesPatch[] = {"IO_use",
|
||||
*
|
||||
* Description of Io_Def_Quotes fix
|
||||
*/
|
||||
#define IO_DEF_QUOTES_FIXIDX 41
|
||||
#define IO_DEF_QUOTES_FIXIDX 39
|
||||
tSCC zIo_Def_QuotesName[] =
|
||||
"io_def_quotes";
|
||||
|
||||
@ -1782,7 +1718,7 @@ const char* apzIo_Def_QuotesPatch[] = {"IO_defn",
|
||||
*
|
||||
* Description of Ctrl_Use_Quotes fix
|
||||
*/
|
||||
#define CTRL_USE_QUOTES_FIXIDX 42
|
||||
#define CTRL_USE_QUOTES_FIXIDX 40
|
||||
tSCC zCtrl_Use_QuotesName[] =
|
||||
"ctrl_use_quotes";
|
||||
|
||||
@ -1815,7 +1751,7 @@ const char* apzCtrl_Use_QuotesPatch[] = {"CTRL_use",
|
||||
*
|
||||
* Description of Ctrl_Def_Quotes fix
|
||||
*/
|
||||
#define CTRL_DEF_QUOTES_FIXIDX 43
|
||||
#define CTRL_DEF_QUOTES_FIXIDX 41
|
||||
tSCC zCtrl_Def_QuotesName[] =
|
||||
"ctrl_def_quotes";
|
||||
|
||||
@ -1848,7 +1784,7 @@ const char* apzCtrl_Def_QuotesPatch[] = {"CTRL_defn",
|
||||
*
|
||||
* Description of Ip_Missing_Semi fix
|
||||
*/
|
||||
#define IP_MISSING_SEMI_FIXIDX 44
|
||||
#define IP_MISSING_SEMI_FIXIDX 42
|
||||
tSCC zIp_Missing_SemiName[] =
|
||||
"ip_missing_semi";
|
||||
|
||||
@ -1883,7 +1819,7 @@ const char* apzIp_Missing_SemiPatch[] = { "sed",
|
||||
*
|
||||
* Description of Irix_Multiline_Cmnt fix
|
||||
*/
|
||||
#define IRIX_MULTILINE_CMNT_FIXIDX 45
|
||||
#define IRIX_MULTILINE_CMNT_FIXIDX 43
|
||||
tSCC zIrix_Multiline_CmntName[] =
|
||||
"irix_multiline_cmnt";
|
||||
|
||||
@ -1911,7 +1847,7 @@ const char* apzIrix_Multiline_CmntPatch[] = { "sed",
|
||||
*
|
||||
* Description of Irix_Sockaddr fix
|
||||
*/
|
||||
#define IRIX_SOCKADDR_FIXIDX 46
|
||||
#define IRIX_SOCKADDR_FIXIDX 44
|
||||
tSCC zIrix_SockaddrName[] =
|
||||
"irix_sockaddr";
|
||||
|
||||
@ -1954,7 +1890,7 @@ struct sockaddr;\n",
|
||||
*
|
||||
* Description of Irix_Struct__File fix
|
||||
*/
|
||||
#define IRIX_STRUCT__FILE_FIXIDX 47
|
||||
#define IRIX_STRUCT__FILE_FIXIDX 45
|
||||
tSCC zIrix_Struct__FileName[] =
|
||||
"irix_struct__file";
|
||||
|
||||
@ -1982,7 +1918,7 @@ struct __file_s;\n",
|
||||
*
|
||||
* Description of Irix_Asm_Apostrophe fix
|
||||
*/
|
||||
#define IRIX_ASM_APOSTROPHE_FIXIDX 48
|
||||
#define IRIX_ASM_APOSTROPHE_FIXIDX 46
|
||||
tSCC zIrix_Asm_ApostropheName[] =
|
||||
"irix_asm_apostrophe";
|
||||
|
||||
@ -2017,7 +1953,7 @@ const char* apzIrix_Asm_ApostrophePatch[] = { "sed",
|
||||
*
|
||||
* Description of Isc_Fmod fix
|
||||
*/
|
||||
#define ISC_FMOD_FIXIDX 49
|
||||
#define ISC_FMOD_FIXIDX 47
|
||||
tSCC zIsc_FmodName[] =
|
||||
"isc_fmod";
|
||||
|
||||
@ -2052,7 +1988,7 @@ const char* apzIsc_FmodPatch[] = { "sed",
|
||||
*
|
||||
* Description of Motorola_Nested fix
|
||||
*/
|
||||
#define MOTOROLA_NESTED_FIXIDX 50
|
||||
#define MOTOROLA_NESTED_FIXIDX 48
|
||||
tSCC zMotorola_NestedName[] =
|
||||
"motorola_nested";
|
||||
|
||||
@ -2082,7 +2018,7 @@ const char* apzMotorola_NestedPatch[] = { "sed",
|
||||
*
|
||||
* Description of Isc_Sys_Limits fix
|
||||
*/
|
||||
#define ISC_SYS_LIMITS_FIXIDX 51
|
||||
#define ISC_SYS_LIMITS_FIXIDX 49
|
||||
tSCC zIsc_Sys_LimitsName[] =
|
||||
"isc_sys_limits";
|
||||
|
||||
@ -2118,7 +2054,7 @@ const char* apzIsc_Sys_LimitsPatch[] = { "sed",
|
||||
*
|
||||
* Description of Kandr_Concat fix
|
||||
*/
|
||||
#define KANDR_CONCAT_FIXIDX 52
|
||||
#define KANDR_CONCAT_FIXIDX 50
|
||||
tSCC zKandr_ConcatName[] =
|
||||
"kandr_concat";
|
||||
|
||||
@ -2153,7 +2089,7 @@ const char* apzKandr_ConcatPatch[] = { "sed",
|
||||
*
|
||||
* Description of Limits_Ifndefs fix
|
||||
*/
|
||||
#define LIMITS_IFNDEFS_FIXIDX 53
|
||||
#define LIMITS_IFNDEFS_FIXIDX 51
|
||||
tSCC zLimits_IfndefsName[] =
|
||||
"limits_ifndefs";
|
||||
|
||||
@ -2212,7 +2148,7 @@ const char* apzLimits_IfndefsPatch[] = { "sed",
|
||||
*
|
||||
* Description of Lynx_Void_Int fix
|
||||
*/
|
||||
#define LYNX_VOID_INT_FIXIDX 54
|
||||
#define LYNX_VOID_INT_FIXIDX 52
|
||||
tSCC zLynx_Void_IntName[] =
|
||||
"lynx_void_int";
|
||||
|
||||
@ -2247,7 +2183,7 @@ const char* apzLynx_Void_IntPatch[] = { "sed",
|
||||
*
|
||||
* Description of Lynxos_Fcntl_Proto fix
|
||||
*/
|
||||
#define LYNXOS_FCNTL_PROTO_FIXIDX 55
|
||||
#define LYNXOS_FCNTL_PROTO_FIXIDX 53
|
||||
tSCC zLynxos_Fcntl_ProtoName[] =
|
||||
"lynxos_fcntl_proto";
|
||||
|
||||
@ -2282,7 +2218,7 @@ const char* apzLynxos_Fcntl_ProtoPatch[] = { "sed",
|
||||
*
|
||||
* Description of M88k_Bad_Hypot_Opt fix
|
||||
*/
|
||||
#define M88K_BAD_HYPOT_OPT_FIXIDX 56
|
||||
#define M88K_BAD_HYPOT_OPT_FIXIDX 54
|
||||
tSCC zM88k_Bad_Hypot_OptName[] =
|
||||
"m88k_bad_hypot_opt";
|
||||
|
||||
@ -2324,7 +2260,7 @@ static __inline__ double fake_hypot (x, y)\\\n\
|
||||
*
|
||||
* Description of M88k_Bad_S_If fix
|
||||
*/
|
||||
#define M88K_BAD_S_IF_FIXIDX 57
|
||||
#define M88K_BAD_S_IF_FIXIDX 55
|
||||
tSCC zM88k_Bad_S_IfName[] =
|
||||
"m88k_bad_s_if";
|
||||
|
||||
@ -2362,7 +2298,7 @@ const char* apzM88k_Bad_S_IfPatch[] = { "sed",
|
||||
*
|
||||
* Description of M88k_Multi_Incl fix
|
||||
*/
|
||||
#define M88K_MULTI_INCL_FIXIDX 58
|
||||
#define M88K_MULTI_INCL_FIXIDX 56
|
||||
tSCC zM88k_Multi_InclName[] =
|
||||
"m88k_multi_incl";
|
||||
|
||||
@ -2404,7 +2340,7 @@ const char* apzM88k_Multi_InclPatch[] = { "sh", "-c",
|
||||
*
|
||||
* Description of Machine_Ansi_H_Va_List fix
|
||||
*/
|
||||
#define MACHINE_ANSI_H_VA_LIST_FIXIDX 59
|
||||
#define MACHINE_ANSI_H_VA_LIST_FIXIDX 57
|
||||
tSCC zMachine_Ansi_H_Va_ListName[] =
|
||||
"machine_ansi_h_va_list";
|
||||
|
||||
@ -2446,7 +2382,7 @@ const char* apzMachine_Ansi_H_Va_ListPatch[] = { "sed",
|
||||
*
|
||||
* Description of Machine_Name fix
|
||||
*/
|
||||
#define MACHINE_NAME_FIXIDX 60
|
||||
#define MACHINE_NAME_FIXIDX 58
|
||||
tSCC zMachine_NameName[] =
|
||||
"machine_name";
|
||||
|
||||
@ -2478,7 +2414,7 @@ const char* apzMachine_NamePatch[] = {"machine_name",
|
||||
*
|
||||
* Description of Math_Exception fix
|
||||
*/
|
||||
#define MATH_EXCEPTION_FIXIDX 61
|
||||
#define MATH_EXCEPTION_FIXIDX 59
|
||||
tSCC zMath_ExceptionName[] =
|
||||
"math_exception";
|
||||
|
||||
@ -2513,11 +2449,11 @@ tTestDesc aMath_ExceptionTests[] = {
|
||||
* Fix Command Arguments for Math_Exception
|
||||
*/
|
||||
const char* apzMath_ExceptionPatch[] = { "sed",
|
||||
"-e", "/struct exception/i\\\n\
|
||||
"-e", "1i\\\n\
|
||||
#ifdef __cplusplus\\\n\
|
||||
#define exception __math_exception\\\n\
|
||||
#endif\n",
|
||||
"-e", "/struct exception/a\\\n\
|
||||
"-e", "$a\\\n\
|
||||
#ifdef __cplusplus\\\n\
|
||||
#undef exception\\\n\
|
||||
#endif\n",
|
||||
@ -2527,7 +2463,7 @@ const char* apzMath_ExceptionPatch[] = { "sed",
|
||||
*
|
||||
* Description of Math_Huge_Val_From_Dbl_Max fix
|
||||
*/
|
||||
#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 62
|
||||
#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 60
|
||||
tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
|
||||
"math_huge_val_from_dbl_max";
|
||||
|
||||
@ -2574,7 +2510,7 @@ const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
|
||||
*
|
||||
* Description of Math_Huge_Val_Ifndef fix
|
||||
*/
|
||||
#define MATH_HUGE_VAL_IFNDEF_FIXIDX 63
|
||||
#define MATH_HUGE_VAL_IFNDEF_FIXIDX 61
|
||||
tSCC zMath_Huge_Val_IfndefName[] =
|
||||
"math_huge_val_ifndef";
|
||||
|
||||
@ -2612,7 +2548,7 @@ const char* apzMath_Huge_Val_IfndefPatch[] = { "sed",
|
||||
*
|
||||
* Description of Nested_Comment fix
|
||||
*/
|
||||
#define NESTED_COMMENT_FIXIDX 64
|
||||
#define NESTED_COMMENT_FIXIDX 62
|
||||
tSCC zNested_CommentName[] =
|
||||
"nested_comment";
|
||||
|
||||
@ -2639,7 +2575,7 @@ const char* apzNested_CommentPatch[] = { "sed",
|
||||
*
|
||||
* Description of News_Os_Recursion fix
|
||||
*/
|
||||
#define NEWS_OS_RECURSION_FIXIDX 65
|
||||
#define NEWS_OS_RECURSION_FIXIDX 63
|
||||
tSCC zNews_Os_RecursionName[] =
|
||||
"news_os_recursion";
|
||||
|
||||
@ -2677,7 +2613,7 @@ const char* apzNews_Os_RecursionPatch[] = { "sed",
|
||||
*
|
||||
* Description of Next_Math_Prefix fix
|
||||
*/
|
||||
#define NEXT_MATH_PREFIX_FIXIDX 66
|
||||
#define NEXT_MATH_PREFIX_FIXIDX 64
|
||||
tSCC zNext_Math_PrefixName[] =
|
||||
"next_math_prefix";
|
||||
|
||||
@ -2716,7 +2652,7 @@ const char* apzNext_Math_PrefixPatch[] = { "sed",
|
||||
*
|
||||
* Description of Next_Template fix
|
||||
*/
|
||||
#define NEXT_TEMPLATE_FIXIDX 67
|
||||
#define NEXT_TEMPLATE_FIXIDX 65
|
||||
tSCC zNext_TemplateName[] =
|
||||
"next_template";
|
||||
|
||||
@ -2752,7 +2688,7 @@ const char* apzNext_TemplatePatch[] = { "sed",
|
||||
*
|
||||
* Description of Next_Volitile fix
|
||||
*/
|
||||
#define NEXT_VOLITILE_FIXIDX 68
|
||||
#define NEXT_VOLITILE_FIXIDX 66
|
||||
tSCC zNext_VolitileName[] =
|
||||
"next_volitile";
|
||||
|
||||
@ -2788,7 +2724,7 @@ const char* apzNext_VolitilePatch[] = { "sed",
|
||||
*
|
||||
* Description of Next_Wait_Union fix
|
||||
*/
|
||||
#define NEXT_WAIT_UNION_FIXIDX 69
|
||||
#define NEXT_WAIT_UNION_FIXIDX 67
|
||||
tSCC zNext_Wait_UnionName[] =
|
||||
"next_wait_union";
|
||||
|
||||
@ -2823,7 +2759,7 @@ const char* apzNext_Wait_UnionPatch[] = { "sed",
|
||||
*
|
||||
* Description of Nodeent_Syntax fix
|
||||
*/
|
||||
#define NODEENT_SYNTAX_FIXIDX 70
|
||||
#define NODEENT_SYNTAX_FIXIDX 68
|
||||
tSCC zNodeent_SyntaxName[] =
|
||||
"nodeent_syntax";
|
||||
|
||||
@ -2850,7 +2786,7 @@ const char* apzNodeent_SyntaxPatch[] = { "sed",
|
||||
*
|
||||
* Description of Osf_Namespace_A fix
|
||||
*/
|
||||
#define OSF_NAMESPACE_A_FIXIDX 71
|
||||
#define OSF_NAMESPACE_A_FIXIDX 69
|
||||
tSCC zOsf_Namespace_AName[] =
|
||||
"osf_namespace_a";
|
||||
|
||||
@ -2896,7 +2832,7 @@ const char* apzOsf_Namespace_APatch[] = { "sed",
|
||||
*
|
||||
* Description of Osf_Namespace_B fix
|
||||
*/
|
||||
#define OSF_NAMESPACE_B_FIXIDX 72
|
||||
#define OSF_NAMESPACE_B_FIXIDX 70
|
||||
tSCC zOsf_Namespace_BName[] =
|
||||
"osf_namespace_b";
|
||||
|
||||
@ -2943,7 +2879,7 @@ typedef __regmatch_t\tregmatch_t;\n",
|
||||
*
|
||||
* Description of Pthread_Page_Size fix
|
||||
*/
|
||||
#define PTHREAD_PAGE_SIZE_FIXIDX 73
|
||||
#define PTHREAD_PAGE_SIZE_FIXIDX 71
|
||||
tSCC zPthread_Page_SizeName[] =
|
||||
"pthread_page_size";
|
||||
|
||||
@ -2978,7 +2914,7 @@ const char* apzPthread_Page_SizePatch[] = { "sed",
|
||||
*
|
||||
* Description of Read_Ret_Type fix
|
||||
*/
|
||||
#define READ_RET_TYPE_FIXIDX 74
|
||||
#define READ_RET_TYPE_FIXIDX 72
|
||||
tSCC zRead_Ret_TypeName[] =
|
||||
"read_ret_type";
|
||||
|
||||
@ -3014,7 +2950,7 @@ const char* apzRead_Ret_TypePatch[] = { "sed",
|
||||
*
|
||||
* Description of Rs6000_Double fix
|
||||
*/
|
||||
#define RS6000_DOUBLE_FIXIDX 75
|
||||
#define RS6000_DOUBLE_FIXIDX 73
|
||||
tSCC zRs6000_DoubleName[] =
|
||||
"rs6000_double";
|
||||
|
||||
@ -3052,7 +2988,7 @@ const char* apzRs6000_DoublePatch[] = { "sed",
|
||||
*
|
||||
* Description of Rs6000_Fchmod fix
|
||||
*/
|
||||
#define RS6000_FCHMOD_FIXIDX 76
|
||||
#define RS6000_FCHMOD_FIXIDX 74
|
||||
tSCC zRs6000_FchmodName[] =
|
||||
"rs6000_fchmod";
|
||||
|
||||
@ -3087,7 +3023,7 @@ const char* apzRs6000_FchmodPatch[] = { "sed",
|
||||
*
|
||||
* Description of Rs6000_Param fix
|
||||
*/
|
||||
#define RS6000_PARAM_FIXIDX 77
|
||||
#define RS6000_PARAM_FIXIDX 75
|
||||
tSCC zRs6000_ParamName[] =
|
||||
"rs6000_param";
|
||||
|
||||
@ -3122,7 +3058,7 @@ const char* apzRs6000_ParamPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sony_Include fix
|
||||
*/
|
||||
#define SONY_INCLUDE_FIXIDX 78
|
||||
#define SONY_INCLUDE_FIXIDX 76
|
||||
tSCC zSony_IncludeName[] =
|
||||
"sony_include";
|
||||
|
||||
@ -3157,7 +3093,7 @@ const char* apzSony_IncludePatch[] = { "sed",
|
||||
*
|
||||
* Description of Statsswtch fix
|
||||
*/
|
||||
#define STATSSWTCH_FIXIDX 79
|
||||
#define STATSSWTCH_FIXIDX 77
|
||||
tSCC zStatsswtchName[] =
|
||||
"statsswtch";
|
||||
|
||||
@ -3192,7 +3128,7 @@ const char* apzStatsswtchPatch[] = { "sed",
|
||||
*
|
||||
* Description of Stdio_Stdarg_H fix
|
||||
*/
|
||||
#define STDIO_STDARG_H_FIXIDX 80
|
||||
#define STDIO_STDARG_H_FIXIDX 78
|
||||
tSCC zStdio_Stdarg_HName[] =
|
||||
"stdio_stdarg_h";
|
||||
|
||||
@ -3229,7 +3165,7 @@ const char* apzStdio_Stdarg_HPatch[] = { "sed",
|
||||
*
|
||||
* Description of Stdio_Va_List fix
|
||||
*/
|
||||
#define STDIO_VA_LIST_FIXIDX 81
|
||||
#define STDIO_VA_LIST_FIXIDX 79
|
||||
tSCC zStdio_Va_ListName[] =
|
||||
"stdio_va_list";
|
||||
|
||||
@ -3273,7 +3209,7 @@ s@_Va_LIST@_VA_LIST@",
|
||||
*
|
||||
* Description of Sun_Bogus_Ifdef fix
|
||||
*/
|
||||
#define SUN_BOGUS_IFDEF_FIXIDX 82
|
||||
#define SUN_BOGUS_IFDEF_FIXIDX 80
|
||||
tSCC zSun_Bogus_IfdefName[] =
|
||||
"sun_bogus_ifdef";
|
||||
|
||||
@ -3308,7 +3244,7 @@ const char* apzSun_Bogus_IfdefPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sun_Bogus_Ifdef_Sun4c fix
|
||||
*/
|
||||
#define SUN_BOGUS_IFDEF_SUN4C_FIXIDX 83
|
||||
#define SUN_BOGUS_IFDEF_SUN4C_FIXIDX 81
|
||||
tSCC zSun_Bogus_Ifdef_Sun4cName[] =
|
||||
"sun_bogus_ifdef_sun4c";
|
||||
|
||||
@ -3343,7 +3279,7 @@ const char* apzSun_Bogus_Ifdef_Sun4cPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sun_Catmacro fix
|
||||
*/
|
||||
#define SUN_CATMACRO_FIXIDX 84
|
||||
#define SUN_CATMACRO_FIXIDX 82
|
||||
tSCC zSun_CatmacroName[] =
|
||||
"sun_catmacro";
|
||||
|
||||
@ -3383,7 +3319,7 @@ const char* apzSun_CatmacroPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sun_Malloc fix
|
||||
*/
|
||||
#define SUN_MALLOC_FIXIDX 85
|
||||
#define SUN_MALLOC_FIXIDX 83
|
||||
tSCC zSun_MallocName[] =
|
||||
"sun_malloc";
|
||||
|
||||
@ -3413,7 +3349,7 @@ const char* apzSun_MallocPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sun_Rusers_Semi fix
|
||||
*/
|
||||
#define SUN_RUSERS_SEMI_FIXIDX 86
|
||||
#define SUN_RUSERS_SEMI_FIXIDX 84
|
||||
tSCC zSun_Rusers_SemiName[] =
|
||||
"sun_rusers_semi";
|
||||
|
||||
@ -3448,7 +3384,7 @@ const char* apzSun_Rusers_SemiPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sun_Signal fix
|
||||
*/
|
||||
#define SUN_SIGNAL_FIXIDX 87
|
||||
#define SUN_SIGNAL_FIXIDX 85
|
||||
tSCC zSun_SignalName[] =
|
||||
"sun_signal";
|
||||
|
||||
@ -3488,7 +3424,7 @@ void\t(*signal(...))(...);\\\n\
|
||||
*
|
||||
* Description of Sun_Auth_Proto fix
|
||||
*/
|
||||
#define SUN_AUTH_PROTO_FIXIDX 88
|
||||
#define SUN_AUTH_PROTO_FIXIDX 86
|
||||
tSCC zSun_Auth_ProtoName[] =
|
||||
"sun_auth_proto";
|
||||
|
||||
@ -3528,7 +3464,7 @@ const char* apzSun_Auth_ProtoPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sunos_Matherr_Decl fix
|
||||
*/
|
||||
#define SUNOS_MATHERR_DECL_FIXIDX 89
|
||||
#define SUNOS_MATHERR_DECL_FIXIDX 87
|
||||
tSCC zSunos_Matherr_DeclName[] =
|
||||
"sunos_matherr_decl";
|
||||
|
||||
@ -3565,7 +3501,7 @@ struct exception;\n",
|
||||
*
|
||||
* Description of Sunos_Strlen fix
|
||||
*/
|
||||
#define SUNOS_STRLEN_FIXIDX 90
|
||||
#define SUNOS_STRLEN_FIXIDX 88
|
||||
tSCC zSunos_StrlenName[] =
|
||||
"sunos_strlen";
|
||||
|
||||
@ -3600,7 +3536,7 @@ const char* apzSunos_StrlenPatch[] = { "sed",
|
||||
*
|
||||
* Description of Systypes fix
|
||||
*/
|
||||
#define SYSTYPES_FIXIDX 91
|
||||
#define SYSTYPES_FIXIDX 89
|
||||
tSCC zSystypesName[] =
|
||||
"systypes";
|
||||
|
||||
@ -3659,7 +3595,7 @@ typedef __SIZE_TYPE__ size_t;\\\n\
|
||||
*
|
||||
* Description of Systypes_Stdlib_Size_T fix
|
||||
*/
|
||||
#define SYSTYPES_STDLIB_SIZE_T_FIXIDX 92
|
||||
#define SYSTYPES_STDLIB_SIZE_T_FIXIDX 90
|
||||
tSCC zSystypes_Stdlib_Size_TName[] =
|
||||
"systypes_stdlib_size_t";
|
||||
|
||||
@ -3705,7 +3641,7 @@ const char* apzSystypes_Stdlib_Size_TPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sysv68_String fix
|
||||
*/
|
||||
#define SYSV68_STRING_FIXIDX 93
|
||||
#define SYSV68_STRING_FIXIDX 91
|
||||
tSCC zSysv68_StringName[] =
|
||||
"sysv68_string";
|
||||
|
||||
@ -3742,7 +3678,7 @@ extern unsigned int\\\n\
|
||||
*
|
||||
* Description of Sysz_Stdlib_For_Sun fix
|
||||
*/
|
||||
#define SYSZ_STDLIB_FOR_SUN_FIXIDX 94
|
||||
#define SYSZ_STDLIB_FOR_SUN_FIXIDX 92
|
||||
tSCC zSysz_Stdlib_For_SunName[] =
|
||||
"sysz_stdlib_for_sun";
|
||||
|
||||
@ -3775,7 +3711,7 @@ const char* apzSysz_Stdlib_For_SunPatch[] = { "sed",
|
||||
*
|
||||
* Description of Sysz_Stdtypes_For_Sun fix
|
||||
*/
|
||||
#define SYSZ_STDTYPES_FOR_SUN_FIXIDX 95
|
||||
#define SYSZ_STDTYPES_FOR_SUN_FIXIDX 93
|
||||
tSCC zSysz_Stdtypes_For_SunName[] =
|
||||
"sysz_stdtypes_for_sun";
|
||||
|
||||
@ -3816,7 +3752,7 @@ const char* apzSysz_Stdtypes_For_SunPatch[] = { "sed",
|
||||
*
|
||||
* Description of Tinfo_Cplusplus fix
|
||||
*/
|
||||
#define TINFO_CPLUSPLUS_FIXIDX 96
|
||||
#define TINFO_CPLUSPLUS_FIXIDX 94
|
||||
tSCC zTinfo_CplusplusName[] =
|
||||
"tinfo_cplusplus";
|
||||
|
||||
@ -3851,7 +3787,7 @@ const char* apzTinfo_CplusplusPatch[] = { "sed",
|
||||
*
|
||||
* Description of Ultrix_Fix_Fixproto fix
|
||||
*/
|
||||
#define ULTRIX_FIX_FIXPROTO_FIXIDX 97
|
||||
#define ULTRIX_FIX_FIXPROTO_FIXIDX 95
|
||||
tSCC zUltrix_Fix_FixprotoName[] =
|
||||
"ultrix_fix_fixproto";
|
||||
|
||||
@ -3887,7 +3823,7 @@ struct utsname;\n",
|
||||
*
|
||||
* Description of Ultrix_Atof_Param fix
|
||||
*/
|
||||
#define ULTRIX_ATOF_PARAM_FIXIDX 98
|
||||
#define ULTRIX_ATOF_PARAM_FIXIDX 96
|
||||
tSCC zUltrix_Atof_ParamName[] =
|
||||
"ultrix_atof_param";
|
||||
|
||||
@ -3922,7 +3858,7 @@ const char* apzUltrix_Atof_ParamPatch[] = { "sed",
|
||||
*
|
||||
* Description of Ultrix_Const fix
|
||||
*/
|
||||
#define ULTRIX_CONST_FIXIDX 99
|
||||
#define ULTRIX_CONST_FIXIDX 97
|
||||
tSCC zUltrix_ConstName[] =
|
||||
"ultrix_const";
|
||||
|
||||
@ -3957,7 +3893,7 @@ const char* apzUltrix_ConstPatch[] = { "sed",
|
||||
*
|
||||
* Description of Ultrix_Ifdef fix
|
||||
*/
|
||||
#define ULTRIX_IFDEF_FIXIDX 100
|
||||
#define ULTRIX_IFDEF_FIXIDX 98
|
||||
tSCC zUltrix_IfdefName[] =
|
||||
"ultrix_ifdef";
|
||||
|
||||
@ -3992,7 +3928,7 @@ const char* apzUltrix_IfdefPatch[] = { "sed",
|
||||
*
|
||||
* Description of Ultrix_Nested_Cmnt fix
|
||||
*/
|
||||
#define ULTRIX_NESTED_CMNT_FIXIDX 101
|
||||
#define ULTRIX_NESTED_CMNT_FIXIDX 99
|
||||
tSCC zUltrix_Nested_CmntName[] =
|
||||
"ultrix_nested_cmnt";
|
||||
|
||||
@ -4019,7 +3955,7 @@ const char* apzUltrix_Nested_CmntPatch[] = { "sed",
|
||||
*
|
||||
* Description of Ultrix_Static fix
|
||||
*/
|
||||
#define ULTRIX_STATIC_FIXIDX 102
|
||||
#define ULTRIX_STATIC_FIXIDX 100
|
||||
tSCC zUltrix_StaticName[] =
|
||||
"ultrix_static";
|
||||
|
||||
@ -4056,7 +3992,7 @@ const char* apzUltrix_StaticPatch[] = { "sed",
|
||||
*
|
||||
* Description of Undefine_Null fix
|
||||
*/
|
||||
#define UNDEFINE_NULL_FIXIDX 103
|
||||
#define UNDEFINE_NULL_FIXIDX 101
|
||||
tSCC zUndefine_NullName[] =
|
||||
"undefine_null";
|
||||
|
||||
@ -4098,7 +4034,7 @@ const char* apzUndefine_NullPatch[] = { "sed",
|
||||
*
|
||||
* Description of Unixware7_Byteorder_Fix fix
|
||||
*/
|
||||
#define UNIXWARE7_BYTEORDER_FIX_FIXIDX 104
|
||||
#define UNIXWARE7_BYTEORDER_FIX_FIXIDX 102
|
||||
tSCC zUnixware7_Byteorder_FixName[] =
|
||||
"unixware7_byteorder_fix";
|
||||
|
||||
@ -4141,7 +4077,7 @@ const char* apzUnixware7_Byteorder_FixPatch[] = { "sed",
|
||||
*
|
||||
* Description of Va_I960_Macro fix
|
||||
*/
|
||||
#define VA_I960_MACRO_FIXIDX 105
|
||||
#define VA_I960_MACRO_FIXIDX 103
|
||||
tSCC zVa_I960_MacroName[] =
|
||||
"va_i960_macro";
|
||||
|
||||
@ -4179,7 +4115,7 @@ const char* apzVa_I960_MacroPatch[] = { "sed",
|
||||
*
|
||||
* Description of Void_Null fix
|
||||
*/
|
||||
#define VOID_NULL_FIXIDX 106
|
||||
#define VOID_NULL_FIXIDX 104
|
||||
tSCC zVoid_NullName[] =
|
||||
"void_null";
|
||||
|
||||
@ -4214,7 +4150,7 @@ const char* apzVoid_NullPatch[] = { "sed",
|
||||
*
|
||||
* Description of Vxworks_Gcc_Problem fix
|
||||
*/
|
||||
#define VXWORKS_GCC_PROBLEM_FIXIDX 107
|
||||
#define VXWORKS_GCC_PROBLEM_FIXIDX 105
|
||||
tSCC zVxworks_Gcc_ProblemName[] =
|
||||
"vxworks_gcc_problem";
|
||||
|
||||
@ -4264,7 +4200,7 @@ const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
|
||||
*
|
||||
* Description of Vxworks_Needs_Vxtypes fix
|
||||
*/
|
||||
#define VXWORKS_NEEDS_VXTYPES_FIXIDX 108
|
||||
#define VXWORKS_NEEDS_VXTYPES_FIXIDX 106
|
||||
tSCC zVxworks_Needs_VxtypesName[] =
|
||||
"vxworks_needs_vxtypes";
|
||||
|
||||
@ -4299,7 +4235,7 @@ const char* apzVxworks_Needs_VxtypesPatch[] = { "sed",
|
||||
*
|
||||
* Description of Vxworks_Needs_Vxworks fix
|
||||
*/
|
||||
#define VXWORKS_NEEDS_VXWORKS_FIXIDX 109
|
||||
#define VXWORKS_NEEDS_VXWORKS_FIXIDX 107
|
||||
tSCC zVxworks_Needs_VxworksName[] =
|
||||
"vxworks_needs_vxworks";
|
||||
|
||||
@ -4348,7 +4284,7 @@ const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
|
||||
*
|
||||
* Description of Vxworks_Time fix
|
||||
*/
|
||||
#define VXWORKS_TIME_FIXIDX 110
|
||||
#define VXWORKS_TIME_FIXIDX 108
|
||||
tSCC zVxworks_TimeName[] =
|
||||
"vxworks_time";
|
||||
|
||||
@ -4399,7 +4335,7 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\\\n\
|
||||
*
|
||||
* Description of X11_Class fix
|
||||
*/
|
||||
#define X11_CLASS_FIXIDX 111
|
||||
#define X11_CLASS_FIXIDX 109
|
||||
tSCC zX11_ClassName[] =
|
||||
"x11_class";
|
||||
|
||||
@ -4439,7 +4375,7 @@ const char* apzX11_ClassPatch[] = { "sed",
|
||||
*
|
||||
* Description of X11_Class_Usage fix
|
||||
*/
|
||||
#define X11_CLASS_USAGE_FIXIDX 112
|
||||
#define X11_CLASS_USAGE_FIXIDX 110
|
||||
tSCC zX11_Class_UsageName[] =
|
||||
"x11_class_usage";
|
||||
|
||||
@ -4474,7 +4410,7 @@ const char* apzX11_Class_UsagePatch[] = { "sed",
|
||||
*
|
||||
* Description of X11_New fix
|
||||
*/
|
||||
#define X11_NEW_FIXIDX 113
|
||||
#define X11_NEW_FIXIDX 111
|
||||
tSCC zX11_NewName[] =
|
||||
"x11_new";
|
||||
|
||||
@ -4515,7 +4451,7 @@ const char* apzX11_NewPatch[] = { "sed",
|
||||
*
|
||||
* Description of X11_Sprintf fix
|
||||
*/
|
||||
#define X11_SPRINTF_FIXIDX 114
|
||||
#define X11_SPRINTF_FIXIDX 112
|
||||
tSCC zX11_SprintfName[] =
|
||||
"x11_sprintf";
|
||||
|
||||
@ -4555,7 +4491,7 @@ extern char *\tsprintf();\\\n\
|
||||
*/
|
||||
#define REGEX_COUNT 98
|
||||
#define MACH_LIST_SIZE_LIMIT 279
|
||||
#define FIX_COUNT 115
|
||||
#define FIX_COUNT 113
|
||||
|
||||
tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||
{ zAaa_Ki_IfaceName, zAaa_Ki_IfaceList,
|
||||
@ -4698,11 +4634,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||
DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
|
||||
aDec_Intern_AsmTests, apzDec_Intern_AsmPatch },
|
||||
|
||||
{ zNo_Double_SlashName, zNo_Double_SlashList,
|
||||
apzNo_Double_SlashMachs, (regex_t*)NULL,
|
||||
NO_DOUBLE_SLASH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aNo_Double_SlashTests, apzNo_Double_SlashPatch },
|
||||
|
||||
{ zEcd_CursorName, zEcd_CursorList,
|
||||
apzEcd_CursorMachs, (regex_t*)NULL,
|
||||
ECD_CURSOR_TEST_CT, FD_MACH_ONLY,
|
||||
@ -4713,11 +4644,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||
SCO5_STAT_WRAPPERS_TEST_CT, FD_MACH_ONLY,
|
||||
aSco5_Stat_WrappersTests, apzSco5_Stat_WrappersPatch },
|
||||
|
||||
{ zEnd_Else_LabelName, zEnd_Else_LabelList,
|
||||
apzEnd_Else_LabelMachs, (regex_t*)NULL,
|
||||
END_ELSE_LABEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aEnd_Else_LabelTests, apzEnd_Else_LabelPatch },
|
||||
|
||||
{ zHp_InlineName, zHp_InlineList,
|
||||
apzHp_InlineMachs, (regex_t*)NULL,
|
||||
HP_INLINE_TEST_CT, FD_MACH_ONLY,
|
||||
|
@ -122,7 +122,11 @@ is_cxx_header (fname, text)
|
||||
tSCC cxxpat[] = "\
|
||||
extern[ \t]*\"C\\+\\+\"|\
|
||||
-\\*-[ \t]*([mM]ode:[ \t]*)?[cC]\\+\\+[; \t]*-\\*-|\
|
||||
template[ \t]*<";
|
||||
template[ \t]*<|\
|
||||
^[ \t]*class[ \t]|\
|
||||
(public|private|protected):|\
|
||||
^[ \t]*#[ \t]*pragma[ \t]+(interface|implementation)\
|
||||
";
|
||||
static regex_t cxxre;
|
||||
static int compiled;
|
||||
|
||||
@ -187,12 +191,16 @@ static regex_t mn_name_re;
|
||||
|
||||
static int mn_compiled = 0;
|
||||
|
||||
void
|
||||
int
|
||||
mn_get_regexps( label_re, name_re, who )
|
||||
regex_t **label_re;
|
||||
regex_t **name_re;
|
||||
tCC *who;
|
||||
{
|
||||
/* Maybe we don't need to do this fix at all? */
|
||||
if (mn_name_pat[0] == '\0')
|
||||
return 1;
|
||||
|
||||
if (! mn_compiled)
|
||||
{
|
||||
compile_re (mn_label_pat, &mn_label_re, 1, "label pattern", who);
|
||||
@ -201,4 +209,5 @@ mn_get_regexps( label_re, name_re, who )
|
||||
}
|
||||
*label_re = &mn_label_re;
|
||||
*name_re = &mn_name_re;
|
||||
return 0;
|
||||
}
|
||||
|
@ -99,6 +99,6 @@ char * load_file_data _P_(( FILE* fp ));
|
||||
t_bool is_cxx_header _P_(( tCC* filename, tCC* filetext ));
|
||||
void compile_re _P_(( tCC* pat, regex_t* re, int match,
|
||||
tCC *e1, tCC *e2 ));
|
||||
void mn_get_regexps _P_(( regex_t** label_re, regex_t** name_re,
|
||||
int mn_get_regexps _P_(( regex_t** label_re, regex_t** name_re,
|
||||
tCC *who ));
|
||||
#endif /* FIXINCLUDES_FIXLIB_H */
|
||||
|
@ -275,7 +275,8 @@ TEST_FOR_FIX_PROC_HEAD( machine_name_test )
|
||||
regmatch_t match[2];
|
||||
tCC *base, *limit;
|
||||
|
||||
mn_get_regexps(&label_re, &name_re, "machine_name_test");
|
||||
if (mn_get_regexps(&label_re, &name_re, "machine_name_test"))
|
||||
return SKIP_FIX;
|
||||
|
||||
for (base = text;
|
||||
regexec (label_re, base, 2, match, 0) == 0;
|
||||
|
46
gcc/fixinc/gen-machname.h
Normal file
46
gcc/fixinc/gen-machname.h
Normal file
@ -0,0 +1,46 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
# This file is part of GNU CC.
|
||||
|
||||
# GNU CC is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# GNU CC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU CC; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# This script extracts from the specs file all the predefined macros
|
||||
# that are not in the C89 reserved namespace (the reserved namespace
|
||||
# is all identifiers beginnning with two underscores or one underscore
|
||||
# followed by a capital letter). The specs file is on standard input.
|
||||
# A #define for a regular expression to find any of those macros in a
|
||||
# header file is written to standard output.
|
||||
|
||||
# Note dependency on ASCII. \040 = space, \011 = tab, \012 = newline.
|
||||
# tr ' ' '\n' is, alas, not portable.
|
||||
|
||||
tr -s '\040\011' '\012\012' |
|
||||
sed -n 's/^.*-D\([a-zA-Z_][a-zA-Z0-9_]*\).*$/\1/p' |
|
||||
sort -u > mn.T
|
||||
|
||||
if grep -v '^_[_A-Z]' mn.T > mn.U
|
||||
then
|
||||
echo "Forbidden identifiers: `tr '\012' ' ' <mn.U`" >&2
|
||||
sed 's/^/\\\\</; s/$/\\\\>/' <mn.U | tr '\012' '|' > mn.V
|
||||
echo '' >>mn.V
|
||||
sed 's/^/#define MN_NAME_PAT "/; s/|$/"/' < mn.V
|
||||
else
|
||||
echo "No forbidden identifiers defined by this target" >&2
|
||||
echo '#define MN_NAME_PAT ""'
|
||||
fi
|
||||
rm -f mn.[TUV]
|
||||
exit 0
|
@ -765,6 +765,7 @@ fix = {
|
||||
};
|
||||
|
||||
|
||||
#ifdef OLD_CPP
|
||||
/*
|
||||
* Remove the double-slash comments. The "double_slash" test will
|
||||
* try to ignore C++ headers by checking for "CC/", "xx/" and "++/"
|
||||
@ -776,6 +777,7 @@ fix = {
|
||||
c_test = "double_slash";
|
||||
c_fix = "no_double_slash";
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
@ -811,6 +813,7 @@ fix = {
|
||||
};
|
||||
|
||||
|
||||
#ifdef OLD_CPP
|
||||
/*
|
||||
* Fix else and endif directives that contain non-commentary text
|
||||
*/
|
||||
@ -824,6 +827,7 @@ fix = {
|
||||
c_test = "else_endif_label";
|
||||
c_fix = "else_endif_label";
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
@ -846,7 +850,7 @@ fix = {
|
||||
hackname = hp_sysfile;
|
||||
files = sys/file.h;
|
||||
select = "HPUX_SOURCE";
|
||||
sed = 's/(\.\.\.)/(struct file * ...)/';
|
||||
sed = 's/(\.\.\.)/(struct file *, ...)/';
|
||||
};
|
||||
|
||||
|
||||
@ -1282,88 +1286,23 @@ fix = {
|
||||
* the class exception defined in the C++ file std/stdexcept.h. We
|
||||
* redefine it to __math_exception. This is not a great fix, but I
|
||||
* haven't been able to think of anything better.
|
||||
* Note that we have to put the #ifdef/#endif blocks at beginning
|
||||
* and end of file, because fixproto runs after us and may insert
|
||||
* additional references to struct exception.
|
||||
*/
|
||||
fix = {
|
||||
hackname = math_exception;
|
||||
files = math.h;
|
||||
select = "struct exception";
|
||||
bypass = "We have a problem when using C\\+\\+";
|
||||
sed = "/struct exception/i\\\n"
|
||||
sed = "1i\\\n"
|
||||
"#ifdef __cplusplus\\\n"
|
||||
"#define exception __math_exception\\\n"
|
||||
"#endif\n";
|
||||
sed = "/struct exception/a\\\n"
|
||||
sed = "$a\\\n"
|
||||
"#ifdef __cplusplus\\\n"
|
||||
"#undef exception\\\n"
|
||||
"#endif\n";
|
||||
|
||||
#ifdef MATH_EXCEPTION_FIXED
|
||||
sed = "/matherr/i\\\n"
|
||||
"#ifdef __cplusplus\\\n"
|
||||
"#define exception __math_exception\\\n"
|
||||
"#endif\n";
|
||||
|
||||
sed = "/matherr/a\\\n"
|
||||
"#ifdef __cplusplus\\\n"
|
||||
"#undef exception\\\n"
|
||||
"#endif\n";
|
||||
|
||||
I think this patch needs some more thinking.
|
||||
This is from SVR4.2 (With '#' replaced with '@').
|
||||
Perhaps we could do without the "/matherr/a" entries?
|
||||
Can we bypass the entire fix if someone was astute
|
||||
enough to have '#ifdef __cplusplus' anywhere in the file?
|
||||
|
||||
We can definitely do without the "/matherr/a" entries. They are
|
||||
there to cover the case where matherr is declared with no prototype
|
||||
-- extern int matherr(); -- but we don't need a fix then since there
|
||||
is no reference to struct exception.
|
||||
|
||||
Bypassing on "#ifdef __cplusplus" is too optimistic, but I've stuck
|
||||
in a bypass for the comment in the glibc 2.1 header that indicates
|
||||
awareness of the problem. Hmm. Could we use a shell test that did
|
||||
cpp -D__cplusplus | grep "struct exception" ?
|
||||
|
||||
*** /usr/include/math.h Fri Apr 3 18:54:59 1998
|
||||
--- math.h Sun May 9 07:28:58 1999
|
||||
***************
|
||||
*** 25,31 ****
|
||||
--- 25,37 ----
|
||||
|
||||
@ifndef __cplusplus
|
||||
|
||||
+ @ifdef __cplusplus
|
||||
+ @define exception __math_exception
|
||||
+ @endif
|
||||
struct exception
|
||||
+ @ifdef __cplusplus
|
||||
+ @undef exception
|
||||
+ @endif
|
||||
{
|
||||
int type;
|
||||
char *name;
|
||||
***************
|
||||
*** 34,40 ****
|
||||
--- 40,58 ----
|
||||
double retval;
|
||||
};
|
||||
|
||||
+ @ifdef __cplusplus
|
||||
+ @define exception __math_exception
|
||||
+ @endif
|
||||
+ @ifdef __cplusplus
|
||||
+ @define exception __math_exception
|
||||
+ @endif
|
||||
extern int matherr(struct exception *);
|
||||
+ @ifdef __cplusplus
|
||||
+ @undef exception
|
||||
+ @endif
|
||||
+ @ifdef __cplusplus
|
||||
+ @undef exception
|
||||
+ @endif
|
||||
|
||||
@endif /*__cplusplus*/
|
||||
#endif
|
||||
};
|
||||
|
||||
fix = {
|
||||
|
@ -6,7 +6,7 @@
|
||||
# files which are fixed to work correctly with ANSI C and placed in a
|
||||
# directory that GNU C will search.
|
||||
#
|
||||
# This script contains 115 fixup scripts.
|
||||
# This script contains 113 fixup scripts.
|
||||
#
|
||||
# See README-fixinc for more information.
|
||||
#
|
||||
@ -1263,22 +1263,6 @@ struct rusage;
|
||||
esac
|
||||
|
||||
|
||||
#
|
||||
# Fix No_Double_Slash
|
||||
#
|
||||
if ${FIXTESTS} ${file} double_slash
|
||||
then
|
||||
fixlist="${fixlist}
|
||||
no_double_slash"
|
||||
if [ ! -r ${DESTFILE} ]
|
||||
then infile=${file}
|
||||
else infile=${DESTFILE} ; fi
|
||||
${FIXFIXES} ${file} no_double_slash < $infile > ${DESTDIR}/fixinc.tmp
|
||||
rm -f ${DESTFILE}
|
||||
mv -f ${DESTDIR}/fixinc.tmp ${DESTFILE}
|
||||
fi # end of c_test 'if'
|
||||
|
||||
|
||||
#
|
||||
# Fix Ecd_Cursor
|
||||
#
|
||||
@ -1329,22 +1313,6 @@ extern "C"\
|
||||
esac
|
||||
|
||||
|
||||
#
|
||||
# Fix End_Else_Label
|
||||
#
|
||||
if ${FIXTESTS} ${file} else_endif_label
|
||||
then
|
||||
fixlist="${fixlist}
|
||||
end_else_label"
|
||||
if [ ! -r ${DESTFILE} ]
|
||||
then infile=${file}
|
||||
else infile=${DESTFILE} ; fi
|
||||
${FIXFIXES} ${file} else_endif_label < $infile > ${DESTDIR}/fixinc.tmp
|
||||
rm -f ${DESTFILE}
|
||||
mv -f ${DESTDIR}/fixinc.tmp ${DESTFILE}
|
||||
fi # end of c_test 'if'
|
||||
|
||||
|
||||
#
|
||||
# Fix Hp_Inline
|
||||
#
|
||||
@ -1379,7 +1347,7 @@ extern "C"\
|
||||
then infile=${file}
|
||||
else infile=${DESTFILE} ; fi
|
||||
|
||||
sed -e 's/(\.\.\.)/(struct file * ...)/' \
|
||||
sed -e 's/(\.\.\.)/(struct file *, ...)/' \
|
||||
< $infile > ${DESTDIR}/fixinc.tmp
|
||||
rm -f ${DESTFILE}
|
||||
mv -f ${DESTDIR}/fixinc.tmp ${DESTFILE}
|
||||
@ -2060,12 +2028,12 @@ static __inline__ double fake_hypot (x, y)\
|
||||
then infile=${file}
|
||||
else infile=${DESTFILE} ; fi
|
||||
|
||||
sed -e '/struct exception/i\
|
||||
sed -e '1i\
|
||||
#ifdef __cplusplus\
|
||||
#define exception __math_exception\
|
||||
#endif
|
||||
' \
|
||||
-e '/struct exception/a\
|
||||
-e '$a\
|
||||
#ifdef __cplusplus\
|
||||
#undef exception\
|
||||
#endif
|
||||
|
@ -610,12 +610,14 @@ find_fde (void *pc)
|
||||
{
|
||||
fde **p = ob->fde_array;
|
||||
|
||||
for (; *p; ++p)
|
||||
do
|
||||
{
|
||||
f = search_fdes (*p, pc);
|
||||
if (f)
|
||||
break;
|
||||
p++;
|
||||
}
|
||||
while (*p);
|
||||
}
|
||||
else
|
||||
f = search_fdes (ob->fde_begin, pc);
|
||||
|
@ -1881,11 +1881,6 @@ __bb_fork_func (void)
|
||||
|
||||
#define BBINBUFSIZE 500
|
||||
|
||||
/* BBINBUFSIZE-1 with double quotes. We could use #BBINBUFSIZE or
|
||||
"BBINBUFSIZE" but want to avoid trouble with preprocessors. */
|
||||
|
||||
#define BBINBUFSIZESTR "499"
|
||||
|
||||
struct bb_edge
|
||||
{
|
||||
struct bb_edge *next;
|
||||
@ -2163,8 +2158,8 @@ found: ;
|
||||
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",
|
||||
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,
|
||||
cnt_len, bucket->count);
|
||||
@ -2235,8 +2230,12 @@ __bb_init_prg (void)
|
||||
if (!(file = fopen ("bb.in", "r")))
|
||||
return;
|
||||
|
||||
while(fscanf (file, " %" BBINBUFSIZESTR "s ", buf) != EOF)
|
||||
while(fgets (buf, BBINBUFSIZE, file) != 0)
|
||||
{
|
||||
i = strlen (buf);
|
||||
if (buf[i] == '\n')
|
||||
buf[i--] = '\0';
|
||||
|
||||
p = buf;
|
||||
if (*p == '-')
|
||||
{
|
||||
|
@ -234,7 +234,7 @@ unroll_loop (loop, insn_count, end_insert_before, strength_reduce_p)
|
||||
{
|
||||
int i, j;
|
||||
unsigned HOST_WIDE_INT temp;
|
||||
int unroll_number = 1;
|
||||
int unroll_number;
|
||||
rtx copy_start, copy_end;
|
||||
rtx insn, sequence, pattern, tem;
|
||||
int max_labelno, max_insnno;
|
||||
@ -248,7 +248,7 @@ unroll_loop (loop, insn_count, end_insert_before, strength_reduce_p)
|
||||
rtx start_label;
|
||||
struct iv_class *bl;
|
||||
int splitting_not_safe = 0;
|
||||
enum unroll_types unroll_type;
|
||||
enum unroll_types unroll_type = UNROLL_NAIVE;
|
||||
int loop_preconditioned = 0;
|
||||
rtx safety_label;
|
||||
/* This points to the last real insn in the loop, which should be either
|
||||
@ -437,7 +437,7 @@ unroll_loop (loop, insn_count, end_insert_before, strength_reduce_p)
|
||||
|
||||
/* Default case, calculate number of times to unroll loop based on its
|
||||
size. */
|
||||
if (unroll_number == 1)
|
||||
if (unroll_type == UNROLL_NAIVE)
|
||||
{
|
||||
if (8 * insn_count < MAX_UNROLLED_INSNS)
|
||||
unroll_number = 8;
|
||||
@ -445,8 +445,6 @@ unroll_loop (loop, insn_count, end_insert_before, strength_reduce_p)
|
||||
unroll_number = 4;
|
||||
else
|
||||
unroll_number = 2;
|
||||
|
||||
unroll_type = UNROLL_NAIVE;
|
||||
}
|
||||
|
||||
/* Now we know how many times to unroll the loop. */
|
||||
|
Loading…
Reference in New Issue
Block a user