source: rtems/contrib/crossrpms/patches/gcc-core-4.2-20061031-rtems4.8-20061109.diff @ e315b421

4.104.114.84.95
Last change on this file since e315b421 was e315b421, checked in by Ralf Corsepius <ralf.corsepius@…>, on 11/09/06 at 11:19:05

New (Merge BFIN patches).

  • Property mode set to 100644
File size: 37.6 KB
  • gcc/builtins.def

    diff -uNr gcc-4.2-20061031.orig/gcc/builtins.def gcc-4.2-20061031/gcc/builtins.def
    old new  
    255255DEF_LIB_BUILTIN        (BUILT_IN_FREXP, "frexp", BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
    256256DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPF, "frexpf", BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
    257257DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPL, "frexpl", BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
    258 DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMA, "gamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
    259 DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMAF, "gammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
    260 DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMAL, "gammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
     258DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMA, "gamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
     259DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMAF, "gammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE)
     260DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMAL, "gammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
    261261DEF_GCC_BUILTIN        (BUILT_IN_HUGE_VAL, "huge_val", BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LIST)
    262262DEF_GCC_BUILTIN        (BUILT_IN_HUGE_VALF, "huge_valf", BT_FN_FLOAT, ATTR_CONST_NOTHROW_LIST)
    263263DEF_GCC_BUILTIN        (BUILT_IN_HUGE_VALL, "huge_vall", BT_FN_LONGDOUBLE, ATTR_CONST_NOTHROW_LIST)
     
    291291DEF_GCC_BUILTIN        (BUILT_IN_LFLOOR, "lfloor", BT_FN_LONG_DOUBLE, ATTR_MATHFN_FPROUNDING)
    292292DEF_GCC_BUILTIN        (BUILT_IN_LFLOORF, "lfloorf", BT_FN_LONG_FLOAT, ATTR_MATHFN_FPROUNDING)
    293293DEF_GCC_BUILTIN        (BUILT_IN_LFLOORL, "lfloorl", BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
    294 DEF_C99_BUILTIN        (BUILT_IN_LGAMMA, "lgamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
    295 DEF_C99_BUILTIN        (BUILT_IN_LGAMMAF, "lgammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
    296 DEF_C99_BUILTIN        (BUILT_IN_LGAMMAL, "lgammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
     294DEF_C99_BUILTIN        (BUILT_IN_LGAMMA, "lgamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
     295DEF_C99_BUILTIN        (BUILT_IN_LGAMMAF, "lgammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE)
     296DEF_C99_BUILTIN        (BUILT_IN_LGAMMAL, "lgammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
    297297DEF_GCC_BUILTIN        (BUILT_IN_LLCEIL, "llceil", BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_FPROUNDING)
    298298DEF_GCC_BUILTIN        (BUILT_IN_LLCEILF, "llceilf", BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_FPROUNDING)
    299299DEF_GCC_BUILTIN        (BUILT_IN_LLCEILL, "llceill", BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
  • gcc-4.2-20061031

    diff -uNr gcc-4.2-20061031.orig/gcc/ChangeLog gcc-4.2-20061031/gcc/ChangeLog
    old new  
     12006-11-08  Brooks Moses  <brooks.moses@codesourcery.com>
     2
     3        * doc/invoke.texi: Minor formatting fixes in option lists.
     4
     52006-11-08  Eric Christopher  <echristo@apple.com>
     6
     7        Backport from mainline:
     8        * config.gcc: Add x86_64-darwin host support.
     9        * config.host: Ditto.
     10        * config/i386/darwin64.h: New file.
     11        * config/i386/t-darwin64: Ditto.
     12
     132006-11-08  Janis Johnson  <janis187@us.ibm.com>
     14
     15        * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists
     16        and output-exists-not.
     17
     182006-11-07  Richard Guenther  <rguenther@suse.de>
     19
     20        PR tree-optimization/29610
     21        * tree-cfgcleanup.c (cleanup_control_flow): Honor return value
     22        of tree_purge_dead_eh_edges as it may free dominators.
     23
     24        * g++.dg/other/pr29610.C: New testcase.
     25
     262006-11-07  Jie Zhang  <jie.zhang@analog.com>
     27
     28        * gcc.c (process_command): Treat -b as normal switch if its argument
     29        has no dash.
     30
     312006-11-06  Vladimir Prus  <vladimir@codesourcery.com>
     32
     33        Backport from mainline:
     34        * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do not
     35        set inhibit_libc.
     36        * config/arm/t-strongarm-elf: Likewise.
     37        * config/arm/t-pe: Likewise.
     38        * config/arm/t-arm-elf: Likewise.
     39        * config/arm/t-xscale-elf: Likewise.
     40        * config/arm/t-arm-coff: Likewise.
     41        * config/arm/t-xscale-coff: Likewise.
     42        * config/arm/t-wince-pe: Likewise.
     43
     442006-11-06  Richard Guenther  <rguenther@suse.de>
     45
     46        Backport from mainline:
     47        2006-10-21  Richard Guenther  <rguenther@suse.de>
     48
     49        PR target/19116
     50        * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
     51        if flag_unsafe_math_optimizations is specified.  We have
     52        flag_finite_math_only for that.
     53        * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
     54        or flag_unsafe_math_optimizations.
     55
     56        PR middle-end/28796
     57        * simplify-rtx.c (simplify_const_relational_operation):
     58        Do not constant-fold ORDERED and UNORDERED for
     59        flag_unsafe_math_optimizations but only we do not need to
     60        honor NaNs for the given mode.
     61
     622006-11-05  Jakub Jelinek  <jakub@redhat.com>
     63
     64        PR middle-end/29695
     65        * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
     66        simplification.
     67
     682006-11-02  Brooks Moses  <brooks.moses@codesourcery.com>
     69
     70        * doc/invoke.texi: Fix mfp-trap-mode typo.
     71
     722006-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
     73
     74        * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
     75        instructions.
     76        (sparc64-sun-solaris2*): Likewise.
     77
     782006-11-02  Uros Bizjak <ubizjak@gmail.com>
     79
     80        PR target/29377
     81        * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
     82        argument to HOST_WIDE_INT.  Update function prototype.
     83        (round_frame_size): Change return type to HOST_WIDE_INT.  Change
     84        "size" argument to HOST_WIDE_INT.  Update function prototype.
     85
     862006-11-01  Chris Johns <chris@contemporary.net.au>
     87
     88        PR bootstrap/28400
     89        * Makefile.in (install-driver): Use exeext when installing
     90        $target-gcc-$version.
     91
     922006-11-01  Andrew Haley  <aph@redhat.com>
     93
     94        * fold-const.c (fold_unary): Don't fold (t1)(t2) to (t1) if this
     95        is a Java program.
     96
     972006-11-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
     98
     99        * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
     100
     1012006-10-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
     102
     103        PR target/24071
     104        * gthr-posix.h (__gthread_active_p): New implementation on Solaris.
     105        * gthr-posix95.h (__gthread_active_p): Likewise.
     106
    11072006-10-30  Jakub Jelinek  <jakub@redhat.com>
    2108
    3109        PR tree-optimization/29637
     
    136242        (init_alias_heapvars): Initialize nonlocal_for_type and
    137243        nonlocal_all.
    138244        (delete_alias_heapvars): Free nonlocal_for_type and null out
    139         nonlocal_all. 
     245        nonlocal_all.
    140246
    1412472006-10-19  Eric Botcazou  <ebotcazou@adacore.com>
    142248
    143249        * fold-const.c (add_double): Rename to add_double_with_sign.
    144250        Add 'unsigned_p' parameter and take it into account for the overflow.
    145         (mul_double): Rename to mul_double_with_sign. 
     251        (mul_double): Rename to mul_double_with_sign.
    146252        Add 'unsigned_p' parameter and take it into account for the overflow.
    147253        (fold_div_compare): Call add_double_with_sign instead of add_double
    148254        and mul_double_with_sign instead of mul_double, passing them the
     
    1993052006-10-17  Wolfgang Gellerich  <gellerich@de.ibm.com>
    200306
    201307        * config/s390/contraints.md: New file.
    202         * config/s390/s390-protos.h (s390_mem_constraint, 
    203         s390_O_constraint_str, s390_N_constraint_str, 
     308        * config/s390/s390-protos.h (s390_mem_constraint,
     309        s390_O_constraint_str, s390_N_constraint_str,
    204310        s390_float_const_zero_p): Function prototypes added.
    205         * config/s390/s390.c (s390_extra_constraint_str, 
    206         s390_const_double_ok_for_constraint_p, 
     311        * config/s390/s390.c (s390_extra_constraint_str,
     312        s390_const_double_ok_for_constraint_p,
    207313        s390_const_ok_for_constraint_p): Functions removed.
    208314        (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
    209315        s390_float_const_zero_p): New functions.
    210316        * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
    211         CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR, 
    212         EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN): 
     317        CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
     318        EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
    213319        Macro definitions removed.
    214320        (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
    215321        s390_extra_constraint_str): Functions removed.
  • gcc/config/arm/rtems-elf.h

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/rtems-elf.h gcc-4.2-20061031/gcc/config/arm/rtems-elf.h
    old new  
    2727#define TARGET_OS_CPP_BUILTINS()                \
    2828    do {                                        \
    2929        builtin_define ("__rtems__");           \
     30        builtin_define ("__USE_INIT_FINI__");   \
    3031        builtin_assert ("system=rtems");        \
    3132    } while (0)
    3233
  • gcc/config/arm/t-arm-coff

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/t-arm-coff gcc-4.2-20061031/gcc/config/arm/t-arm-coff
    old new  
    3131# Currently there is a bug somewhere in GCC's alias analysis
    3232# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
    3333# Disabling function inlining is a workaround for this problem.
    34 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
     34TARGET_LIBGCC2_CFLAGS = -fno-inline
  • gcc/config/arm/t-arm-elf

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/t-arm-elf gcc-4.2-20061031/gcc/config/arm/t-arm-elf
    old new  
    6767# Currently there is a bug somewhere in GCC's alias analysis
    6868# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
    6969# Disabling function inlining is a workaround for this problem.
    70 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
     70TARGET_LIBGCC2_CFLAGS = -fno-inline
    7171
    7272# Assemble startup files.
    7373$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)
  • gcc/config/arm/t-pe

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/t-pe gcc-4.2-20061031/gcc/config/arm/t-pe
    old new  
    2929
    3030LIBGCC = stmp-multilib
    3131INSTALL_LIBGCC = install-multilib
    32 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc
     32TARGET_LIBGCC2_CFLAGS =
     33 No newline at end of file
  • gcc/config/arm/t-strongarm-elf

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/t-strongarm-elf gcc-4.2-20061031/gcc/config/arm/t-strongarm-elf
    old new  
    3232# Currently there is a bug somewhere in GCC's alias analysis
    3333# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
    3434# Disabling function inlining is a workaround for this problem.
    35 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
     35TARGET_LIBGCC2_CFLAGS = -fno-inline
    3636
    3737# Assemble startup files.
    3838$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)
  • gcc/config/arm/t-strongarm-pe

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/t-strongarm-pe gcc-4.2-20061031/gcc/config/arm/t-strongarm-pe
    old new  
    3535# Currently there is a bug somewhere in GCC's alias analysis
    3636# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
    3737# Disabling function inlining is a workaround for this problem.
    38 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
     38TARGET_LIBGCC2_CFLAGS = -fno-inline
  • gcc/config/arm/t-wince-pe

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/t-wince-pe gcc-4.2-20061031/gcc/config/arm/t-wince-pe
    old new  
    3434
    3535LIBGCC = stmp-multilib
    3636INSTALL_LIBGCC = install-multilib
    37 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc
     37TARGET_LIBGCC2_CFLAGS =
  • gcc/config/arm/t-xscale-coff

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/t-xscale-coff gcc-4.2-20061031/gcc/config/arm/t-xscale-coff
    old new  
    4242# Currently there is a bug somewhere in GCC's alias analysis
    4343# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
    4444# Disabling function inlining is a workaround for this problem.
    45 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
     45TARGET_LIBGCC2_CFLAGS = -fno-inline
  • gcc/config/arm/t-xscale-elf

    diff -uNr gcc-4.2-20061031.orig/gcc/config/arm/t-xscale-elf gcc-4.2-20061031/gcc/config/arm/t-xscale-elf
    old new  
    5454# Currently there is a bug somewhere in GCC's alias analysis
    5555# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
    5656# Disabling function inlining is a workaround for this problem.
    57 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
     57TARGET_LIBGCC2_CFLAGS = -fno-inline
    5858
    5959# Assemble startup files.
    6060$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)
  • gcc/config/bfin/bfin.h

    diff -uNr gcc-4.2-20061031.orig/gcc/config/bfin/bfin.h gcc-4.2-20061031/gcc/config/bfin/bfin.h
    old new  
    3939#define TARGET_CPU_CPP_BUILTINS()               \
    4040  do                                            \
    4141    {                                           \
    42       builtin_define ("bfin");                  \
    43       builtin_define ("BFIN");                  \
     42      builtin_define_std ("bfin");                  \
     43      builtin_define_std ("BFIN");                  \
    4444      builtin_define ("__ADSPBLACKFIN__");      \
    4545      if (TARGET_FDPIC)                         \
    4646        builtin_define ("__BFIN_FDPIC__");      \
  • gcc/config/bfin/rtems.h

    diff -uNr gcc-4.2-20061031.orig/gcc/config/bfin/rtems.h gcc-4.2-20061031/gcc/config/bfin/rtems.h
    old new  
     1/* Definitions for rtems targeting a bfin
     2   Copyright (C) 2006 Free Software Foundation, Inc.
     3   Contributed by Ralf Corsépius (ralf.corsepius@rtems.org).
     4
     5This file is part of GCC.
     6
     7GCC is free software; you can redistribute it and/or modify
     8it under the terms of the GNU General Public License as published by
     9the Free Software Foundation; either version 2, or (at your option)
     10any later version.
     11
     12GCC is distributed in the hope that it will be useful,
     13but WITHOUT ANY WARRANTY; without even the implied warranty of
     14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15GNU General Public License for more details.
     16
     17You should have received a copy of the GNU General Public License
     18along with GCC; see the file COPYING.  If not, write to
     19the Free Software Foundation, 51 Franklin Street, Fifth Floor,
     20Boston, MA 02110-1301, USA.  */
     21
     22/* Target OS preprocessor built-ins.  */
     23#define TARGET_OS_CPP_BUILTINS()                \
     24  do                                            \
     25    {                                           \
     26      builtin_define ("__rtems__");             \
     27      builtin_assert ("system=rtems");          \
     28    }                                           \
     29  while (0)
  • gcc/config/c4x/rtems.h

    diff -uNr gcc-4.2-20061031.orig/gcc/config/c4x/rtems.h gcc-4.2-20061031/gcc/config/c4x/rtems.h
    old new  
    2424#define TARGET_OS_CPP_BUILTINS()                \
    2525    do {                                        \
    2626        builtin_define ("__rtems__");           \
    27         builtin_define ("__USE_INIT_FINI__");   \
    2827        builtin_assert ("system=rtems");        \
    2928    } while (0)
  • gcc/config/h8300/h8300.c

    diff -uNr gcc-4.2-20061031.orig/gcc/config/h8300/h8300.c gcc-4.2-20061031/gcc/config/h8300/h8300.c
    old new  
    8383static int h8300_saveall_function_p (tree);
    8484static int h8300_monitor_function_p (tree);
    8585static int h8300_os_task_function_p (tree);
    86 static void h8300_emit_stack_adjustment (int, unsigned int);
    87 static int round_frame_size (int);
     86static void h8300_emit_stack_adjustment (int, HOST_WIDE_INT);
     87static HOST_WIDE_INT round_frame_size (HOST_WIDE_INT);
    8888static unsigned int compute_saved_regs (void);
    8989static void push (int);
    9090static void pop (int);
     
    510510   SIZE to adjust the stack pointer.  */
    511511
    512512static void
    513 h8300_emit_stack_adjustment (int sign, unsigned int size)
     513h8300_emit_stack_adjustment (int sign, HOST_WIDE_INT size)
    514514{
    515515  /* If the frame size is 0, we don't have anything to do.  */
    516516  if (size == 0)
     
    546546
    547547/* Round up frame size SIZE.  */
    548548
    549 static int
    550 round_frame_size (int size)
     549static HOST_WIDE_INT
     550round_frame_size (HOST_WIDE_INT size)
    551551{
    552552  return ((size + STACK_BOUNDARY / BITS_PER_UNIT - 1)
    553553          & -STACK_BOUNDARY / BITS_PER_UNIT);
  • gcc/config/i386/darwin64.h

    diff -uNr gcc-4.2-20061031.orig/gcc/config/i386/darwin64.h gcc-4.2-20061031/gcc/config/i386/darwin64.h
    old new  
     1/* Target definitions for x86_64 running Darwin.
     2   Copyright (C) 2006 Free Software Foundation, Inc.
     3   Contributed by Apple Computer Inc.
     4
     5This file is part of GCC.
     6
     7GCC is free software; you can redistribute it and/or modify
     8it under the terms of the GNU General Public License as published by
     9the Free Software Foundation; either version 2, or (at your option)
     10any later version.
     11
     12GCC is distributed in the hope that it will be useful,
     13but WITHOUT ANY WARRANTY; without even the implied warranty of
     14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15GNU General Public License for more details.
     16
     17You should have received a copy of the GNU General Public License
     18along with GCC; see the file COPYING.  If not, write to
     19the Free Software Foundation, 51 Franklin Street, Fifth Floor,
     20Boston, MA 02110-1301, USA.  */
     21
     22#undef TARGET_VERSION
     23#define TARGET_VERSION fprintf (stderr, " (x86_64 Darwin)");
     24
     25#undef  DARWIN_ARCH_SPEC
     26#define DARWIN_ARCH_SPEC "%{m32:i386;:x86_64}"
     27
     28#undef  DARWIN_SUBARCH_SPEC
     29#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
     30
     31#undef SUBTARGET_EXTRA_SPECS
     32#define SUBTARGET_EXTRA_SPECS                                   \
     33  { "darwin_arch", DARWIN_ARCH_SPEC },                          \
     34  { "darwin_crt2", "" },                                        \
     35  { "darwin_subarch", DARWIN_SUBARCH_SPEC },
  • gcc/config/i386/i386.c

    diff -uNr gcc-4.2-20061031.orig/gcc/config/i386/i386.c gcc-4.2-20061031/gcc/config/i386/i386.c
    old new  
    18471847
    18481848  /* If we're doing fast math, we don't care about comparison order
    18491849     wrt NaNs.  This lets us use a shorter comparison sequence.  */
    1850   if (flag_unsafe_math_optimizations)
     1850  if (flag_finite_math_only)
    18511851    target_flags &= ~MASK_IEEE_FP;
    18521852
    18531853  /* If the architecture always has an FPU, turn off NO_FANCY_MATH_387,
  • gcc/config/i386/i386.md

    diff -uNr gcc-4.2-20061031.orig/gcc/config/i386/i386.md gcc-4.2-20061031/gcc/config/i386/i386.md
    old new  
    1556015560(define_insn "sqrtxf2"
    1556115561  [(set (match_operand:XF 0 "register_operand" "=f")
    1556215562        (sqrt:XF (match_operand:XF 1 "register_operand" "0")))]
    15563   "TARGET_USE_FANCY_MATH_387
    15564    && (TARGET_IEEE_FP || flag_unsafe_math_optimizations) "
     15563  "TARGET_USE_FANCY_MATH_387"
    1556515564  "fsqrt"
    1556615565  [(set_attr "type" "fpspc")
    1556715566   (set_attr "mode" "XF")
  • gcc/config/i386/t-darwin64

    diff -uNr gcc-4.2-20061031.orig/gcc/config/i386/t-darwin64 gcc-4.2-20061031/gcc/config/i386/t-darwin64
    old new  
     1SHLIB_VERPFX = $(srcdir)/config/i386/darwin-libgcc
     2LIB2_SIDITI_CONV_FUNCS=yes
     3LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c
  • gcc/config/mips/elf.h

    diff -uNr gcc-4.2-20061031.orig/gcc/config/mips/elf.h gcc-4.2-20061031/gcc/config/mips/elf.h
    old new  
    4949#undef  ENDFILE_SPEC
    5050#define ENDFILE_SPEC "crtend%O%s crtn%O%s"
    5151
    52 #define NO_IMPLICIT_EXTERN_C 1
    53 
    5452#define HANDLE_PRAGMA_PACK_PUSH_POP 1
  • gcc-4.2-20061031

    diff -uNr gcc-4.2-20061031.orig/gcc/config.gcc gcc-4.2-20061031/gcc/config.gcc
    old new  
    786786        tmake_file=bfin/t-bfin-elf
    787787        use_collect2=no
    788788        ;;
     789bfin*-rtems*)
     790        tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
     791        tmake_file="bfin/t-bfin-elf t-rtems"
     792        use_collect2=no
     793        ;;
    789794bfin*-*)
    790795        tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
    791796        tmake_file=bfin/t-bfin
     
    10131018        with_arch=${with_arch:-nocona}
    10141019        with_cpu=${with_cpu:-generic}
    10151020        ;;
     1021x86_64-*-darwin*)
     1022        with_arch=${with_arch:-nocona}
     1023        with_cpu=${with_cpu:-generic}
     1024        tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin"
     1025        tm_file="${tm_file} ${cpu_type}/darwin64.h"
     1026        ;;
    10161027i[34567]86-*-elf*)
    10171028        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
    10181029        tmake_file="i386/t-i386elf t-svr4"
  • gcc/config.host

    diff -uNr gcc-4.2-20061031.orig/gcc/config.host gcc-4.2-20061031/gcc/config.host
    old new  
    177177  i[34567]86-*-interix3*)
    178178    host_xmake_file="${host_xmake_file} x-interix"
    179179    ;;
    180   i[34567]86-*-darwin*)
     180  i[34567]86-*-darwin* | x86_64-*-darwin*)
    181181    out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o"
    182182    host_xmake_file="${host_xmake_file} i386/x-darwin"
    183183    ;;
  • gcc-4.2-20061031

    diff -uNr gcc-4.2-20061031.orig/gcc/DATESTAMP gcc-4.2-20061031/gcc/DATESTAMP
    old new  
    1 20061031
     120061109
  • gcc/doc/install.texi

    diff -uNr gcc-4.2-20061031.orig/gcc/doc/install.texi gcc-4.2-20061031/gcc/doc/install.texi
    old new  
    38483848To work around this problem, compile with @option{-gstabs+} instead of
    38493849plain @option{-g}.
    38503850
    3851 When configuring the GNU Multiple Precision Library (GMP) version 4.1.x
    3852 on a Solaris 7 or later system, the canonical target triplet must be
    3853 specified as the @command{build} parameter on the configure line:
     3851When configuring the GNU Multiple Precision Library (GMP) or the MPFR
     3852library on a Solaris 7 or later system, the canonical target triplet
     3853must be specified as the @command{build} parameter on the configure
     3854line.  This triplet can be obtained by invoking ./config.guess in
     3855the toplevel source directory of GCC (and not that of GMP or MPFR).
     3856For example on a Solaris 7 system:
    38543857
    38553858@smallexample
    3856 ./configure --build=sparc-sun-solaris2.7 --prefix=xxx --enable-mpfr
     3859   % ./configure --build=sparc-sun-solaris2.7 --prefix=xxx
    38573860@end smallexample
    38583861
    38593862@html
     
    39333936@end html
    39343937@heading @anchor{sparc64-x-solaris2}sparc64-*-solaris2*
    39353938
     3939When configuring the GNU Multiple Precision Library (GMP) or the
     3940MPFR library, the canonical target triplet must be specified as
     3941the @command{build} parameter on the configure line.  For example
     3942on a Solaris 7 system:
     3943
     3944@smallexample
     3945   % ./configure --build=sparc64-sun-solaris2.7 --prefix=xxx
     3946@end smallexample
     3947
    39363948The following compiler flags must be specified in the configure
    39373949step in order to bootstrap this target with the Sun compiler:
    39383950
    39393951@smallexample
    3940    % CC="cc -xildoff -xarch=v9" @var{srcdir}/configure [@var{options}] [@var{target}]
     3952   % CC="cc -xarch=v9 -xildoff" @var{srcdir}/configure [@var{options}] [@var{target}]
    39413953@end smallexample
    39423954
    3943 @option{-xildoff} turns off the incremental linker, and @option{-xarch=v9}
    3944 specifies the SPARC-V9 architecture to the Sun linker and assembler.
     3955@option{-xarch=v9} specifies the SPARC-V9 architecture to the Sun toolchain
     3956and @option{-xildoff} turns off the incremental linker.
    39453957
    39463958@html
    39473959<hr />
  • gcc/doc/invoke.texi

    diff -uNr gcc-4.2-20061031.orig/gcc/doc/invoke.texi gcc-4.2-20061031/gcc/doc/invoke.texi
    old new  
    197197@item Objective-C and Objective-C++ Language Options
    198198@xref{Objective-C and Objective-C++ Dialect Options,,Options Controlling
    199199Objective-C and Objective-C++ Dialects}.
    200 @gccoptlist{
    201 -fconstant-string-class=@var{class-name} @gol
     200@gccoptlist{-fconstant-string-class=@var{class-name} @gol
    202201-fgnu-runtime  -fnext-runtime @gol
    203202-fno-nil-receivers @gol
    204203-fobjc-call-cxx-cdtors @gol
     
    216215@item Language Independent Options
    217216@xref{Language Independent Options,,Options to Control Diagnostic Messages Formatting}.
    218217@gccoptlist{-fmessage-length=@var{n}  @gol
    219 -fdiagnostics-show-location=@r{[}once@r{|}every-line@r{]}} @gol
    220 -fdiagnostics-show-option
     218-fdiagnostics-show-location=@r{[}once@r{|}every-line@r{]}  @gol
     219-fdiagnostics-show-option}
    221220
    222221@item Warning Options
    223222@xref{Warning Options,,Options to Request or Suppress Warnings}.
     
    83528351as well.
    83538352
    83548353@item su
    8355 Like @samp{su}, but the instructions are marked to be safe for software
     8354Like @samp{u}, but the instructions are marked to be safe for software
    83568355completion (see Alpha architecture manual for details).
    83578356
    83588357@item sui
  • gcc/doc/sourcebuild.texi

    diff -uNr gcc-4.2-20061031.orig/gcc/doc/sourcebuild.texi gcc-4.2-20061031/gcc/doc/sourcebuild.texi
    old new  
    11341134Passes if @var{regex} does not match demangled text in the dump file with
    11351135suffix @var{suffix}.
    11361136
     1137@item output-exists [@{ target/xfail @var{selector} @}]
     1138Passes if compiler output file exists.
     1139
     1140@item output-exists-not [@{ target/xfail @var{selector} @}]
     1141Passes if compiler output file does not exist.
     1142
    11371143@item run-gcov @var{sourcefile}
    11381144Check line counts in @command{gcov} tests.
    11391145
  • gcc/fold-const.c

    diff -uNr gcc-4.2-20061031.orig/gcc/fold-const.c gcc-4.2-20061031/gcc/fold-const.c
    old new  
    73977397             - the final type is a pointer type and the initial type not
    73987398             - the initial type is a pointer to an array and the final type
    73997399               not.  */
     7400          /* Java pointer type conversions generate checks in some
     7401             cases, so we explicitly disallow this optimization.  */
    74007402          if (! inside_float && ! inter_float && ! final_float
    74017403              && ! inside_vec && ! inter_vec && ! final_vec
    74027404              && (inter_prec >= inside_prec || inter_prec >= final_prec)
     
    74127414              && final_ptr == inside_ptr
    74137415              && ! (inside_ptr
    74147416                    && TREE_CODE (TREE_TYPE (inside_type)) == ARRAY_TYPE
    7415                     && TREE_CODE (TREE_TYPE (type)) != ARRAY_TYPE))
     7417                    && TREE_CODE (TREE_TYPE (type)) != ARRAY_TYPE)
     7418              && ! ((strcmp (lang_hooks.name, "GNU Java") == 0)
     7419                    && final_ptr))
    74167420            return fold_build1 (code, type, TREE_OPERAND (op0, 0));
    74177421        }
    74187422
     
    1118411188
    1118511189      /* A < 0 ? <sign bit of A> : 0 is simply (A & <sign bit of A>).  */
    1118611190      if (TREE_CODE (arg0) == LT_EXPR
    11187           && integer_zerop (TREE_OPERAND (arg0, 1))
    11188           && integer_zerop (op2)
    11189           && (tem = sign_bit_p (TREE_OPERAND (arg0, 0), arg1)))
    11190         return fold_convert (type,
    11191                              fold_build2 (BIT_AND_EXPR,
    11192                                           TREE_TYPE (tem), tem,
    11193                                           fold_convert (TREE_TYPE (tem), arg1)));
     11191          && integer_zerop (TREE_OPERAND (arg0, 1))
     11192          && integer_zerop (op2)
     11193          && (tem = sign_bit_p (TREE_OPERAND (arg0, 0), arg1)))
     11194        {
     11195          /* sign_bit_p only checks ARG1 bits within A's precision.
     11196             If <sign bit of A> has wider type than A, bits outside
     11197             of A's precision in <sign bit of A> need to be checked.
     11198             If they are all 0, this optimization needs to be done
     11199             in unsigned A's type, if they are all 1 in signed A's type,
     11200             otherwise this can't be done.  */
     11201          if (TYPE_PRECISION (TREE_TYPE (tem))
     11202              < TYPE_PRECISION (TREE_TYPE (arg1))
     11203              && TYPE_PRECISION (TREE_TYPE (tem))
     11204                 < TYPE_PRECISION (type))
     11205            {
     11206              unsigned HOST_WIDE_INT mask_lo;
     11207              HOST_WIDE_INT mask_hi;
     11208              int inner_width, outer_width;
     11209              tree tem_type;
     11210
     11211              inner_width = TYPE_PRECISION (TREE_TYPE (tem));
     11212              outer_width = TYPE_PRECISION (TREE_TYPE (arg1));
     11213              if (outer_width > TYPE_PRECISION (type))
     11214                outer_width = TYPE_PRECISION (type);
     11215
     11216              if (outer_width > HOST_BITS_PER_WIDE_INT)
     11217                {
     11218                  mask_hi = ((unsigned HOST_WIDE_INT) -1
     11219                             >> (2 * HOST_BITS_PER_WIDE_INT - outer_width));
     11220                  mask_lo = -1;
     11221                }
     11222              else
     11223                {
     11224                  mask_hi = 0;
     11225                  mask_lo = ((unsigned HOST_WIDE_INT) -1
     11226                             >> (HOST_BITS_PER_WIDE_INT - outer_width));
     11227                }
     11228              if (inner_width > HOST_BITS_PER_WIDE_INT)
     11229                {
     11230                  mask_hi &= ~((unsigned HOST_WIDE_INT) -1
     11231                               >> (HOST_BITS_PER_WIDE_INT - inner_width));
     11232                  mask_lo = 0;
     11233                }
     11234              else
     11235                mask_lo &= ~((unsigned HOST_WIDE_INT) -1
     11236                             >> (HOST_BITS_PER_WIDE_INT - inner_width));
     11237
     11238              if ((TREE_INT_CST_HIGH (arg1) & mask_hi) == mask_hi
     11239                  && (TREE_INT_CST_LOW (arg1) & mask_lo) == mask_lo)
     11240                {
     11241                  tem_type = lang_hooks.types.signed_type (TREE_TYPE (tem));
     11242                  tem = fold_convert (tem_type, tem);
     11243                }
     11244              else if ((TREE_INT_CST_HIGH (arg1) & mask_hi) == 0
     11245                       && (TREE_INT_CST_LOW (arg1) & mask_lo) == 0)
     11246                {
     11247                  tem_type = lang_hooks.types.unsigned_type (TREE_TYPE (tem));
     11248                  tem = fold_convert (tem_type, tem);
     11249                }
     11250              else
     11251                tem = NULL;
     11252            }
     11253
     11254          if (tem)
     11255            return fold_convert (type,
     11256                                 fold_build2 (BIT_AND_EXPR,
     11257                                              TREE_TYPE (tem), tem,
     11258                                              fold_convert (TREE_TYPE (tem),
     11259                                                            arg1)));
     11260        }
    1119411261
    1119511262      /* (A >> N) & 1 ? (1 << N) : 0 is simply A & (1 << N).  A & 1 was
    1119611263         already handled above.  */
  • gcc-4.2-20061031

    diff -uNr gcc-4.2-20061031.orig/gcc/gcc.c gcc-4.2-20061031/gcc/gcc.c
    old new  
    37443744          switch (c)
    37453745            {
    37463746            case 'b':
    3747               if (NULL == strchr(argv[i] + 2, '-')) break;
     3747              if (NULL == strchr(argv[i] + 2, '-'))
     3748                goto normal_switch;
     3749
     3750              /* Fall through.  */
    37483751            case 'V':
    37493752              fatal ("'-%c' must come at the start of the command line", c);
    37503753              break;
  • gcc/gthr-posix95.h

    diff -uNr gcc-4.2-20061031.orig/gcc/gthr-posix95.h gcc-4.2-20061031/gcc/gthr-posix95.h
    old new  
    109109
    110110#if SUPPORTS_WEAK && GTHREAD_USE_WEAK
    111111
     112/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if
     113   -pthreads is not specified.  The functions are dummies and most return an
     114   error value.  However pthread_once returns 0 without invoking the routine
     115   it is passed so we cannot pretend that the interface is active if -pthreads
     116   is not specified.  On Solaris 2.5.1, the interface is not exposed at all so
     117   we need to play the usual game with weak symbols.  On Solaris 10 and up, a
     118   working interface is always exposed.  */
     119
     120#if defined(__sun) && defined(__svr4__)
     121
     122static volatile int __gthread_active = -1;
     123
     124static void
     125__gthread_trigger (void)
     126{
     127  __gthread_active = 1;
     128}
     129
     130static inline int
     131__gthread_active_p (void)
     132{
     133  static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER;
     134  static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT;
     135
     136  /* Avoid reading __gthread_active twice on the main code path.  */
     137  int __gthread_active_latest_value = __gthread_active;
     138
     139  /* This test is not protected to avoid taking a lock on the main code
     140     path so every update of __gthread_active in a threaded program must
     141     be atomic with regard to the result of the test.  */
     142  if (__builtin_expect (__gthread_active_latest_value < 0, 0))
     143    {
     144      if (__gthrw_(pthread_once))
     145        {
     146          /* If this really is a threaded program, then we must ensure that
     147             __gthread_active has been set to 1 before exiting this block.  */
     148          __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex);
     149          __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger);
     150          __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex);
     151        }
     152
     153      /* Make sure we'll never enter this block again.  */
     154      if (__gthread_active < 0)
     155        __gthread_active = 0;
     156
     157      __gthread_active_latest_value = __gthread_active;
     158    }
     159
     160  return __gthread_active_latest_value != 0;
     161}
     162
     163#else /* not Solaris */
     164
    112165static inline int
    113166__gthread_active_p (void)
    114167{
     
    117170  return __gthread_active_ptr != 0;
    118171}
    119172
     173#endif /* Solaris */
     174
    120175#else /* not SUPPORTS_WEAK */
    121176
    122177static inline int
  • gcc/gthr-posix.h

    diff -uNr gcc-4.2-20061031.orig/gcc/gthr-posix.h gcc-4.2-20061031/gcc/gthr-posix.h
    old new  
    142142
    143143#if SUPPORTS_WEAK && GTHREAD_USE_WEAK
    144144
     145/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if
     146   -pthreads is not specified.  The functions are dummies and most return an
     147   error value.  However pthread_once returns 0 without invoking the routine
     148   it is passed so we cannot pretend that the interface is active if -pthreads
     149   is not specified.  On Solaris 2.5.1, the interface is not exposed at all so
     150   we need to play the usual game with weak symbols.  On Solaris 10 and up, a
     151   working interface is always exposed.  */
     152
     153#if defined(__sun) && defined(__svr4__)
     154
     155static volatile int __gthread_active = -1;
     156
     157static void
     158__gthread_trigger (void)
     159{
     160  __gthread_active = 1;
     161}
     162
     163static inline int
     164__gthread_active_p (void)
     165{
     166  static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER;
     167  static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT;
     168
     169  /* Avoid reading __gthread_active twice on the main code path.  */
     170  int __gthread_active_latest_value = __gthread_active;
     171
     172  /* This test is not protected to avoid taking a lock on the main code
     173     path so every update of __gthread_active in a threaded program must
     174     be atomic with regard to the result of the test.  */
     175  if (__builtin_expect (__gthread_active_latest_value < 0, 0))
     176    {
     177      if (__gthrw_(pthread_once))
     178        {
     179          /* If this really is a threaded program, then we must ensure that
     180             __gthread_active has been set to 1 before exiting this block.  */
     181          __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex);
     182          __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger);
     183          __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex);
     184        }
     185
     186      /* Make sure we'll never enter this block again.  */
     187      if (__gthread_active < 0)
     188        __gthread_active = 0;
     189
     190      __gthread_active_latest_value = __gthread_active;
     191    }
     192
     193  return __gthread_active_latest_value != 0;
     194}
     195
     196#else /* not Solaris */
     197
    145198static inline int
    146199__gthread_active_p (void)
    147200{
     
    150203  return __gthread_active_ptr != 0;
    151204}
    152205
     206#endif /* Solaris */
     207
    153208#else /* not SUPPORTS_WEAK */
    154209
    155210static inline int
  • gcc/Makefile.in

    diff -uNr gcc-4.2-20061031.orig/gcc/Makefile.in gcc-4.2-20061031/gcc/Makefile.in
    old new  
    37293729install-driver: installdirs xgcc$(exeext)
    37303730        -rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
    37313731        -$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
    3732         -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)
     3732        -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
    37333733        -( cd $(DESTDIR)$(bindir) && \
    3734            $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version) )
     3734           $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) )
    37353735        -if [ -f gcc-cross$(exeext) ] ; then \
    37363736          if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
    37373737            rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
  • gcc/simplify-rtx.c

    diff -uNr gcc-4.2-20061031.orig/gcc/simplify-rtx.c gcc-4.2-20061031/gcc/simplify-rtx.c
    old new  
    37473747    return simplify_const_relational_operation (signed_condition (code),
    37483748                                                mode, tem, const0_rtx);
    37493749
    3750   if (flag_unsafe_math_optimizations && code == ORDERED)
     3750  if (! HONOR_NANS (mode) && code == ORDERED)
    37513751    return const_true_rtx;
    37523752
    3753   if (flag_unsafe_math_optimizations && code == UNORDERED)
     3753  if (! HONOR_NANS (mode) && code == UNORDERED)
    37543754    return const0_rtx;
    37553755
    37563756  /* For modes without NaNs, if the two operands are equal, we know the
  • gcc/tree-cfgcleanup.c

    diff -uNr gcc-4.2-20061031.orig/gcc/tree-cfgcleanup.c gcc-4.2-20061031/gcc/tree-cfgcleanup.c
    old new  
    160160
    161161      /* If the last statement of the block could throw and now cannot,
    162162         we need to prune cfg.  */
    163       tree_purge_dead_eh_edges (bb);
     163      retval |= tree_purge_dead_eh_edges (bb);
    164164
    165165      if (bsi_end_p (bsi))
    166166        continue;
Note: See TracBrowser for help on using the repository browser.