platform/upstream/gcc.git
15 years agotrans.c (call_to_gnu): Use the Sloc of the call for back-copy statements in lieu...
Eric Botcazou [Sat, 16 Aug 2008 20:15:08 +0000 (20:15 +0000)]
trans.c (call_to_gnu): Use the Sloc of the call for back-copy statements in lieu of that of the actual.

* gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
for back-copy statements in lieu of that of the actual.

From-SVN: r139161

15 years agoFix long lines.
Eric Botcazou [Sat, 16 Aug 2008 18:49:51 +0000 (18:49 +0000)]
Fix long lines.

From-SVN: r139160

15 years agore PR middle-end/20548 (ACATS c52103x c52104x c52104y segfault)
Eric Botcazou [Sat, 16 Aug 2008 18:40:57 +0000 (18:40 +0000)]
re PR middle-end/20548 (ACATS c52103x c52104x c52104y segfault)

PR ada/20548
* common.opt (-fstack-check): Do not declare the variable here.
(-fstack-check=): New option variant.
* doc/invoke.texi (Code Gen Options): Document it.
* expr.h (STACK_OLD_CHECK_PROTECT): New macro.
(STACK_CHECK_PROTECT): Bump to 3 pages if DWARF-2 EH is used.
(STACK_CHECK_STATIC_BUILTIN): New macro.
* doc/tm.texi (Stack Checking): Document STACK_CHECK_STATIC_BUILTIN.
* opts.c: Include expr.h.
(common_handle_option) <OPT_fold_stack_check_>: New case.
<OPT_fstack_check>: Likewise.
* calls.c (initialize_argument_information): Use TYPE_SIZE_UNIT
consistently in the test for variable-sized types.  Adjust for
new behaviour of flag_stack_check.
* explow.c: Include except.h.
(allocate_dynamic_stack_space): Do not take into account
STACK_CHECK_MAX_FRAME_SIZE for static builtin stack checking.
* function.c (gimplify_parameters): Use DECL_SIZE_UNIT in the test
for variable-sized parameters.  Treat all parameters whose size is
greater than STACK_CHECK_MAX_VAR_SIZE as variable-sized if generic
stack checking is enabled.
* gimplify.c (gimplify_decl_expr): Treat non-static objects whose
size is greater than STACK_CHECK_MAX_VAR_SIZE as variable-sized
if generic stack checking is enabled.
(expand_function_end): Adjust for new behaviour of flag_stack_check.
* reload1.c (reload): Likewise.
* stmt.c (expand_decl): Assert that all automatic variables have
fixed size at this point and remove dead code.
* flags.h (stack_check_type): New enumeration type.
(flag_stack_check): Declare.
* toplev.c (flag_stack_check): New global variable.
* Makefile.in (opts.o): Add dependency on EXPR_H.
(explow.o): Add dependency on except.h.
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
setjmp test consistently.  Adjust for new behaviour of flag_stack_check.
* gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
test of flag_stack_check.  Adjust for new behaviour of flag_stack_check.

From-SVN: r139159

15 years agore PR fortran/36825 ([F08] Rank > 7 arrays [will break library ABI] libgfortran...
Tobias Burnus [Sat, 16 Aug 2008 15:53:14 +0000 (17:53 +0200)]
re PR fortran/36825 ([F08] Rank > 7 arrays  [will break library ABI]  libgfortran I/O+intrinsics:)

2008-08-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36825
        * libgfortran.h: Reduce GFC_MAX_DIMENSIONS to 7.

2008-08-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36825
        * gfortran.dg/rank_1.f90: Modify error message.

From-SVN: r139152

15 years ago* config/avr/avr.c (avr_override_options): Reduce value of PARAM_INLINE_CALL_COST.
Andy Hutchinson [Sat, 16 Aug 2008 13:38:06 +0000 (13:38 +0000)]
* config/avr/avr.c (avr_override_options): Reduce value of PARAM_INLINE_CALL_COST.

From-SVN: r139151

15 years agoMakefile.tpl: Add BOOT_ADAFLAGS.
Eric Botcazou [Sat, 16 Aug 2008 07:25:30 +0000 (07:25 +0000)]
Makefile.tpl: Add BOOT_ADAFLAGS.

* Makefile.tpl: Add BOOT_ADAFLAGS.
* Makefile.in: Regenerate.

From-SVN: r139149

15 years agore PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
Jerry DeLisle [Sat, 16 Aug 2008 03:42:54 +0000 (03:42 +0000)]
re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")

2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/35863
* gfortran.dg/utf8_1.f03: New test.
* gfortran.dg/utf8_2.f03: New test.

From-SVN: r139148

15 years agore PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
Jerry DeLisle [Sat, 16 Aug 2008 03:38:31 +0000 (03:38 +0000)]
re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")

2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/35863
* intrinsics/selected_char_kind.c: Enable iso_10646.
* io/read.c (typedef uchar): New type.
(read_utf8): New function to read a single UTF-8 encoded character.
(read_utf8_char1): New function to read UTF-8 into a KIND=1 string.
(read_default_char1): New functio to read default into KIND=1 string.
(read_utf8_char4): New function to read UTF-8 into a KIND=4 string.
(read_default_char4): New function to read UTF-8 into a KIND=4 string.
(read_a): Modify to use the new functions.
(read_a_char4): Modify to use the new functions.
* io/write.c (error.h): Add include. (typedef uchar): New type.
(write_default_char4): New function to default write KIND=4 string.
(write_utf8_char4): New function to UTF-8 write KIND=4 string.
(write_a_char4): Modify to use new functions.
(write_character): Modify to use new functions.

From-SVN: r139147

15 years agore PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
Jerry DeLisle [Sat, 16 Aug 2008 03:36:32 +0000 (03:36 +0000)]
re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")

2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/35863
* io.c (gfc_match_open): Enable UTF-8 in checks.
* simplify.c (gfc_simplify_selected_char_kind): Enable iso_10646.

From-SVN: r139146

15 years agoDaily bump.
GCC Administrator [Sat, 16 Aug 2008 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r139142

15 years agoexpr.c (expand_expr_real_1): When converting to BLKmode, try to fetch an inner memory...
Eric Botcazou [Fri, 15 Aug 2008 22:34:52 +0000 (22:34 +0000)]
expr.c (expand_expr_real_1): When converting to BLKmode, try to fetch an inner memory reference.

* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: When converting
to BLKmode, try to fetch an inner memory reference.  Use 'mode' in
lieu of TYPE_MODE (type) throughout.

From-SVN: r139139

15 years agoarm.c (add_minipool_backward_ref): Check for 8-byte-aligned entries in second case...
Joseph Myers [Fri, 15 Aug 2008 20:12:01 +0000 (21:12 +0100)]
arm.c (add_minipool_backward_ref): Check for 8-byte-aligned entries in second case of forcing insertion after a...

* config/arm/arm.c (add_minipool_backward_ref): Check for
8-byte-aligned entries in second case of forcing insertion after a
particular entry.  Change third case to avoid inserting
non-8-byte-aligned entries before 8-byte-aligned ones.

From-SVN: r139135

15 years agotree-ssa-ccp.c (maybe_fold_offset_to_reference): Do not strip components for unknown...
Richard Guenther [Fri, 15 Aug 2008 12:59:16 +0000 (12:59 +0000)]
tree-ssa-ccp.c (maybe_fold_offset_to_reference): Do not strip components for unknown size accesses.

2008-08-15  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ccp.c (maybe_fold_offset_to_reference): Do not
strip components for unknown size accesses.

From-SVN: r139129

15 years agopr30551-6.c: Skip for SPU.
Manuel López-Ibáñez [Fri, 15 Aug 2008 11:23:20 +0000 (11:23 +0000)]
pr30551-6.c: Skip for SPU.

2008-08-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

testsuite/
* gcc.dg/pr30551-6.c: Skip for SPU.
* gcc.dg/pr30551-3.c: Likewise.
* gcc.dg/pr30551.c: Likewise.
* g++.dg/warn/pr30551-2.C: Likewise.
* g++.dg/warn/pr30551.C: Likewise.

From-SVN: r139126

15 years agoFix long line.
Eric Botcazou [Fri, 15 Aug 2008 09:10:25 +0000 (09:10 +0000)]
Fix long line.

From-SVN: r139125

15 years ago2008-08-15 Wolfgang Gellerich <gellerich@de.ibm.com>
Wolfgang Gellerich [Fri, 15 Aug 2008 07:36:40 +0000 (07:36 +0000)]
2008-08-15  Wolfgang Gellerich  <gellerich@de.ibm.com>

* config/s390/2097.md New file.
* config/s390/s390.md ("z10prop" attribute): Define none,
        z10_super, z10_super_E1, z10_super_A1, z10_super_c,
        z10_super_c_E1, z10_fwd, z10_fwd_A1, z10_fwd_A3, z10_fwd_E1,
        z10_rec, z10_fr, z10_fr_A3, z10_fr_E1, z10_c, and z10_cobra as
        possible values and apply them to insns as appropriate.
        ("type" attribute): Removed itof and added ftrunctf,ftruncdf,
        ftruncsd, ftruncdd, itoftf, itofdf, itofsf, itofdd, itoftd,
        fdivdd, fdivtd, floaddd, floadsd, fmuldd, fmultd, fsimpdd,
        fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible
        values.
("bfp" mode attribute): Removed.  Every occurence replaced
with <mode>.
* config/s390/s390.c (struct "z10_cost"): Updated entries.
* config/s390/2084.md (insn_reservation "x_itof"): Updated
          type attribute.

From-SVN: r139124

15 years agoDaily bump.
GCC Administrator [Fri, 15 Aug 2008 00:17:25 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r139121

15 years agore PR libfortran/37123 (libfortran failed to build)
H.J. Lu [Thu, 14 Aug 2008 21:36:31 +0000 (21:36 +0000)]
re PR libfortran/37123 (libfortran failed to build)

2008-08-14  H.J. Lu  <hongjiu.lu@intel.com>

PR libfortran/37123
* intrinsics/cshift0.c (cshift0): Fix 2 typos.

From-SVN: r139117

15 years agore PR fortran/36705 (Procedure pointers with attributes statements)
Janus Weil [Thu, 14 Aug 2008 21:15:59 +0000 (23:15 +0200)]
re PR fortran/36705 (Procedure pointers with attributes statements)

2008-08-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/36705
* symbol.c (check_conflict): Move conflict checks for (procedure,save)
and (procedure,intent) to resolve_fl_procedure.
* resolve.c (resolve_fl_procedure): Ditto.

2008-08-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/36705
* gfortran.dg/argument_checking_7.f90: Modified.
* gfortran.dg/conflicts.f90: Modified.
* gfortran.dg/proc_decl_1.f90: Modified.
* gfortran.dg/proc_ptr_9.f90: New.

From-SVN: r139116

15 years agore PR c++/34485 (ICE with undefined type in template parameter)
Paolo Carlini [Thu, 14 Aug 2008 19:04:05 +0000 (19:04 +0000)]
re PR c++/34485 (ICE with undefined type in template parameter)

/cp
2008-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34485
* pt.c (check_template_shadow): Change to return a bool.
* name-lookup.c (push_class_level_binding): Early return if
check_template_shadow returns false.
* cp-tree.h (check_template_shadow): Adjust declaration.

/testsuite
2008-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34485
* g++.dg/template/crash81.C: New.
* g++.old-deja/g++.benjamin/tem03.C: Adjust.
* g++.old-deja/g++.benjamin/tem04.C: Likewise.
* g++.old-deja/g++.brendan/crash7.C: Likewise.

From-SVN: r139114

15 years agore PR libfortran/36886 (misaligment for cshift of character)
Thomas Koenig [Thu, 14 Aug 2008 18:31:32 +0000 (18:31 +0000)]
re PR libfortran/36886 (misaligment for cshift of character)

2008-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/36886
* Makefile.am:  Added $(i_cshift0_c).
Added $(i_cshift0_c) to gfor_built_specific_src.
Add rule to build from cshift0.m4.
* Makefile.in:  Regenerated.
* libgfortran.h:  Addedd prototypes for cshift0_i1,
cshift0_i2, cshift0_i4, cshift0_i8, cshift0_i16,
cshift0_r4, cshift0_r8, cshift0_r10, cshift0_r16,
cshift0_c4, cshift0_c8, cshift0_c10, cshift0_c16.
Define Macros GFC_UNALIGNED_C4 and GFC_UNALIGNED_C8.
* intrinsics/cshift0.c:  Remove helper functions for
the innter shift loop.
(cshift0):  Call specific functions depending on type
of array argument.  Only call specific functions for
correct alignment for other types.
* m4/cshift0.m4:  New file.
* generated/cshift0_i1.c:  New file.
* generated/cshift0_i2.c:  New file.
* generated/cshift0_i4.c:  New file.
* generated/cshift0_i8:.c  New file.
* generated/cshift0_i16.c:  New file.
* generated/cshift0_r4.c:  New file.
* generated/cshift0_r8.c:  New file.
* generated/cshift0_r10.c:  New file.
* generated/cshift0_r16.c:  New file.
* generated/cshift0_c4.c:  New file.
* generated/cshift0_c8.c:  New file.
* generated/cshift0_c10.c:  New file.
* generated/cshift0_c16.c:  New file.

2008-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/36886
* gfortran.dg/cshift_char_3.f90:  New test case.
* gfortran.dg/cshift_nan_1.f90:  New test case.

From-SVN: r139111

15 years agovisibility-14.c: New test.
Rafael Avila de Espindola [Thu, 14 Aug 2008 16:05:36 +0000 (16:05 +0000)]
visibility-14.c: New test.

2008-08-14  Rafael Avila de Espindola  <espindola@google.com>

* gcc.dg/visibility-14.c: New test.
* gcc.dg/visibility-15.c: New test.
* gcc.dg/visibility-16.c: New test.
* gcc.dg/visibility-17.c: New test.
* gcc.dg/visibility-18.c: New test.
* gcc.dg/visibility-19.c: New test.

From-SVN: r139100

15 years agore PR c++/34600 (ICE with invalid use of extern)
Paolo Carlini [Thu, 14 Aug 2008 15:11:01 +0000 (15:11 +0000)]
re PR c++/34600 (ICE with invalid use of extern)

/cp
2008-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34600
* decl.c (grokdeclarator): In case of extern and initializer, return
error_mark_node after the error.

/testsuite
2008-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34600
* g++.dg/parse/crash43.C: New.

From-SVN: r139099

15 years agore PR c++/28152 (Diagnostic about wrong use _Complex prints __complex__)
Manuel López-Ibáñez [Thu, 14 Aug 2008 13:01:58 +0000 (13:01 +0000)]
re PR c++/28152 (Diagnostic about wrong use _Complex prints __complex__)

2008-08-08  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

        PR c/28152
* c-parser.c (c_lex_one_token): Do not store the canonical spelling
for keywords.
testsuite/
* gcc.dg/parser-pr28152.c: New.
* gcc.dg/parser-pr28152-2.c: New.

From-SVN: r139097

15 years agotree-vect-transform.c (vect_create_epilog_for_reduction): Takes an additional argument.
Dorit Nuzman [Thu, 14 Aug 2008 12:47:56 +0000 (12:47 +0000)]
tree-vect-transform.c (vect_create_epilog_for_reduction): Takes an additional argument.

2008-08-14  Dorit Nuzman  <dorit@il.ibm.com>

        * tree-vect-transform.c (vect_create_epilog_for_reduction): Takes an
        additional argument. Support reduction when duplication is needed due
        to data-types of different sizes in the loop.
        (get_initial_def_for_induction): Fix printout.
        (vect_get_vec_def_for_stmt_copy): Support case where the
        vec_stmt_for_operand is a phi node.
        (vectorizable_reduction): Support reduction when duplication is needed
        due to data-types of different sizes in the loop.
        (vectorizable_call): Remove restriction to not vectorize in case we
        have data-types of different sizes in the loop.
        (vectorizable_conversion): Likewise.
        (vectorizable_operation): Likewise.
        (vectorizable_type_demotion): Likewise.
        (vectorizable_type_promotion): Likewise.
        (vectorizable_induction): Add restriction to not vectorize in case
        we have data-types of different sizes in the loop.

From-SVN: r139096

15 years agore PR target/37101 (wrong code: tree vectorizer omits bogus movq/movlps construct)
Uros Bizjak [Thu, 14 Aug 2008 11:57:18 +0000 (13:57 +0200)]
re PR target/37101 (wrong code: tree vectorizer omits bogus movq/movlps construct)

PR target/37101
* config/i386/sse.md (vec_concatv2di): Remove movlps alternative.
(*vec_concatv2di_rex64_sse4_1): Ditto.
(*vec_concatv2di_rex64_sse): Ditto.

testsuite/ChangeLog:

PR target/37101
* gcc.target/i386/pr37101.c: New test.

From-SVN: r139095

15 years agore PR middle-end/37103 (possible integer codegen bug)
Jakub Jelinek [Thu, 14 Aug 2008 09:02:46 +0000 (11:02 +0200)]
re PR middle-end/37103 (possible integer codegen bug)

PR middle-end/37103
* fold-const.c (fold_widened_comparison): Do not allow
sign changes that change the result even if shorter type
is wider than arg1_unw's type.

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

From-SVN: r139093

15 years agoincoming-1.c: Skip *-*-darwin*.
H.J. Lu [Thu, 14 Aug 2008 04:35:32 +0000 (04:35 +0000)]
incoming-1.c: Skip *-*-darwin*.

2008-08-13  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/incoming-1.c: Skip *-*-darwin*.
* gcc.target/i386/incoming-2.c: Likewise.
* gcc.target/i386/incoming-3.c: Likewise.
* gcc.target/i386/incoming-4.c: Likewise.
* gcc.target/i386/incoming-5.c: Likewise.

From-SVN: r139092

15 years agoRe-instate last patch...
Paolo Carlini [Thu, 14 Aug 2008 01:17:09 +0000 (01:17 +0000)]
Re-instate last patch...

2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

Re-instate last patch, amended to use __exchange_and_add_dispatch
and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.

From-SVN: r139091

15 years agoDaily bump.
GCC Administrator [Thu, 14 Aug 2008 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r139089

15 years agoarm-g2.c, [...]: Skip if the multilib testing specifies -march that does not agree...
Kazu Hirata [Wed, 13 Aug 2008 23:21:12 +0000 (23:21 +0000)]
arm-g2.c, [...]: Skip if the multilib testing specifies -march that does not agree with the one...

* gcc.dg/arm-g2.c, gcc.dg/arm-mmx-1.c, gcc.dg/arm-scd42-2.c:
Skip if the multilib testing specifies -march that does not
agree with the one specified in the testcase.

From-SVN: r139086

15 years agosparc.c (emit_soft_tfmode_cvt): Explicitly sign or zero extend SImode values being...
Joseph Myers [Wed, 13 Aug 2008 20:52:22 +0000 (21:52 +0100)]
sparc.c (emit_soft_tfmode_cvt): Explicitly sign or zero extend SImode values being converted to TFmode before...

* config/sparc/sparc.c (emit_soft_tfmode_cvt): Explicitly sign or
zero extend SImode values being converted to TFmode before passing
to libcalls.

From-SVN: r139084

15 years agors6000-c.c (rs6000_cpu_cpp_builtins): Predefine __PPU__ when targeting the Cell/B...
Ulrich Weigand [Wed, 13 Aug 2008 20:36:57 +0000 (20:36 +0000)]
rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine __PPU__ when targeting the Cell/B.E. PPU processor.

* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
__PPU__ when targeting the Cell/B.E. PPU processor.

From-SVN: r139082

15 years ago2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Wed, 13 Aug 2008 20:10:42 +0000 (20:10 +0000)]
2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

Revert the last patch.

From-SVN: r139075

15 years ago2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Wed, 13 Aug 2008 20:08:55 +0000 (20:08 +0000)]
2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

Revert the last patch.

From-SVN: r139074

15 years agogimple.h (gimple_call_set_chain): Accept SSA variables.
Eric Botcazou [Wed, 13 Aug 2008 19:38:39 +0000 (19:38 +0000)]
gimple.h (gimple_call_set_chain): Accept SSA variables.

* gimple.h (gimple_call_set_chain): Accept SSA variables.
* tree-ssa-pre.c (create_component_ref_by_pieces_1) <CALL_EXPR>:
Rematerialize the static chain, if any.
* tree-ssa-sccvn.c (copy_reference_ops_from_call): Also copy the
static chain.

From-SVN: r139072

15 years agodwarf2out.c (dwarf_stack_op_name): Remove prototype.
H.J. Lu [Wed, 13 Aug 2008 18:25:14 +0000 (18:25 +0000)]
dwarf2out.c (dwarf_stack_op_name): Remove prototype.

2008-08-13  H.J. Lu  <hongjiu.lu@intel.com>

* dwarf2out.c (dwarf_stack_op_name): Remove prototype.
(new_loc_descr): Likewise.
(add_loc_descr): Likewise.
(size_of_loc_descr): Likewise.
(size_of_locs): Likewise.
(output_loc_operands): Likewise.
(output_loc_sequence): Likewise.
(new_reg_loc_descr): New.
(build_cfa_loc): Use it.
(build_cfa_aligned_loc): Likewise.
(one_reg_loc_descriptor): Likewise.
(based_loc_descr): Likewise.

From-SVN: r139065

15 years agoAdd exception propagation support as per N2179.
Sebastian Redl [Wed, 13 Aug 2008 18:14:51 +0000 (20:14 +0200)]
Add exception propagation support as per N2179.

2008-08-13  Sebastian Redl <sebastian.redl@getdesigned.at>

Add exception propagation support as per N2179.
        * libsupc++/exception_ptr.h (exception_ptr, current_exception,
        copy_exception, rethrow_exception): New file, implement exception
propagation.
        * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
        rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
        __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
        __gxx_dependent_exception_class, __get_object_from_ue,
        __get_object_from_ambiguous_exception): Add.
        (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
        (__is_gxx_exception_class): Handle dependent exceptions.
        * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
        * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
        * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
        * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
        * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception): Add.
        * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
        counting.
        * libsupc++/exception: Conditionally include exception_ptr.h.
        * libsupc++/Makefile.am: Register new files.
        * libsupc++/Makefile.in: Regenerate.
        * config/abi/pre/gnu.ver: Add new symbols.
        * testsuite/18_support/exception_ptr/current_exception.cc: Test the
        core functionality of current_exception().
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
        core functionality of rethrow_exception().
        * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
        exception objects during exception propagation.

From-SVN: r139064

15 years agore PR c/30551 (-pedantic does not include -Wmain, but -pedantic-errors does make...
Manuel López-Ibáñez [Wed, 13 Aug 2008 17:57:47 +0000 (17:57 +0000)]
re PR c/30551 (-pedantic does not include -Wmain, but -pedantic-errors does make -Wmain cause error messages)

2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR 30551
* doc/invoke.texi (Wmain): Update.
* c-decl.c (start_decl): warn_main is only 0 or 1.
(start_function): Likewise. Fix formatting.
(finish_function): Delete redundant warning.
* c.opt (Wmain): Add Var(warn_main) and Init(-1).
* c-opts (c_common_handle_option): -Wall only has effect if
warn_main is uninitialized. OPT_Wmain is automatically
handled. -pedantic also enables Wmain.
(c_common_post_options): Handle all logic for Wmain here.
* c-common.c (warn_main): Delete.
(check_main_parameter_types): Make pedwarns conditional on
OPT_Wmain.
* c-common.h (warn_main): Delete.
cp/
* decl.c (grokfndecl): Call check_main_parameters_type only if
-Wmain.
testsuite/
* gcc.dg/pr30551.c: New.
* gcc.dg/pr30551-2.c: New.
* gcc.dg/pr30551-3.c: New.
* gcc.dg/pr30551-4.c: New.
* gcc.dg/pr30551-5.c: New.
* gcc.dg/pr30551-6.c: New.
* gcc.dg/tree-ssa/reassoc-3.c: Don't compile with -pedantic-errors.
* g++.dg/warn/pr30551.C: New.
* g++.dg/warn/pr30551-2.C: New.

From-SVN: r139063

15 years agore PR middle-end/36701 (unaligned access in gcc.c-torture/execute/complex-7.c)
H.J. Lu [Wed, 13 Aug 2008 16:20:42 +0000 (16:20 +0000)]
re PR middle-end/36701 (unaligned access in gcc.c-torture/execute/complex-7.c)

2008-08-13  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/36701
* expr.c (emit_group_store): Allocate stack temp with the
largest alignment when copying from register to stack.

From-SVN: r139062

15 years agotree.h (maybe_fold_offset_to_address): Declare.
Richard Guenther [Wed, 13 Aug 2008 14:22:19 +0000 (14:22 +0000)]
tree.h (maybe_fold_offset_to_address): Declare.

2008-08-13  Richard Guenther  <rguenther@suse.de>

* tree.h (maybe_fold_offset_to_address): Declare.
* tree-ssa-ccp.c (surely_varying_stmt_p): Fix typo in last commit.
(ccp_fold): Handle pointer conversions the same as fold_stmt.
Likewise for POINTER_PLUS_EXPR.
(maybe_fold_offset_to_reference): Enable disabled code.
(maybe_fold_offset_to_address): New function.
(fold_stmt_r): Use it.
(fold_gimple_assign): Likewise.
* gimplify.c (gimplify_conversion): Use maybe_fold_offset_to_address.
(gimplify_expr): Likewise.

* gcc.dg/tree-ssa/ssa-ccp-21.c: New testcase.
* gcc.dg/tree-ssa/ssa-ccp-22.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise.

From-SVN: r139061

15 years agotoplev.h (pedwarn_at): Fix declaration.
Manuel López-Ibáñez [Wed, 13 Aug 2008 12:26:18 +0000 (12:26 +0000)]
toplev.h (pedwarn_at): Fix declaration.

2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* toplev.h (pedwarn_at): Fix declaration.

From-SVN: r139054

15 years agolinux64.h (LINK_ARCH32_SPEC, [...]): Use %R in -Y P argument.
Joseph Myers [Wed, 13 Aug 2008 11:51:41 +0000 (12:51 +0100)]
linux64.h (LINK_ARCH32_SPEC, [...]): Use %R in -Y P argument.

* config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
LINK_SPEC): Use %R in -Y P argument.

From-SVN: r139053

15 years agonew file
Aldy Hernandez [Wed, 13 Aug 2008 10:58:47 +0000 (10:58 +0000)]
new file

From-SVN: r139052

15 years agore PR ada/36777 (Protected type cannot have access taken from its body.)
Samuel Tardieu [Wed, 13 Aug 2008 10:57:43 +0000 (10:57 +0000)]
re PR ada/36777 (Protected type cannot have access taken from its body.)

    gcc/ada/
PR ada/36777
* sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
* sem_attr.adb (Check_Type): The current instance of a protected
object is not a type name.
(Analyze_Access_Attribute): Accept instances of protected objects.
(Analyze_Attribute, Attribute_Address clause): Ditto.
* exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
the prefix as being the current instance if needed.

    gcc/testsuite/
PR ada/36777
* gnat.dg/protected_self_ref1.adb, gnat.dg/protected_self_ref2.adb:
New.

From-SVN: r139051

15 years agore PR c/15236 (pedantic switch modifies treatment of non-ISO compliant enumerations)
Manuel López-Ibáñez [Wed, 13 Aug 2008 10:19:03 +0000 (10:19 +0000)]
re PR c/15236 (pedantic switch modifies treatment of non-ISO compliant enumerations)

2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c/15236
* diagnostic.c (pedwarn_at): New.
* toplev.h (pedwarn_at): Declare.
* c-tree.h (build_enumerator): Update declaration.
* c-decl.c (finish_enum): Update comment.
(build_enumerator): Take a location parameter. Give a pedwarn but do
not perform any conversion.
* c-parser.c (c_parser_enum_specifier): Set correct location for
enumerator.
testsuite/
* gcc.dg/pr15236.c: New.
* gcc.dg/torture/pr25183.c: Update.

From-SVN: r139050

15 years agore PR c/35635 (-Wconversion problematic with bitfields)
Manuel López-Ibáñez [Wed, 13 Aug 2008 10:01:52 +0000 (10:01 +0000)]
re PR c/35635 (-Wconversion problematic with bitfields)

2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR 35635
* c-common.c (conversion_warning): Use a switch. Ignore boolean
expressions except for conversions to signed:1 bitfields. Handle
COND_EXPR with constant operands.
testsuite/
* gcc.dg/pr35635.c: New.
* gcc.dg/Wconversion-integer.c: Update.
* gcc.dg/Wconversion-integer-no-sign.c: Update.
* gcc.dg/Wsign-conversion.c: Update.
* g++.dg/warn/pr35635.C: New.
* g++.dg/warn/Wconversion-integer.C: Update.
* g++.dg/warn/Wsign-conversion.C: Update.

From-SVN: r139049

15 years agore PR tree-optimization/15255 ([tree-ssa] a * 2 + a * 2 is not converted to a * 4)
Richard Guenther [Wed, 13 Aug 2008 08:57:20 +0000 (08:57 +0000)]
re PR tree-optimization/15255 ([tree-ssa] a * 2 + a * 2 is not converted to a * 4)

2008-08-13  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/15255
* tree-ssa-reassoc.c (linearize_expr_tree): Declare.
(struct oecount_s): New struct and VEC types.
(cvec): New global.
(oecount_hash): New function.
(oecount_eq): Likewise.
(oecount_cmp): Likewise.
(zero_one_operation): New function.
(build_and_add_sum): Likewise.
(undistribute_ops_list): Perform un-distribution of multiplication
and division on the chain of summands.
(should_break_up_subtract): Also break up subtracts for factors.
(reassociate_bb): Delete dead visited statements.
Call undistribute_ops_list.  Re-sort and optimize if it did something.
* passes.c (init_optimization_passes): Move DSE before
reassociation.
* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Correctly handle
PHI nodes.

* gcc.dg/tree-ssa/reassoc-14.c: New testcase.
* gcc.dg/tree-ssa/reassoc-15.c: Likewise.
* gcc.dg/tree-ssa/reassoc-16.c: Likewise.
* gcc.dg/torture/reassoc-1.c: Likewise.
* gcc.dg/tree-ssa/recip-2.c: Adjust.
* gcc.dg/tree-ssa/recip-6.c: Likewise.
* gcc.dg/tree-ssa/recip-7.c: Likewise.
* gfortran.dg/reassoc_4.f: Likewise.

From-SVN: r139048

15 years agoDaily bump.
GCC Administrator [Wed, 13 Aug 2008 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r139045

15 years ago* doc/invoke.texi (-fipa-pta): Say the option is experimental.
Janis Johnson [Tue, 12 Aug 2008 23:46:45 +0000 (23:46 +0000)]
* doc/invoke.texi (-fipa-pta): Say the option is experimental.

From-SVN: r139042

15 years agore PR libstdc++/37100 (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits...
Paolo Carlini [Tue, 12 Aug 2008 23:14:10 +0000 (23:14 +0000)]
re PR libstdc++/37100 (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_pair.h:99: error 404)

2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/37100
* include/bits/stl_pair.h: Fix documentation URL in comment.

From-SVN: r139040

15 years agopr32000-2.c: Use dg-skip-if for target expression.
Janis Johnson [Tue, 12 Aug 2008 21:23:11 +0000 (21:23 +0000)]
pr32000-2.c: Use dg-skip-if for target expression.

* gcc.target/i386/pr32000-2.c: Use dg-skip-if for target expression.
* gcc.target/i386/stackalign/return-3.c: Ditto.
* gcc.target/sparc/ultrasp3.c: Ditto.
* lib/target-supports-dg.exp (dg-require-effective-target): Error
if argument is not a single effective-target keyword.

From-SVN: r139039

15 years ago* doc/invoke.texi: Revert unintended checkin.
Janis Johnson [Tue, 12 Aug 2008 21:20:57 +0000 (21:20 +0000)]
* doc/invoke.texi: Revert unintended checkin.

From-SVN: r139038

15 years agore PR testsuite/36087 (test failures between revs. 134696 and 134717)
Janis Johnson [Tue, 12 Aug 2008 21:18:54 +0000 (21:18 +0000)]
re PR testsuite/36087 (test failures between revs. 134696 and 134717)

PR testsuite/36087
* gcc.dg/var-expand3.c: Fix name of dump file.

From-SVN: r139037

15 years agodecl5.C: Expand new expected errors.
Paolo Carlini [Tue, 12 Aug 2008 20:05:15 +0000 (20:05 +0000)]
decl5.C: Expand new expected errors.

2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.old-deja/g++.other/decl5.C: Expand new expected errors.

From-SVN: r139036

15 years agodecl5.C: Expand new expected errors.
Paolo Carlini [Tue, 12 Aug 2008 20:05:02 +0000 (20:05 +0000)]
decl5.C: Expand new expected errors.

2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.old-deja/g++.other/decl5.C: Expand new expected errors.

From-SVN: r139035

15 years agore PR c++/37087 (Segfault on compiling template defined in wrong namespace.)
Paolo Carlini [Tue, 12 Aug 2008 19:38:02 +0000 (19:38 +0000)]
re PR c++/37087 (Segfault on compiling template defined in wrong namespace.)

/cp
2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/37087
* parser.c (cp_parser_class_head): Early return error_mark_node in
case of global qualification of class name or qualified name that
does not name a class.

/testsuite
2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/37087
* g++.dg/template/crash80.C: New.
* g++.old-deja/g++.other/decl5.C: Adjust.

From-SVN: r139034

15 years agore PR libgomp/26165 (Cannot find libgomp.spec after 'make install' on x86_64 and...
Nathan Froyd [Tue, 12 Aug 2008 18:19:08 +0000 (18:19 +0000)]
re PR libgomp/26165 (Cannot find libgomp.spec after 'make install' on x86_64 and ppc64)

PR libgomp/26165

* gcc.c (include_spec_function): Tweak call to find_a_file.

From-SVN: r139031

15 years agore PR middle-end/37014 (internal compiler error: in expand_expr_real_1, at expr.c...
Jakub Jelinek [Tue, 12 Aug 2008 18:05:43 +0000 (20:05 +0200)]
re PR middle-end/37014 (internal compiler error: in expand_expr_real_1, at expr.c:8760)

PR middle-end/37014
* expr.c (expand_expr_real_1): Handle TRUTH_ANDIF_EXPR
and TRUTH_ORIF_EXPR.
* dojump.c (do_jump): Likewise.

* gcc.c-torture/compile/20080812-1.c: New test.

From-SVN: r139029

15 years agore PR tree-optimization/37084 (ICE in gimple_assign_rhs1)
Jakub Jelinek [Tue, 12 Aug 2008 17:57:49 +0000 (19:57 +0200)]
re PR tree-optimization/37084 (ICE in gimple_assign_rhs1)

PR tree-optimization/37084
* tree-inline.c (copy_bb): Call gimple_regimplify_operands
if id->regimplify, don't assume stmt is a cast assignment.

* g++.dg/tree-ssa/pr37084.C: New test.

From-SVN: r139028

15 years ago2008-08-12 Johannes Singler <singler@ira.uka.de>
Johannes Singler [Tue, 12 Aug 2008 17:23:00 +0000 (17:23 +0000)]
2008-08-12  Johannes Singler  <singler@ira.uka.de>

        * include/paralle/losertree.h
        (LoserTreePointerBase<>::~LoserTreePointerBase):
        Replace delete by appropriate delete[].

From-SVN: r139026

15 years agoFix final.c.
Anatoly Sokolov [Tue, 12 Aug 2008 17:22:28 +0000 (21:22 +0400)]
Fix final.c.

From-SVN: r139025

15 years ago* final.c (final_scan_insn): Use app_enable/app_disable functions.
Anatoly Sokolov [Tue, 12 Aug 2008 17:13:45 +0000 (21:13 +0400)]
* final.c (final_scan_insn): Use app_enable/app_disable functions.

From-SVN: r139024

15 years agore PR bootstrap/37097 (Revision 139014 failed to bootstrap)
Ulrich Weigand [Tue, 12 Aug 2008 14:35:54 +0000 (14:35 +0000)]
re PR bootstrap/37097 (Revision 139014 failed to bootstrap)

PR bootstrap/37097
* builtins.c (do_mpfr_bessel_n): Fix copy-and-paste bug introduced
by last change.
-This line, and those below, will be ignored--

M    gcc/builtins.c
M    gcc/ChangeLog

From-SVN: r139019

15 years agodefaults.h (TARGET_FLOAT_FORMAT): Remove.
Ulrich Weigand [Tue, 12 Aug 2008 13:27:30 +0000 (13:27 +0000)]
defaults.h (TARGET_FLOAT_FORMAT): Remove.

ChangeLog:

* defaults.h (TARGET_FLOAT_FORMAT): Remove.
(UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT): Remove.

* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Remove.
* config/iq2000/iq2000.h (TARGET_FLOAT_FORMAT): Remove.
* config/pdp11/pdp11.h (TARGET_FLOAT_FORMAT): Remove.
* config/score/score.h (TARGET_FLOAT_FORMAT): Remove.
* config/vax/vax.h (TARGET_FLOAT_FORMAT): Remove.

* doc/tm.texi (Storage Layout): Remove documentation for
TARGET_FLOAT_FORMAT.

* simplify-rtx.c (simplify_binary_operation_1): Replace
TARGET_FLOAT_FORMAT check by appropriate HONOR_... checks.

java/ChangeLog:

* typeck.c (convert): Do not check for TARGET_FLOAT_FORMAT.

From-SVN: r139017

15 years agoreal.h (struct real_format): New member has_sign_dependent_rounding.
Ulrich Weigand [Tue, 12 Aug 2008 13:25:22 +0000 (13:25 +0000)]
real.h (struct real_format): New member has_sign_dependent_rounding.

* real.h (struct real_format): New member has_sign_dependent_rounding.
* real.c (ieee_single_format, mips_single_format, motorola_single_format,
spu_single_format, ieee_double_format, mips_double_format,
motorola_double_format, ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
ieee_extended_intel_96_round_53_format, ibm_extended_format,
mips_extended_format, ieee_quad_format, mips_quad_format,
vax_f_format, vax_d_format, vax_g_format): Initialize it.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.

* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
* config/spu/spu.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
(ROUND_TOWARDS_ZERO): Likewise.

* real.h (REAL_MODE_FORMAT): Protect MODE against macro expansion.
(FLOAT_MODE_FORMAT): New macro.
(REAL_MODE_FORMAT_COMPOSITE_P): Remove, replace by ...
(MODE_COMPOSITE_P): ... this new macro.
(MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
MODE_HAS_SIGN_DEPENDENT_ROUNDING): New macros.
* machmode.h (GET_MODE_INNER): Cast result to enum machine_mode.

* flags.h: Include "real.h".

* fold-const.c (const_binop): Use MODE_COMPOSITE_P instead of
REAL_MODE_FORMAT_COMPOSITE_P.
* simplify-rtx.c (simplify_const_binary_operation): Likewise.

* doc/tm.texi (Storage Layout): Remove documentation of
MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
MODE_HAS_SIGN_DEPENDENT_ROUNDING.  Update documentation of
ROUND_TOWARDS_ZERO and LARGEST_EXPONENT_IS_NORMAL to clarify
they only apply to libgcc2.a.

From-SVN: r139016

15 years agofloat_disf.c: New file.
Ulrich Weigand [Tue, 12 Aug 2008 13:22:27 +0000 (13:22 +0000)]
float_disf.c: New file.

* config/spu/float_disf.c: New file.
* config/spu/float_unsdisf.c: New file.
* config/spu/t-elf (LIB2FUNCS_STATIC_EXTRA): Add them.
(LIB2FUNCS_EXCLUDE): Define.

From-SVN: r139015

15 years agoreal.h (struct real_format): New member round_towards_zero.
Ulrich Weigand [Tue, 12 Aug 2008 13:19:40 +0000 (13:19 +0000)]
real.h (struct real_format): New member round_towards_zero.

ChangeLog:

* real.h (struct real_format): New member round_towards_zero.
* real.c (round_for_format): Respect fmt->round_towards_zero.
(ieee_single_format, mips_single_format, motorola_single_format,
spu_single_format, ieee_double_format, mips_double_format,
motorola_double_format, ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
ieee_extended_intel_96_round_53_format, ibm_extended_format,
mips_extended_format, ieee_quad_format, mips_quad_format,
vax_f_format, vax_d_format, vax_g_format): Initialize it.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.

* builtins.s (do_mpfr_arg1): Consider round_towards_zero member of
real_format to choose rounding mode when calling MPFR functions.
(do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Likewise.
(do_mpfr_bessel_n, do_mpfr_remquo, do_mpfr_lgamma_r): Likewise.

* real.h (real_to_decimal_for_mode): Add prototype.
* real.c (real_to_decimal_for_mode): Renames old real_to_decimal.
Respect target rounding mode when generating decimal representation.
(real_to_decimal): New stub for backwards compatibility.
* c-cppbuiltin.c (builtin_define_with_hex_fp_value): Use
real_to_decimal_for_mode instead of real_to_decimal.

* config/spu/spu.md ("floatdisf2", "floatunsdisf2"): New.

testsuite/ChangeLog:

* gcc.c-torture/execute/20031003-1.c (main): Update test to
accommodate SPU single-precision rounding mode.
* gcc.c-torture/execute/conversion.c (test_float_to_integer,
test_float_to_longlong_integer): Likewise.
* gcc.c-torture/execute/ieee/rbug.c (main): Likewise.
* gcc.dg/hex-round-1.c: Skip test on SPU.
* gcc.dg/hex-round-2.c: Likewise.

Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
From-SVN: r139014

15 years agoreal.c (spu_single_format): New variable.
Ulrich Weigand [Tue, 12 Aug 2008 13:13:38 +0000 (13:13 +0000)]
real.c (spu_single_format): New variable.

ChangeLog:

* real.c (spu_single_format): New variable.
* real.h (spu_single_format): Declare.

* config/spu/spu.c (spu_override_options): Install SFmode format.
(spu_split_immediate): Use integer mode to operate on pieces of
floating-point values in all cases.

* config/spu/spu.md (UNSPEC_FLOAT_EXTEND, UNSPEC_FLOAT_TRUNCATE): New.
("extendsfdf2"): Use UNSPEC_FLOAT_EXTEND instead of FLOAT_EXTEND.
("truncdfsf2"): Use UNSPEC_FLOAT_TRUNCATE instead of FLOAT_TRUNCATE.

testsuite/ChangeLog:

* gcc.c-torture/execute/ieee/inf-2.c (testf): Skip on the SPU.

Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
From-SVN: r139013

15 years ago* config/spu/spu.c (spu_safe_dma): Respect TARGET_SAFE_DMA.
Ulrich Weigand [Tue, 12 Aug 2008 13:09:09 +0000 (13:09 +0000)]
* config/spu/spu.c (spu_safe_dma): Respect TARGET_SAFE_DMA.

From-SVN: r139011

15 years ago* config/spu/spu.h (DWARF_FRAME_RETURN_COLUMN): Define.
Ulrich Weigand [Tue, 12 Aug 2008 13:06:32 +0000 (13:06 +0000)]
* config/spu/spu.h (DWARF_FRAME_RETURN_COLUMN): Define.

From-SVN: r139009

15 years agoconfigure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and GLIBCXX_CHECK_C99_TR1...
Paolo Carlini [Tue, 12 Aug 2008 10:41:26 +0000 (10:41 +0000)]
configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and GLIBCXX_CHECK_C99_TR1...

2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

* configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and
GLIBCXX_CHECK_C99_TR1; remove sigsetjmp and mmap checks (unused).
* crossconfig.m4: Adjust; remove HAVE_GETPAGESIZE defines (unused).
* configure: Regenerate.
* config.h.in: Likewise.

* acinclude.m4: Minor formatting fixes.

From-SVN: r139008

15 years agodg-do run the test instead of compile.
Jakub Jelinek [Tue, 12 Aug 2008 08:28:30 +0000 (10:28 +0200)]
dg-do run the test instead of compile.

From-SVN: r139005

15 years agore PR c++/36688 (Incorrect struct assignments with nested const initializers)
Jakub Jelinek [Tue, 12 Aug 2008 08:07:57 +0000 (10:07 +0200)]
re PR c++/36688 (Incorrect struct assignments with nested const initializers)

PR c++/36688
* gimplify.c (gimplify_modify_expr_rhs): Test TREE_READONLY
on the VAR_DECL instead of TYPE_READONLY on its type.

* g++.dg/init/const6.C: New test.

From-SVN: r139004

15 years agoFix my email address.
Volker Reichelt [Tue, 12 Aug 2008 06:57:53 +0000 (06:57 +0000)]
Fix my email address.

From-SVN: r138995

15 years agotree-vectorizer.c: Depend on langhooks.h.
Ira Rosen [Tue, 12 Aug 2008 06:31:57 +0000 (06:31 +0000)]
tree-vectorizer.c: Depend on langhooks.h.

* tree-vectorizer.c: Depend on langhooks.h.
(supportable_widening_operation): Add two arguments. Support double
type conversions.
(supportable_narrowing_operation): Likewise.
* tree-vectorizer.h (supportable_widening_operation): Add two
arguments.
(supportable_narrowing_operation): Likewise.
* tree-vect-patterns.c (vect_recog_widen_mult_pattern) : Call
supportable_widening_operation with correct arguments.
* tree-vect-transform.c (vectorizable_conversion): Likewise.
(vectorizable_type_demotion): Support double type conversions.
(vectorizable_type_promotion): Likewise.
* Makefile.in (tree-vectorizer.o): Depend on langhooks.h.

From-SVN: r138988

15 years agoMakefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove duplicate s-win32.o.
Danny Smith [Tue, 12 Aug 2008 06:01:59 +0000 (06:01 +0000)]
Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove duplicate s-win32.o.

* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]: Remove
duplicate s-win32.o. Add s-winext.o.

From-SVN: r138978

15 years agog-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM with SOSC.SOCK__STREAM.
Danny Smith [Tue, 12 Aug 2008 05:42:28 +0000 (05:42 +0000)]
g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM with SOSC.SOCK__STREAM.

* g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
with SOSC.SOCK__STREAM.
* g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
SOSC.MSG_OOB.

From-SVN: r138974

15 years agoDaily bump.
GCC Administrator [Tue, 12 Aug 2008 00:16:43 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r138970

15 years agoFormatting fixes for include/tr1_impl/regex.
Stephen M. Webb [Mon, 11 Aug 2008 21:06:00 +0000 (21:06 +0000)]
Formatting fixes for include/tr1_impl/regex.

From-SVN: r138967

15 years agoc_locale.cc: Include <cstdio>.
Paolo Carlini [Mon, 11 Aug 2008 19:28:35 +0000 (19:28 +0000)]
c_locale.cc: Include <cstdio>.

2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

* config/locale/generic/c_locale.cc: Include <cstdio>.

From-SVN: r138966

15 years agos-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
Joel Sherrill [Mon, 11 Aug 2008 17:04:07 +0000 (17:04 +0000)]
s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.

2008-08-11  Joel Sherrill  <joel.sherrill@oarcorp.com>

    gcc/ada/
* s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
* gsocket.h, socket.c: Update to support RTEMS.
* gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.

From-SVN: r138957

15 years agoconfigure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
Paolo Carlini [Mon, 11 Aug 2008 15:08:20 +0000 (15:08 +0000)]
configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.

2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

* configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
* configure: Regenerate.

From-SVN: r138954

15 years agoi386.c: (override_options): Move initialisation from flag_schedule_insns_after_reload...
Michael Matz [Mon, 11 Aug 2008 12:15:37 +0000 (12:15 +0000)]
i386.c: (override_options): Move initialisation from flag_schedule_insns_after_reload...

        * i386/i386.c: (override_options): Move initialisation from
        flag_schedule_insns_after_reload to here from ...
        (optimization_options): ... here.

From-SVN: r138953

15 years agore PR rtl-optimization/36998 (Ada bootstrap broken on i586-*-*)
Jakub Jelinek [Mon, 11 Aug 2008 10:23:08 +0000 (12:23 +0200)]
re PR rtl-optimization/36998 (Ada bootstrap broken on i586-*-*)

PR rtl-optimization/36998
* dwarf2out.c (compute_barrier_args_size_1,
compute_barrier_args_size): Temporarily remove assertions.

* gcc.dg/pr36998.c: New test.

From-SVN: r138951

15 years ago20080806-1.c: Move testcase ...
Andreas Krebbel [Mon, 11 Aug 2008 06:55:39 +0000 (06:55 +0000)]
20080806-1.c: Move testcase ...

2008-08-11  Andreas Krebbel  <krebbel1@de.ibm.com>

* gcc.target/s390/20080806-1.c: Move testcase ...
  * gcc.c-torture/compile/20080806-1.c: ... to here and make it
stack size sensitive.

From-SVN: r138950

15 years agoDaily bump.
GCC Administrator [Mon, 11 Aug 2008 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r138939

15 years agoFix typo in "Software".
David Edelsohn [Sun, 10 Aug 2008 23:37:04 +0000 (19:37 -0400)]
Fix typo in "Software".

From-SVN: r138936

15 years agoexp_ch4.adb (Expand_N_Op_Expon): Force evaluation of left argument even when right...
Samuel Tardieu [Sun, 10 Aug 2008 20:13:24 +0000 (20:13 +0000)]
exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of left argument even when right argument is 0.

2008-08-10  Samuel Tardieu  <sam@rfc1149.net>
            Robert Dewar <dewar@adacore.com>
    gcc/ada/
* exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
left argument even when right argument is 0.
(Expand_N_Op_Mod): Ditto when right argument is 1.
(Expand_N_Op_Multiply): Ditto when any argument is 0.
(Expand_N_Op_Rem): Ditto when right argument is 1.

2008-08-10  Samuel Tardieu  <sam@rfc1149.net>
    gcc/testsuite/
* gnat.dg/exp0_eval.adb: New.

Co-Authored-By: Robert Dewar <dewar@adacore.com>
From-SVN: r138934

15 years agore PR middle-end/20644 (bogus uninitialized warning on unused variable)
Manuel López-Ibáñez [Sun, 10 Aug 2008 18:46:10 +0000 (18:46 +0000)]
re PR middle-end/20644 (bogus uninitialized warning on unused variable)

2008-08-10  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR middle-end/20644
* tree-ssa.c (struct walk_data): Add new flag
warn_possibly_uninitialized.
(warn_uninitialized_var): Use it.
(warn_uninitialized_vars): New.
(execute_early_warn_uninitialized): Call it.
(execute_late_warn_uninitialized): Likewise.
testsuite/
* gcc.dg/uninit-pr20644-O0.c: New.
* gcc.dg/uninit-pr20644.c: New.

From-SVN: r138933

15 years agore PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not...
Manuel López-Ibáñez [Sun, 10 Aug 2008 18:32:52 +0000 (18:32 +0000)]
re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors)

2008-08-10  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR 36901
testsuite/
* gcc.dg/pr36901.h: Do not depend on limits.h.
* gcc.dg/pr36901-3.c: Update.
* gcc.dg/pr36901-4.c: Update.

From-SVN: r138932

15 years agotype_traits (_DEFINE_SPEC*): Simplify.
Paolo Carlini [Sun, 10 Aug 2008 10:11:46 +0000 (10:11 +0000)]
type_traits (_DEFINE_SPEC*): Simplify.

2008-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

* include/tr1_impl/type_traits (_DEFINE_SPEC*): Simplify.
(_DEFINE_SPEC_BODY): Remove.
(__is_void_helper, __is_integral_helper, __is_floating_point_helper,
__is_member_object_pointer_helper, __is_member_function_pointer_helper,
__remove_pointer_helper): Add.
(is_void, is_integral, is_floating_point, is_member_object_pointer,
is_member_function_pointer, remove_pointer): Use the latter.
* include/tr1/type_traits (_DEFINE_SPEC): Simplify.
(_DEFINE_SPEC_HELPER): Remove.
(__is_signed_helper, __is_unsigned_helper): Add.
(is_signed, is_unsigned): Use the latter.

From-SVN: r138925

15 years agore PR middle-end/36238 (ICE in reg_or_subregno, at jump.c:1730)
Andrew Pinski [Sun, 10 Aug 2008 04:54:37 +0000 (04:54 +0000)]
re PR middle-end/36238 (ICE in reg_or_subregno, at jump.c:1730)

2008-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/36238
        * reload1.c (gen_reload): Guard calls to get_secondary_mem
        for memory subregs.

2008-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/36238
        * gcc.c-torture/compile/pr36238.c: New testcase.

From-SVN: r138924

15 years agoDaily bump.
GCC Administrator [Sun, 10 Aug 2008 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r138921

15 years ago* sv.po: Update.
Joseph Myers [Sat, 9 Aug 2008 23:30:44 +0000 (00:30 +0100)]
* sv.po: Update.

From-SVN: r138917

15 years agore PR target/37055 (Revision 138835 breaks -msse2 -mfpmath=sse -Os)
Jan Hubicka [Sat, 9 Aug 2008 21:47:28 +0000 (23:47 +0200)]
re PR target/37055 (Revision 138835 breaks -msse2 -mfpmath=sse -Os)

2008-08-09  Jan Hubicka  <jh@suse.cz>

PR target/37055
* optabs.c (maybe_emit_unop_insn): Remove produced code if
expansion failed.
(expand_fix): Be prepared for expansion to fail.
(expand_sfix_optab): Remove instructions if expansion failed.

From-SVN: r138916

15 years agoavr.c (avr_mcu_types): Move the AT43USB320 device to avr31 architecture.
Anatoly Sokolov [Sat, 9 Aug 2008 19:58:25 +0000 (23:58 +0400)]
avr.c (avr_mcu_types): Move the AT43USB320 device to avr31 architecture.

* config/avr/avr.c (avr_mcu_types): Move the AT43USB320 device to
avr31 architecture.
* config/avr/avr.h (CRT_BINUTILS_SPECS): (Ditto.).
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).

From-SVN: r138915

15 years agore PR fortran/36582 (Namelist I/O error: Bogus "Cannot match namelist object")
Jerry DeLisle [Sat, 9 Aug 2008 19:17:24 +0000 (19:17 +0000)]
re PR fortran/36582 (Namelist I/O error: Bogus "Cannot match namelist object")

2008-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/36582
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer. Fix ChangeLog.

From-SVN: r138914

15 years agoconfigure.ac (mips*-*-*linux*, [...]): Use mt-mips-gnu.
Richard Sandiford [Sat, 9 Aug 2008 19:08:15 +0000 (19:08 +0000)]
configure.ac (mips*-*-*linux*, [...]): Use mt-mips-gnu.

* configure.ac (mips*-*-*linux*, mips*-*-gnu*): Use mt-mips-gnu.
* configure: Regenerate.

config/
* mt-mips16-compat: New file, taken from mt-mips-elfoabi.
* mt-mips-elfoabi: Include mt-mips16-compat.
* mt-mips-gnu: New file.

gcc/
* config.gcc (mips*-*-linux*, mips64*-*-linux*): Add
mips/t-libgcc-mips16 to tmake_file.
* config/mips/mips-protos.h (mips_call_type): New enum.
(mips_pic_base_register, mips_got_load): Declare.
(mips_restore_gp): Take an rtx argument.
(mips_use_pic_fn_addr_reg_p): Declare.
(mips_expand_call): Replace the sibcall_p argument with
a mips_call_type argument.  Add a lazy_p parameter.
(mips_split_call): Declare.
* config/mips/mips.h (MIPS16_PIC_TEMP_REGNUM): New macro.
(MIPS16_PIC_TEMP): Likewise.
(reg_class): Delete M16_NA_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
(SYMBOL_FLAG_BIND_NOW, SYMBOL_REF_BIND_NOW_P): New macros.
(mips_split_hi_p): Declare.
* config/mips/mips.c (mips_split_hi_p): New array.
(mips_regno_to_class): Change M16_NA_REGS entries to M16_REGS.
(mips_got_symbol_type_p): New function.
(mips_global_symbol_p): Check SYMBOL_REF_EXTERNAL_P.
(mips16_stub_function_p): New function.
(mips16_local_function_p): Likewise.
(mips_use_pic_fn_addr_reg_p): Likewise.
(mips_cannot_force_const_mem): Return false for HIGHs.
Extend CONST_INT and symbolic handling to MIPS16, using
mips_symbol_insns to check that the base symbol type is a
legitimate constant.  Reject GOT-based constants if
TARGET_MIPS16_PCREL_LOADS.
(mips_const_insns): Check targetm.cannot_force_const_mem when
decomposing a symbolic base and a large offset.
(mips_emit_call_insn): Add ORIG_ADDR and ADDR parameters.
When calling a function that needs $25 from MIPS16 code,
move the target address into $25 separately and add a USE
to the call insn.
(mips16_gp_pseudo_reg): Insert the initializer immediately
before the first real insn.
(mips_pic_base_register, mips_got_load): New functions.
(mips_split_symbol): Generalize the name of the LO_SUM_OUT
parameter to LOW_OUT.  Say that it can be any valid SET_SRC
when splitting a load-address operation.  Split SYMBOL_GOT_DISP
constants and highs of SYMBOL_GOT_PAGE_OFST constants.
(mips_call_tls_get_addr): Update the call to mips_expand_call,
also passing NULL_RTX rather than const0_rtx as the aux argument.
(mips_rewrite_small_data_p): Check mips_lo_relocs and mips_split_p
instead of TARGET_EXPLICIT_RELOCS.
(mips_ok_for_lazy_binding_p): Check SYMBOL_REF_BIND_NOW_P.
(mips_load_call_address): Replace the sibcall_p argument with
a mips_call_type argument.  Use mips_got_load.
(mips16_local_alias): New structure.
(mips16_local_aliases): New variable.
(mips16_local_aliases_hash): New function.
(mips16_local_aliases_eq): Likewise.
(mips16_local_alias): Likewise.
(mips16_stub_function): Likewise.
(mips16_build_function_stub): Create a local alias for the target
function.  Handle TARGET_ABICALLS.  For PIC abicalls, emit a
.cpload directive and an R_MIPS_NONE relocation for the target
function, then load the alias rather than the function itself.
Wrap the non-PIC abicalls version in ".option pic0/.option pic2".
(mips16_copy_fpr_return_value): Use mips16_stub_function and
mips_expand_call.  Set SYMBOL_REF_BIND_NOW on the symbol.
(mips16_build_call_stub): Replace the FN parameter with an
FN_PTR parameter.  Force the address into a register if it
isn't a call_insn_operand; don't rely on the caller to do this.
If a call to a locally-defined and locally-binding MIPS16
function must be made indirectly, redirect the call to the
function's local alias.  Use mips16_stub_function_p,
mips16_stub_function, mips_expand_call and use_reg.
Set SYMBOL_FLAG_BIND_NOW on __mips_call_* symbols.
Use explicit %hi and %lo accesses where possible.
Use MIPS_CALL to generate the correct code form of a
jal instruction.  Add clobbers of $18 instead of uses.
Update the call to mips_emit_call_insn.
(mips_expand_call): Replace the SIBCALL_P argument with a
mips_call_type argument and handle the new MIPS_CALL_EPILOGUE value.
Take a LAZY_P parameter.  Call mips16_build_call_stub first,
allowing it to modify the call address.  Update the calls to
mips_load_call_address and mips_emit_call_insn.
(mips_split_call): New function.
(mips_init_relocs): Clear mips_split_hi_p.  Only use %gp_rel if
!TARGET_MIPS16.  Split SYMBOL_GOT_DISP, and the high parts of
SYMBOL_GOT_PAGE_OFST, for MIPS16 code.
(mips_global_pointer): Check mips16_cfun_returns_in_fpr_p.
(mips_extra_live_on_entry): Include MIPS16_PIC_TEMP_REGNUM
if TARGET_MIPS16.
(mips_cprestore_slot): New function.
(mips_restore_gp): Take a TEMP parameter.  Handle TARGET_MIPS16
and use mips_cprestore_slot.
(mips_output_function_prologue): Handle TARGET_MIPS16 for
LOADGP_OLDABI.
(mips_emit_loadgp): Move into MIPS16_PIC_TEMP for MIPS16,
then use a copygp_mips16 instruction to set up $28.
(mips_expand_prologue): Initialize the cprestore slot for MIPS16 too.
(mips16_lay_out_constants): Call split_all_insns_noflow.
(mips_reorg_process_insns): Explicitly set all_noreorder_p to
false if TARGET_MIPS16.
(mips_reorg): Don't call vr4130_align_insns if TARGET_MIPS16.
(mips_output_mi_thunk): Use mips_got_symbol_type_p.  Use the
mips_dangerous_for_la25_p approach for MIPS16 PIC calls too.
(mips_set_mips16_mode): Always set MASK_EXPLICIT_RELOCS for
MIPS16 code.  Allow MIPS16 o32 PIC.
(mips_override_options): Allow MIPS16 o32 PIC.
* config/mips/mips.md: Lower CONST_GP_P moves into register moves
after reload if TARGET_USE_GOT.
(UNSPEC_COPYGP): New constant.
(length): Use a default length of 8 for MIPS16 GOT loads.
(*got_disp<mode>): Check mips_split_p instead of TARGET_XGOT.
(*got_page<mode>): Check mips_split_hi_p.
(*got_disp<mode>, *got_page<mode>): Use mips_got_load.
(unspec_got<mode>, unspec_call<mode>): New expanders.
(load_got<mode>, load_call<mode>): Remove the length attributes.
Use a got attribute instead of a type attribute.
(copygp_mips16): New insn.
(restore_gp): Add a scratch clobber and pass it to mips_restore_gp.
(load_call<mode>): Use a "d" constraint instead of an "r" constraint.
(sibcall, sibcall_value, call, call_value): Update the calls
to mips_expand_call.
(call_internal, call_value_internal): Use mips_split_call.
(call_value_multiple_internal): Likewise.
(call_split): Move after call_internal (the insn it is split from).
(call_internal_direct, call_value_internal_direct): Turn into
define_insn_and_splits.  Split if TARGET_SPLIT_CALLS.
(call_direct_split, call_value_direct_split): New patterns.
* config/mips/constraints.md (c): Handle TARGET_MIPS16 first
and use M16_REGS instead of M16_NA_REGS.
* config/mips/predicates.md (const_call_insn_operand): Replace
the TARGET_ABSOLUTE_ABICALLS-based check with a more general
mips_use_pic_fn_addr_reg_p check.
(move_operand): Reject HIGHs if mips_split_hi_p.
* config/mips/mips16.S: Assembly as empty if the ABI is not suitable.
(__mips16_floatunsisf): Inline __mips16_floatsisf.
(CALL_STUB_NO_RET, CALL_STUB_REG): Copy the target register to $25.
* config/mips/libgcc-mips16.ver: New file.
* config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Add
$(srcdir)/config/mips/libgcc-mips16.ver.

gcc/testsuite/
* lib/target-supports.exp (check_profiling_available): Return false
for -p and -pg on MIPS16 targets.

From-SVN: r138912

15 years agomips.c (mips_unspec_address_offset): Move earlier in file.
Richard Sandiford [Sat, 9 Aug 2008 18:21:50 +0000 (18:21 +0000)]
mips.c (mips_unspec_address_offset): Move earlier in file.

gcc/
* config/mips/mips.c (mips_unspec_address_offset): Move earlier in file.
(mips_unspec_address, mips_unspec_offset_high): Likewise.
(mips_ok_for_lazy_binding_p, mips_load_call_address): Likewise.
(mips16_cfun_returns_in_fpr_p): Likewise.

From-SVN: r138911