gcc original rev. 1.89:
* combine.c (if_then_else_cond): If comparing against zero,
just return thing being compared.
gcc original rev. 1.132:
* combine.c (combine_simplify_rtx): Don't create an if_then_else
unless both args are general_operand.
rtlanal.c gcc original rev. 1.22
rtl.h rev. 1.67
jump.c rev. 1.47
* rtlanal.c (regs_set_between_p): New function.
* rtl.h (regs_set_between_p): Prototype it.
* jump.c (jump_optimize): Use it instead of modified_between_p
in the Sep 2 change.
fixes PR#11696
-shared or -symbolic (as on other platforms). Also, override LIBGCC_SPEC for
all platforms (where it would incorrectly include the .a file explicitly on
some).
This should fix Mozilla on macppc.
New option -Wno-format-extra-args : suppress warning for:
printf("foo", bar);
since that isn't interesting from the POV of this audit, and it's more
common than most in some code.
also, do format args checking for
printf(Aflag ? "format 1: %s" : "format 2: %s", bar);
albeit in a half-hearted way for now (just check the "then" case)
If -Wformat is enabled, try harder to chase down compile-time constant
format strings.. capable of catching things like:
const char foo[]="%s %d";
printf(foo, 1, "2");
If the new option -Wnetbsd-format-audit (no, I don't like the name,
either) is enabled, complain about non-constant format strings we
can't verify. In particular, for *v*printf-like functions (i.e.,
non-variadic functions which are passed a va_list), insist that the
format string come from a parameter declared as a format string
argument, so that functions which should be declared as printflike are
caught at compile time.
so egcs/arch/mips/tm.h should not contain any #ifdefs
- Use -DTARGET_{BIG,LITTLE}_ENDIAN_DEFAULT (which are used in egcs-current)
to switch mipseb/mipsel
(as a.out does per default.) This is because the compiler forgets to
restore the PIC register after a builtin_setjmp (i.e. when catching an
exception.) This fix is taken from the gcc 2.95 branch.
Fixes PR#9110.
option is given to the compiler. It's silly to have to specify it twice
on a command line (e.g. -mcpu=ev56 -Wa,-mev56), especially considering
that if you don't, and the compiler emits e.g. a BWX instruction, the
assembler will treat it as a macro, open-coding an equivalent, which can
have some serious unwanted side-effects in some situations.
Also, don't treat e.g. 21164 and ev5 as equivalent; the assembler treats
them differently: 21164 enables PALcode-only instructions, while ev5
does not.
(http://egcs.cygnus.com/ml/gcc/1999-10/msg00400.html).
Log message:
* combine.c (get_last_value): If the last set of a register
is after subst_low_cuid, then we can not use it to determine
the register's last value.