[Bug middle-end/23470] a*a (for floats) is not considered always postive (-ffast-math only)

chaoyingfu at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Nov 30 19:26:00 GMT 2006



------- Comment #5 from chaoyingfu at gcc dot gnu dot org  2006-11-30 19:25 -------
Subject: Bug 23470

Author: chaoyingfu
Date: Thu Nov 30 19:24:37 2006
New Revision: 119373

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119373
Log:
Merged revisions 118337-118377 via svnmerge from 
svn+ssh://chaoyingfu@sources.redhat.com/svn/gcc/trunk

........
  r118337 | charlet | 2006-10-31 12:11:46 -0800 (Tue, 31 Oct 2006) | 2 lines

  Resync.
........
  r118338 | fxcoudert | 2006-10-31 12:15:22 -0800 (Tue, 31 Oct 2006) | 12 lines

        PR fortran/29067

        * decl.c (gfc_set_constant_character_len): NULL-terminate the
        character constant string.
        * data.c (create_character_intializer): Likewise.
        * expr.c (gfc_simplify_expr): NULL-terminate the substring
        character constant.
        * primary.c (match_hollerith_constant): NULL-terminate the
        character constant string.

        * gfortran.dg/pr29067.f: New test.
........
  r118339 | fxcoudert | 2006-10-31 12:17:11 -0800 (Tue, 31 Oct 2006) | 2 lines

        * ChangeLog: Forgotten ChangeLog entry for previous commit.
........
  r118340 | charlet | 2006-10-31 12:43:39 -0800 (Tue, 31 Oct 2006) | 2 lines

  Fix typo.
........
  r118341 | tkoenig | 2006-10-31 12:58:26 -0800 (Tue, 31 Oct 2006) | 18 lines

  2006-10-31  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/29627
        * libgfortran.h: Add ERROR_SHORT_RECORD
        * runtime/error.c (translate_error): Add case
        for ERROR_SHORT_RECORD.
        * io/transfer.c (read_block_direct):  Separate codepaths
        for stream and record unformatted I/O.  Remove unneeded
        tests for standard input, padding and formatted I/O.
        If the record is short, read in as much data as possible,
        then raise the error.

  2006-10-31  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/29627
        * gfortran.dg/unf_short_record_1.f90:  New test.
........
  r118343 | sje | 2006-10-31 14:28:18 -0800 (Tue, 31 Oct 2006) | 4 lines

        * inclhack.def (hpux11_extern_sendfile): New.
        (hpux11_extern_sendpath): New.
        * fixincl.x: Regenerate.
........
  r118344 | ebotcazou | 2006-10-31 15:29:06 -0800 (Tue, 31 Oct 2006) | 3 lines

          * gcc.c-torture/execute/20061031-1.c: New test.
........
  r118347 | aldot | 2006-10-31 15:38:58 -0800 (Tue, 31 Oct 2006) | 20 lines

  fortran/ChangeLog:
  2006-11-01  Bernhard Fischer  <aldot@gcc.gnu.org>

          PR fortran/29537
          * trans-common.c (gfc_trans_common): If the blank common is
          in a procedure or program without a name then proc_name is null, so
use
          the locus of the common.
          (gfc_sym_mangled_common_id): Fix whitespace.
          * match.c (gfc_match_common): Emit warning about blank common in
          block data.

  testsuite/ChangeLog:
  2006-11-01  Bernhard Fischer  <aldot@gcc.gnu.org>

          PR fortran/29537
          * gfortran.dg/blockdata_1.f90: Add warning about blank common in
block
        data.
          * gfortran.dg/blockdata_2.f90: New testcase.
........
  r118353 | gccadmin | 2006-10-31 16:17:53 -0800 (Tue, 31 Oct 2006) | 1 line

  Daily bump.
........
  r118355 | sayle | 2006-10-31 18:56:45 -0800 (Tue, 31 Oct 2006) | 10 lines


        PR middle-end/23470
        * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int".
        * fold-const.c (tree_expr_nonnegative_p): Likewise.  Consider
        pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative
        or y is an even integer.

        * gcc.dg/pr23470-1.c: New test case.
........
  r118356 | geoffk | 2006-10-31 20:47:30 -0800 (Tue, 31 Oct 2006) | 27 lines

        * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
        inline static functions in c99 mode.

        PR 16622
        * doc/extend.texi (Inline): Update.
        * c-tree.h (struct language_function): Remove field 'extern_inline'.
        * c-decl.c (current_extern_inline): Delete.
        (pop_scope): Adjust test for an undefined nested function.
        Add warning about undeclared inline function.
        (diagnose_mismatched_decls): Update comments.  Disallow overriding
        of inline functions in a translation unit in C99.  Allow inline
        declarations in C99 at any time.
        (merge_decls): Boolize variables.  Handle C99 'extern inline'
        semantics.
        (grokdeclarator): Set DECL_EXTERNAL here for functions.  Handle
        C99 inline semantics.
        (start_function): Don't clear current_extern_inline.  Don't set
        DECL_EXTERNAL.
        (c_push_function_context): Don't push current_extern_inline.
        (c_pop_function_context): Don't restore current_extern_inline.

        PR 11377
        * c-typeck.c (build_external_ref): Warn about static variables
        used in extern inline functions.
        * c-decl.c (start_decl): Warn about static variables declared
        in extern inline functions.
........
  r118357 | geoffk | 2006-10-31 20:48:15 -0800 (Tue, 31 Oct 2006) | 27 lines

        * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
        inline static functions in c99 mode.

        PR 16622
        * doc/extend.texi (Inline): Update.
        * c-tree.h (struct language_function): Remove field 'extern_inline'.
        * c-decl.c (current_extern_inline): Delete.
        (pop_scope): Adjust test for an undefined nested function.
        Add warning about undeclared inline function.
        (diagnose_mismatched_decls): Update comments.  Disallow overriding
        of inline functions in a translation unit in C99.  Allow inline
        declarations in C99 at any time.
        (merge_decls): Boolize variables.  Handle C99 'extern inline'
        semantics.
        (grokdeclarator): Set DECL_EXTERNAL here for functions.  Handle
        C99 inline semantics.
        (start_function): Don't clear current_extern_inline.  Don't set
        DECL_EXTERNAL.
        (c_push_function_context): Don't push current_extern_inline.
        (c_pop_function_context): Don't restore current_extern_inline.

        PR 11377
        * c-typeck.c (build_external_ref): Warn about static variables
        used in extern inline functions.
        * c-decl.c (start_decl): Warn about static variables declared
        in extern inline functions.
........
  r118358 | geoffk | 2006-10-31 20:53:33 -0800 (Tue, 31 Oct 2006) | 3 lines

        PR 15834
        * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
........
  r118359 | geoffk | 2006-10-31 20:55:19 -0800 (Tue, 31 Oct 2006) | 7 lines

        * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove.
        * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.

        * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@.
        Call dsymutil when compiling and linking one or more source files
        in one step.
........
  r118360 | geoffk | 2006-10-31 21:06:12 -0800 (Tue, 31 Oct 2006) | 23 lines

  In gcc/:
        * coverage.c (coverage_checksum_string): Update comment.
        * dwarf2out.c (switch_to_eh_frame_section): Update for removal
        of get_file_function_name.
        * cgraphunit.c (cgraph_build_static_cdtor): Update for rename
        of get_file_function_name_long.
        * tree.c (get_file_function_name): Rename from
        get_file_function_name_long; improve comment; handle 'I' and 'D'
        specially when the target has ctor/dtor support; remove special
        handling for 'F'.
        (get_file_function_name): Remove.
        * tree.h (get_file_function_name): Rename from
          get_file_function_name_long.
        (get_file_function_name): Remove prototype.
  In gcc/cp/:
        * name-lookup.c (get_anonymous_namespace_name): New.
        (push_namespace_with_attribs): Use get_anonymous_namespace_name.
        * decl2.c (start_objects): Update for rename of
        get_file_function_name_long.
  In gcc/fortran/:
        * trans-decl.c (gfc_generate_constructors): Update for removal
        of get_file_function_name.
........
  r118361 | geoffk | 2006-10-31 21:14:40 -0800 (Tue, 31 Oct 2006) | 49 lines

  2006-09-07  Eric Christopher  <echristo@apple.com>
            Falk Hueffner  <falk@debian.org>

        * doc/extend.texi (__builtin_bswap32): Document.
        (__builtin_bswap64): Ditto.
        * doc/libgcc.texi (bswapsi2): Document.
        (bswapdi2): Ditto.
        * doc/rtl.texi (bswap): Document.
        * optabs.c (expand_unop): Don't widen a bswap.
        (init_optabs): Init bswap. Set libfuncs explicitly
        for bswapsi2 and bswapdi2.
        * optabs.h (OTI_bswap): New.
        (bswap_optab): Ditto.
        * genopinit.c (optabs): Handle bswap_optab.
        * tree.h (tree_index): Add TI_UINT32_TYPE and
        TI_UINT64_TYPE.
        (uint32_type_node): New.
        (uint64_type_node): Ditto.
        * tree.c (build_common_tree_nodes_2): Initialize
        uint32_type_node and uint64_type_node.
        * builtins.c (expand_builtin_bswap): New.
        (expand_builtin): Call.
        (fold_builtin_bswap): New.
        (fold_builtin_1): Call.
        * fold-const.c (tree_expr_nonnegative_p): Return true
        for bswap.
        * builtin-types.def (BT_UINT32): New.
        (BT_UINT64): Ditto.
        (BT_FN_UINT32_UINT32): Ditto.
        (BT_FN_UINT64_UINT64): Ditto.
        * builtins.def (BUILT_IN_BSWAP32): New.
        (BUILT_IN_BSWAP64): Ditto.
        * rtl.def (BSWAP): New.
        * genattrtab.c (check_attr_value): New.
        * libgcc2.c (__bswapSI2): New.
        (__bswapDI2): Ditto.
        * libgcc2.h (__bswapSI2): Declare.
        (__bswapDI2): Ditto.
        * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2.
        * simplify-rtx.c (simplify_const_unary_operation): Return
        0 for BSWAP.
        * libgcc-std.ver (__bwapsi2): Add.
        (__bswapdi2): Ditto.
        * reload1.c (eliminate_regs_1): Add bswap.
        (elimination_effects): Ditto.
        * config/i386/i386.h (x86_bswap): New.
        (TARGET_BSWAP): Use.
        * config/i386/i386.c (x86_bswap): Set.
........
  r118362 | geoffk | 2006-10-31 21:16:14 -0800 (Tue, 31 Oct 2006) | 12 lines

  In gcc/:
        * toplev.c (compile_file): Call final_write_globals
        even if there have been errors.
  In gcc/cp/:
        * decl2.c (cp_write_global_declarations): Rename from
        cp_finish_file.
        * cp-lang.c (finish_file): Don't call cp_finish_file.
        * cp-tree.h (cp_write_global_declarations): Rename from
        cp_finish_file.
        * cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Define to
        cp_write_global_declarations.
........
  r118363 | geoffk | 2006-10-31 21:17:14 -0800 (Tue, 31 Oct 2006) | 1 line

  Add missing genopinit.c change for revision 118361.
........
  r118364 | geoffk | 2006-10-31 21:20:05 -0800 (Tue, 31 Oct 2006) | 10 lines

  2006-10-31  Eric Christopher  <echristo@apple.com>
            Falk Hueffner  <falk@debian.org>

        * gcc.dg/builtin-bswap-1.c: New.
        * gcc.dg/builtin-bswap-2.c: New.
        * gcc.dg/builtin-bswap-3.c: New.
        * gcc.dg/builtin-bswap-4.c: New.
        * gcc.dg/builtin-bswap-5.c: New.
        * gcc.target/i386/builtin-bswap-1.c: New.
........
  r118365 | geoffk | 2006-10-31 21:28:41 -0800 (Tue, 31 Oct 2006) | 28 lines

  In gcc/:
        PR 23067
        * c-decl.c (start_struct): Don't create self-containing
        structures.
        * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
        New.
        * config/rs6000/rs6000-protos.h
        (darwin_rs6000_special_round_type_align): New.
        * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
        (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
  In gcc/testsuite/:
        PR 23067
        * gcc.target/powerpc/darwin-abi-3.c: Remove XFAIL.
        * gcc.target/powerpc/darwin-abi-6.c: Remove XFAIL.
        * gcc.target/powerpc/darwin-abi-7.c: Remove XFAIL.
        * gcc.target/powerpc/darwin-abi-8.c: Remove XFAIL.
        * gcc.target/powerpc/darwin-abi-9.c: Remove XFAIL.
        * gcc.target/powerpc/darwin-abi-10.c: Remove XFAIL.
        * gcc.target/powerpc/darwin-abi-11.c: Remove XFAIL.
  In libobjc/:
        * encoding.c (darwin_rs6000_special_round_type_align): New.
  In libffi/:
        * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
        (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
        Darwin.
        * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
        * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
........
  r118366 | ghazi | 2006-10-31 21:38:21 -0800 (Tue, 31 Oct 2006) | 7 lines

        * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.

  testsuite:
        * gcc.dg/torture/builtin-attr-1.c: Don't test gamma/lgamma.
        * gcc.dg/torture/builtin-convert-1.c: Don't test lgamma.
........
  r118367 | geoffk | 2006-10-31 21:42:01 -0800 (Tue, 31 Oct 2006) | 1 line

  Fix date on ChangeLog entry
........
  r118371 | dannysmith | 2006-10-31 22:23:12 -0800 (Tue, 31 Oct 2006) | 22
lines

        * target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target
        hook.
        * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define
        default.
        * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT):
        Override default.
        * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document.
        * configure.ac (use_cxa_atexit): As a special case, don't test
        for libc definition of __cxa_atexit on mingw32
        * configure: Regenerate.
        * config.gcc (i[34567]86-pc-mingw32): Default to
        enable__cxa_atexit=yes.

  cp

        * decl.c (get_atexit_node): Reference atexit, not __cxa_exit.
        if targetm.cxx.use_atexit_for cxa_atexit.
        (start_cleanup_fn): Likewise.
        (register_dtor_fn): Likewise.
........
  r118372 | pinskia | 2006-10-31 23:28:53 -0800 (Tue, 31 Oct 2006) | 7 lines

  2006-10-31  Andrew Pinski  <pinskia@gmail.com>

          * doc/invoke.texi (-fkeep-inline-functions): Change "GNU C"
          to "GNU C89".
........
  r118373 | rguenth | 2006-11-01 03:38:06 -0800 (Wed, 01 Nov 2006) | 10 lines

  2006-11-01  Richard Guenther  <rguenther@suse.de>

        * config/i386/i386.c (ix86_expand_rint): Fix issues with
        signed zeros.
        (ix86_expand_floorceildf_32): Likewise.
        (ix86_expand_floorceil): Likewise.
        (ix86_expand_trunc): Likewise.

        * testsuite/gcc.target/i386/fpprec-1.c: New testcase.
........
  r118374 | ebotcazou | 2006-11-01 03:58:18 -0800 (Wed, 01 Nov 2006) | 1 line

  Fix asm string.
........
  r118377 | ebotcazou | 2006-11-01 04:09:25 -0800 (Wed, 01 Nov 2006) | 3 lines

        * gcc.c-torture/execute/20061101-1.c: New test.
........

Modified:
    branches/fixed-point/   (props changed)
    branches/fixed-point/fixincludes/ChangeLog
    branches/fixed-point/fixincludes/fixincl.x
    branches/fixed-point/fixincludes/inclhack.def
    branches/fixed-point/gcc/ChangeLog
    branches/fixed-point/gcc/DATESTAMP
    branches/fixed-point/gcc/ada/ChangeLog
    branches/fixed-point/gcc/ada/a-rbtgso.ads
    branches/fixed-point/gcc/builtin-types.def
    branches/fixed-point/gcc/builtins.c
    branches/fixed-point/gcc/builtins.def
    branches/fixed-point/gcc/c-decl.c
    branches/fixed-point/gcc/c-tree.h
    branches/fixed-point/gcc/c-typeck.c
    branches/fixed-point/gcc/cgraphunit.c
    branches/fixed-point/gcc/config.gcc
    branches/fixed-point/gcc/config/darwin.h
    branches/fixed-point/gcc/config/i386/darwin.h
    branches/fixed-point/gcc/config/i386/i386.c
    branches/fixed-point/gcc/config/i386/i386.h
    branches/fixed-point/gcc/config/i386/mingw32.h
    branches/fixed-point/gcc/config/rs6000/darwin.h
    branches/fixed-point/gcc/config/rs6000/rs6000-protos.h
    branches/fixed-point/gcc/config/rs6000/rs6000.c
    branches/fixed-point/gcc/configure
    branches/fixed-point/gcc/configure.ac
    branches/fixed-point/gcc/coverage.c
    branches/fixed-point/gcc/cp/ChangeLog
    branches/fixed-point/gcc/cp/cp-lang.c
    branches/fixed-point/gcc/cp/cp-objcp-common.h
    branches/fixed-point/gcc/cp/cp-tree.h
    branches/fixed-point/gcc/cp/decl.c
    branches/fixed-point/gcc/cp/decl2.c
    branches/fixed-point/gcc/cp/name-lookup.c
    branches/fixed-point/gcc/doc/extend.texi
    branches/fixed-point/gcc/doc/invoke.texi
    branches/fixed-point/gcc/doc/libgcc.texi
    branches/fixed-point/gcc/doc/rtl.texi
    branches/fixed-point/gcc/doc/tm.texi
    branches/fixed-point/gcc/dwarf2out.c
    branches/fixed-point/gcc/fold-const.c
    branches/fixed-point/gcc/fortran/ChangeLog
    branches/fixed-point/gcc/fortran/data.c
    branches/fixed-point/gcc/fortran/decl.c
    branches/fixed-point/gcc/fortran/expr.c
    branches/fixed-point/gcc/fortran/match.c
    branches/fixed-point/gcc/fortran/primary.c
    branches/fixed-point/gcc/fortran/trans-common.c
    branches/fixed-point/gcc/fortran/trans-decl.c
    branches/fixed-point/gcc/genattrtab.c
    branches/fixed-point/gcc/genopinit.c
    branches/fixed-point/gcc/libgcc-std.ver
    branches/fixed-point/gcc/libgcc2.c
    branches/fixed-point/gcc/libgcc2.h
    branches/fixed-point/gcc/mklibgcc.in
    branches/fixed-point/gcc/optabs.c
    branches/fixed-point/gcc/optabs.h
    branches/fixed-point/gcc/reload1.c
    branches/fixed-point/gcc/rtl.def
    branches/fixed-point/gcc/simplify-rtx.c
    branches/fixed-point/gcc/target-def.h
    branches/fixed-point/gcc/target.h
    branches/fixed-point/gcc/testsuite/ChangeLog
    branches/fixed-point/gcc/testsuite/gcc.dg/inline-10.c
    branches/fixed-point/gcc/testsuite/gcc.dg/torture/builtin-attr-1.c
    branches/fixed-point/gcc/testsuite/gcc.dg/torture/builtin-convert-1.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/darwin-abi-10.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/darwin-abi-11.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/darwin-abi-3.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/darwin-abi-6.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/darwin-abi-7.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/darwin-abi-8.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/darwin-abi-9.c
    branches/fixed-point/gcc/testsuite/gfortran.dg/blockdata_1.f90
    branches/fixed-point/gcc/toplev.c
    branches/fixed-point/gcc/tree.c
    branches/fixed-point/gcc/tree.h
    branches/fixed-point/libffi/ChangeLog
    branches/fixed-point/libffi/src/powerpc/ffi_darwin.c
    branches/fixed-point/libffi/testsuite/libffi.call/nested_struct4.c
    branches/fixed-point/libffi/testsuite/libffi.call/nested_struct6.c
    branches/fixed-point/libgfortran/ChangeLog
    branches/fixed-point/libgfortran/io/transfer.c
    branches/fixed-point/libgfortran/libgfortran.h
    branches/fixed-point/libgfortran/runtime/error.c
    branches/fixed-point/libobjc/ChangeLog
    branches/fixed-point/libobjc/encoding.c

Propchange: branches/fixed-point/
            ('svnmerge-integrated' modified)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23470



More information about the Gcc-bugs mailing list