platform/upstream/gcc.git
15 years agore PR fortran/39998 (Procedure Pointer Assignments: Statement Functions & Internal...
Janus Weil [Tue, 5 May 2009 20:41:00 +0000 (22:41 +0200)]
re PR fortran/39998 (Procedure Pointer Assignments: Statement Functions & Internal Functions)

2009-05-05  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39998
* expr.c (gfc_check_pointer_assign): Check for statement functions and
internal procedures in procedure pointer assignments.

2009-05-05  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39998
* gfortran.dg/proc_ptr_17.f90: New.

From-SVN: r147133

15 years agocp-tree.h: (opname_tab...
Shujing Zhao [Tue, 5 May 2009 20:29:40 +0000 (20:29 +0000)]
cp-tree.h: (opname_tab...

2009-05-05  Shujing Zhao  <pearly.zhao@oracle.com>

* cp-tree.h:
        (opname_tab, assignop_tab, update_member_visibility, yyerror, yyhook,
        mangle_compound_literal): Remove unused declarations.
        (build_vfield_ref, cxx_print_statistics, clone_function_decl,
        adjust_clone_args, maybe_push_cleanup_level, pushtag, make_anon_name,
        pushdecl_top_level_maybe_friend, pushdecl_top_level_and_finish,
        check_for_out_of_scope_variable, print_other_binding_stack,
        maybe_push_decl, cxx_mark_addressable, force_target_expr,
        build_target_expr_with_type, finish_case_label,
        cxx_maybe_build_cleanup, begin_eh_spec_block, finish_eh_spec_block,
        check_template_keyword, cxx_omp_predetermined_sharing,
        cxx_omp_clause_default_ctor, cxx_omp_clause_copy_ctor,
        cxx_omp_clause_assign_op, cxx_omp_clause_dtor, cxx_omp_finish_clause,
        cxx_omp_privatize_by_reference): Rearrange the declarations line to
        match the comment that indicates the .c file which the functions are
        defined.
        (cxx_print_xnode, cxx_print_decl, cxx_print_type,
        cxx_print_identifier, cxx_print_error_function, pushdecl): Add comment.

From-SVN: r147132

15 years ago* dwarf.h: Remove.
Joseph Myers [Tue, 5 May 2009 20:15:30 +0000 (21:15 +0100)]
* dwarf.h: Remove.

From-SVN: r147131

15 years agoMakefile.in (enable_plugin, [...]): New.
Rafael Avila de Espindola [Tue, 5 May 2009 19:14:20 +0000 (19:14 +0000)]
Makefile.in (enable_plugin, [...]): New.

2009-05-05  Rafael Avila de Espindola  <espindola@google.com>

* Makefile.in (enable_plugin, plugin_includedir): New.
(install): Depend on install-plugin.
(PLUGIN_HEADERS): New.
(install-plugin): New.
* config.gcc: Add vxworks-dummy.h to tm_file for x86 and x86-64.

From-SVN: r147130

15 years agore PR middle-end/40022 (Alpine miscompilation)
Richard Guenther [Tue, 5 May 2009 16:09:46 +0000 (16:09 +0000)]
re PR middle-end/40022 (Alpine miscompilation)

2009-05-05  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40022
* tree-ssa-phiprop.c (struct phiprop_d): Exchange vop_stmt for
the only vuse.
(phivn_valid_p): Fix tuplification error, simplify.
(phiprop_insert_phi): Add dumps.
(propagate_with_phi): Simplify.

* gcc.c-torture/execute/pr40022.c: New testcase.

From-SVN: r147128

15 years agore PR middle-end/40023 (type mismatch in address expression)
Richard Guenther [Tue, 5 May 2009 16:08:24 +0000 (16:08 +0000)]
re PR middle-end/40023 (type mismatch in address expression)

2009-05-05  Richard Guenther  <rguenther@suse.de>

PR middle-end/40023
* builtins.c (gimplify_va_arg_expr): Properly build the
address.

* gcc.c-torture/compile/pr40023.c: New testcase.

From-SVN: r147127

15 years agotypeck.c (cp_build_compound_expr): Require RHS to have a known type.
Nathan Sidwell [Tue, 5 May 2009 13:00:03 +0000 (13:00 +0000)]
typeck.c (cp_build_compound_expr): Require RHS to have a known type.

cp/
* typeck.c (cp_build_compound_expr): Require RHS to have a known
type.
* class.c (resolve_address_of_overloaded_function): Use
OVL_CURRENT for error message.
(instantiate_type): Forbid COMPOUND_EXPRs and remove code dealing
with them.  Do not copy the node.

testsuite/
* g++.old-deja/g++.other/overload11.C: Adjust expected errors.
* g++.dg/template/overload9.C: Likewise.
* g++.dg/ext/ms-1.C: New.

From-SVN: r147125

15 years agotree.h (strip_float_extensions): Remove duplicate declaration.
Shujing Zhao [Tue, 5 May 2009 10:06:52 +0000 (10:06 +0000)]
tree.h (strip_float_extensions): Remove duplicate declaration.

2009-05-05  Shujing Zhao  <pearly.zhao@oracle.com>

* tree.h (strip_float_extensions): Remove duplicate declaration.
       (build_low_bits_mask, debug_fold_checksum, expand_function_end,
       expand_function_start, stack_protect_prologue, stack_protect_epilogue,
       block_ultimate_origin): Rearrange the declarations line to match the
       comment that indicates the .c file which the functions are defined.
       (dwarf2out_*, set_decl_rtl): Add comment.
       (get_base_address): Adjust comment.
       (change_decl_assembler_name, maybe_fold_*, build_addr): Rearrange the
       declarations line and add comment.
       (is_builtin_name): Add blank after function name, for clarity.

From-SVN: r147122

15 years agore PR c++/40013 (ICE when creating a local array with size from the return value...
Jakub Jelinek [Tue, 5 May 2009 06:37:05 +0000 (08:37 +0200)]
re PR c++/40013 (ICE when creating a local array with size from the return value of a member function of an object in a nested class in a template class)

PR c++/40013
* pt.c (tsubst): If magic NOP_EXPR with side-effects has no type,
set it from its operand's type after tsubst_expr.

* g++.dg/ext/vla7.C: New test.

From-SVN: r147119

15 years agoDaily bump.
GCC Administrator [Tue, 5 May 2009 00:16:43 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147115

15 years agoattribs.c (decl_attributes): Use %qE for identifiers in diagnostics.
Joseph Myers [Mon, 4 May 2009 23:44:36 +0000 (00:44 +0100)]
attribs.c (decl_attributes): Use %qE for identifiers in diagnostics.

* attribs.c (decl_attributes): Use %qE for identifiers in
diagnostics.
* cgraphunit.c (verify_cgraph_node): Translate function names to
locale character set in diagnostics.
* coverage.c (get_coverage_counts): Use %qE for identifiers in
diagnostics.
* doc/invoke.texi (-finstrument-functions-exclude-function-list):
Document that functions are named in UTF-8.
* expr.c (expand_expr_real_1): Translate function names to locale
character set in diagnostics.
* gimplify.c (omp_notice_variable, omp_is_private,
gimplify_scan_omp_clauses): Use %qE for identifiers in
diagnostics.
* langhooks.c (lhd_print_error_function): Translate function names
to locale character set.
* langhooks.h (decl_printable_name): Document that return value is
in internal character set.
* stmt.c: Include pretty-print.h
(tree_conflicts_with_clobbers_p): Use %qE for identifiers in
diagnostics.
(resolve_operand_name_1): Translate named operand name to locale
character set.
* stor-layout.c (finalize_record_size): Use %qE for identifiers in
diagnostics.
* toplev.c (announce_function): Translate function names to locale
character set.
(warn_deprecated_use): Use %qE for identifiers in diagnostics.
(default_tree_printer): Use pp_identifier or translate identifiers
to locale character set.  Mark "<anonymous>" for translation.
* tree-mudflap.c (mx_register_decls, mudflap_finish_file): Use %qE
for identifiers in diagnostics.
* tree.c (handle_dll_attribute): Use %qE for identifiers in
diagnostics.
* varasm.c (output_constructor): Use %qE for identifiers in
diagnostics.

testsuite:
* gcc.dg/ucnid-11.c, gcc.dg/ucnid-12.c, gcc.dg/ucnid-13.c: New
tests.

From-SVN: r147111

15 years agoconfigure.ac: use ` ` instead of $()
Rafael Avila de Espindola [Mon, 4 May 2009 22:08:44 +0000 (22:08 +0000)]
configure.ac: use ` ` instead of $()

2009-05-04  Rafael Avila de Espindola  <espindola@google.com>

* configure.ac: use ` ` instead of $()
* configure: Regenerate.

From-SVN: r147110

15 years agolinux-atomic.c: Eliminate conditional include of errno.h on non-LP64 systems to simpl...
Ben Elliston [Mon, 4 May 2009 21:34:41 +0000 (21:34 +0000)]
linux-atomic.c: Eliminate conditional include of errno.h on non-LP64 systems to simplify build...

* config/pa/linux-atomic.c: Eliminate conditional include of
errno.h on non-LP64 systems to simplify build requirements.

From-SVN: r147109

15 years agoc-common.c (handle_mode_attribute): Use %qE for identifiers in diagnostics.
Joseph Myers [Mon, 4 May 2009 20:24:22 +0000 (21:24 +0100)]
c-common.c (handle_mode_attribute): Use %qE for identifiers in diagnostics.

* c-common.c (handle_mode_attribute): Use %qE for identifiers in
diagnostics.
* c-decl.c (check_bitfield_type_and_width): Make orig_name a tree
and pass value to identifier_to_locale.
(warn_variable_length_array): Make name a tree.
(grokdeclarator): Separate diagnostic texts for named and unnamed
declarators.  Use %qE for named declarators.
* c-parser.c (c_lex_one_token): Use %qE for identifiers in
diagnostics.
* c-pragma.c (pop_alignment, handle_pragma_pack): Use %qE for
identifiers in diagnostics.
* c-typeck.c (push_member_name, start_init): Pass identifiers to
identifier_to_locale.  Mark "anonymous" strings for translation.

testsuite:
* gcc.dg/ucnid-8.c, gcc.dg/ucnid-9.c, gcc.dg/ucnid-10.c: New
tests.
* gcc.dg/declspec-9.c, gcc.dg/declspec-10.c, gcc.dg/declspec-11.c:
Update expected errors.

From-SVN: r147108

15 years agoAllow address for DImode/DFmode only if double-precision FP regs.
Michael Eager [Mon, 4 May 2009 15:57:46 +0000 (15:57 +0000)]
Allow address for DImode/DFmode only if double-precision FP regs.

From-SVN: r147105

15 years agoAdd TARGET_SINGLE_FLOAT check.
Michael Eager [Mon, 4 May 2009 15:48:59 +0000 (15:48 +0000)]
Add TARGET_SINGLE_FLOAT check.

From-SVN: r147104

15 years agore PR ada/38874 (gnatmake doesn't pass through --param options)
Laurent GUERBY [Mon, 4 May 2009 15:32:00 +0000 (15:32 +0000)]
re PR ada/38874 (gnatmake doesn't pass through --param options)

2009-05-04   Laurent GUERBY  <laurent@guerby.net>

PR ada/38874
* make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.

From-SVN: r147102

15 years agoAdd CPP_SPEC for -mxilinx-fpu.
Michael Eager [Mon, 4 May 2009 15:22:22 +0000 (15:22 +0000)]
Add CPP_SPEC for -mxilinx-fpu.

From-SVN: r147101

15 years agoAdd t-xilinx for powerpc-xilinx-eabi*.
Michael Eager [Mon, 4 May 2009 15:16:20 +0000 (15:16 +0000)]
Add t-xilinx for powerpc-xilinx-eabi*.

From-SVN: r147100

15 years agotm.texi (LEGITIMIZE_ADDRESS): Revise documentation.
Paolo Bonzini [Mon, 4 May 2009 12:52:41 +0000 (12:52 +0000)]
tm.texi (LEGITIMIZE_ADDRESS): Revise documentation.

2009-05-04  Paolo Bonzini  <bonzini@gnu.org>

  * doc/tm.texi (LEGITIMIZE_ADDRESS): Revise documentation.
* gcc/defaults.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/explow.c (memory_address): Use target hook.
* gcc/targhooks.c (default_legitimize_address): New.
* gcc/targhooks.h (default_legitimize_address): New.
* gcc/target.h (legitimize_address): New.
* gcc/target-def.h (TARGET_LEGITIMIZE_ADDRESS): New.
(TARGET_INITIALIZER): Include it.
* gcc/system.h (LEGITIMIZE_ADDRESS): Poison.

* config/bfin/bfin-protos.h (legitimize_address): Remove.
* config/bfin/bfin.c (legitimize_address): Remove.
* config/bfin/bfin.h (LEGITIMIZE_ADDRESS): Remove.
* config/m68hc11/m68hc11-protos.h (m68hc11_legitimize_address): Remove.
* config/m68hc11/m68hc11.c (m68hc11_legitimize_address): Remove.
* config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Remove.

* gcc/config/arm/arm.h (LEGITIMIZE_ADDRESS, ARM_LEGITIMIZE_ADDRESS,
THUMB_LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS): Delete.
* gcc/config/s390/s390.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/m32c/m32c.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/sparc/sparc.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/m32r/m32r.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/i386/i386.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/sh/sh.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/avr/avr.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/iq2000/iq2000.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/mn10300/mn10300.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/m68k/m68k.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/score/score.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/pa/pa.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/mips/mips.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/frv/frv.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/spu/spu.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/xtensa/xtensa.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/cris/cris.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/rs6000/rs6000.h (LEGITIMIZE_ADDRESS): Delete.
* gcc/config/picochip/picochip.h (LEGITIMIZE_ADDRESS): Delete.

* gcc/config/s390/s390-protos.h (legitimize_address): Delete.
* gcc/config/m32c/m32c-protos.h (m32c_legitimize_address): Delete.
* gcc/config/sparc/sparc-protos.h (legitimize_address): Delete.
* gcc/config/i386/i386-protos.h (legitimize_address): Delete.
* gcc/config/avr/avr-protos.h (legitimize_address): Delete.
* gcc/config/mn10300/mn10300-protos.h (legitimize_address): Delete.
* gcc/config/score/score-protos.h (score_legitimize_address): Delete.
* gcc/config/arm/arm-protos.h (arm_legitimize_address,
(thumb_legitimize_address): Delete.
* gcc/config/pa/pa-protos.h (hppa_legitimize_address): Delete.
* gcc/config/mips/mips-protos.h (mips_legitimize_address): Delete.
* gcc/config/alpha/alpha-protos.h (alpha_legitimize_address): Delete.
* gcc/config/frv/frv-protos.h (frv_legitimize_address): Delete.
* gcc/config/spu/spu-protos.h (spu_legitimize_address): Delete.
* gcc/config/xtensa/xtensa-protos.h (xtensa_legitimize_address): Delete.
* gcc/config/rs6000/rs6000-protos.h (rs6000_legitimize_address): Delete.

* config/arm/arm.c (arm_legitimize_address): Maybe call Thumb version.
* config/m32c/m32c.c (m32c_legitimize_address): Standardize.
* config/m32r/m32r.c (m32r_legitimize_address): New.
* config/m68k/m68k.c (m68k_legitimize_address): New.
* config/score/score.c (score_legitimize_address): Standardize.
* config/score/score3.c (score3_legitimize_address): Standardize.
* config/score/score3.h (score3_legitimize_address): Adjust.
* config/score/score7.c (score7_legitimize_address): Standardize.
* config/score/score7.h (score7_legitimize_address): Adjust.
* config/sh/sh.c (sh_legitimize_address): New.
* config/iq2000/iq2000.c (iq2000_legitimize_address): New.

* gcc/config/s390/s390.c (legitimize_address): Rename to...
  (s390_legitimize_address): ... this.
* gcc/config/sparc/sparc.c (legitimize_address): Rename to...
(sparc_legitimize_address): ... this.
* gcc/config/i386/i386.c (legitimize_address): Rename to...
(ix86_legitimize_address): ... this.
* gcc/config/avr/avr.c (legitimize_address): Rename to...
(avr_legitimize_address): ... this.
* gcc/config/mn10300/mn10300.c (legitimize_address): Rename to...
(mn10300_legitimize_address): ... this.
* config/alpha/alpha.c (alpha_legitimize_address): Wrap...
(alpha_legitimize_address_1): ... the old alpha_legitimize_address.
(alpha_expand_mov): Adjust call.

* config/frv/frv.c (frv_legitimize_address): Return x on failure.
* config/spu/spu.c (spu_legitimize_address): Likewise.
* config/xtensa/xtensa.c (xtensa_legitimize_address): Likewise.
* config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.

From-SVN: r147098

15 years agore PR c++/28152 (Diagnostic about wrong use _Complex prints __complex__)
Manuel López-Ibáñez [Mon, 4 May 2009 12:47:53 +0000 (12:47 +0000)]
re PR c++/28152 (Diagnostic about wrong use _Complex prints __complex__)

2009-05-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c++/28152
cp/
* parser.c (cp_lexer_get_preprocessor_token):  Do not store the
canonical spelling for keywords.
(cp_parser_attribute_list): Use the canonical spelling for
keywords in attributes.
testsuite/
* g++.dg/parse/parser-pr28152.C: New.
* g++.dg/parse/parser-pr28152-2.C: New.

From-SVN: r147097

15 years agointl.c (locale_encoding, [...]): New.
Joseph Myers [Mon, 4 May 2009 12:23:50 +0000 (13:23 +0100)]
intl.c (locale_encoding, [...]): New.

* intl.c (locale_encoding, locale_utf8): New.
(gcc_init_libintl): Initialize locale_encoding and locale_utf8.
* intl.h (locale_encoding, locale_utf8): Declare.
* pretty-print.c: Include ggc.h.  Include iconv.h if HAVE_ICONV.
(pp_base_tree_identifier, decode_utf8_char, identifier_to_locale):
New.
* pretty-print.h (pp_identifier): Call identifier_to_locale on ID
argument.
(pp_tree_identifier): Define to call pp_base_tree_identifier.
(pp_base_tree_identifier): Declare as function.
(identifier_to_locale): Declare.
* Makefile.in (pretty-print.o): Update dependencies.
* varasm.c (finish_aliases_1): Use %qE for identifiers in
diagnostics.

testsuite:
* gcc.dg/attr-alias-5.c, gcc.dg/ucnid-7.c: New tests.

From-SVN: r147096

15 years agore PR middle-end/40015 (Revision 147083 failed gfortran.dg/array_memcpy_4.f90)
Richard Guenther [Mon, 4 May 2009 11:01:59 +0000 (11:01 +0000)]
re PR middle-end/40015 (Revision 147083 failed gfortran.dg/array_memcpy_4.f90)

2009-05-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/40015
* builtins.c (fold_builtin_memory_op): Do not decay to element
type if the size matches the whole array.

From-SVN: r147094

15 years agoDaily bump.
GCC Administrator [Mon, 4 May 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147090

15 years agoexpmed.c (synth_mult): When trying out a shift, pass the result of a signed shift.
Kazu Hirata [Sun, 3 May 2009 23:31:18 +0000 (23:31 +0000)]
expmed.c (synth_mult): When trying out a shift, pass the result of a signed shift.

* expmed.c (synth_mult): When trying out a shift, pass the result
of a signed shift.

From-SVN: r147087

15 years agoexpmed.c (shiftsub_cost): Rename to shiftsub0_cost.
Kazu Hirata [Sun, 3 May 2009 23:27:10 +0000 (23:27 +0000)]
expmed.c (shiftsub_cost): Rename to shiftsub0_cost.

* expmed.c (shiftsub_cost): Rename to shiftsub0_cost.
(shiftsub1_cost): New.
(init_expmed): Compute shiftsub1_cost.
(synth_mult): Optimize multiplications by constants of the form
-(2^^m-1) for some constant positive integer m.

From-SVN: r147086

15 years agofpmul-2.c: Replace final_cleanup with optimized.
Eric Botcazou [Sun, 3 May 2009 21:10:20 +0000 (21:10 +0000)]
fpmul-2.c: Replace final_cleanup with optimized.

* gcc.target/sparc/fpmul-2.c: Replace final_cleanup with optimized.
* gcc.target/sparc/fexpand-2.c: Likewise.
* gcc.target/sparc/fpmerge-2.c: Likewise.
* gcc.target/sparc/pdist-2.c: Likewise.

From-SVN: r147085

15 years agore PR c/39983 (ICE: type mismatch in address expression)
Richard Guenther [Sun, 3 May 2009 19:57:32 +0000 (19:57 +0000)]
re PR c/39983 (ICE: type mismatch in address expression)

2009-05-03  Richard Guenther  <rguenther@suse.de>

PR c/39983
* c-typeck.c (array_to_pointer_conversion): Do not built
ADDR_EXPRs of arrays of pointer-to-element type.
* c-gimplify.c (c_gimplify_expr): Revert change fixing
up wrong ADDR_EXPRs after-the-fact.
* c-common.c (strict_aliasing_warning): Strip pointer
conversions for obtaining the original type.
* builtins.c (fold_builtin_memset): Handle array types.
(fold_builtin_memory_op): Handle folded POINTER_PLUS_EXPRs
and array types

* gcc.c-torture/compile/pr39983.c: New testcase.

From-SVN: r147083

15 years agore PR tree-optimization/23329 (hack in may_propagate_copy should be able to removed)
Richard Guenther [Sun, 3 May 2009 19:55:55 +0000 (19:55 +0000)]
re PR tree-optimization/23329 (hack in may_propagate_copy should be able to removed)

2009-05-03  Richard Guenther  <rguenther@suse.de>

PR middle-end/23329
* tree-ssa.c (useless_type_conversion_p_1): Use get_deref_alias_set.
Do not lose casts from array types with unknown extent to array
types with known extent.
* tree-ssa-copy.c (may_propagate_copy): Remove hack checking for
alias set compatibility.

From-SVN: r147082

15 years agoflags.h (extra_warnings): Delete.
Manuel López-Ibáñez [Sun, 3 May 2009 19:14:06 +0000 (19:14 +0000)]
flags.h (extra_warnings): Delete.

2009-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* flags.h (extra_warnings): Delete.
* toplev.c (process_options): Handle Wuninitialized here.
* opts.c (extra_warnings): Delete.
(set_Wextra): Delete.
(common_handle_option): -Wextra can be handled automatically.
* c-opts.c (c_common_handle_option): Delete obsolete code.
(c_common_post_options): Simplify comment.
* common.opt (W): Add Var.
(Wextra): Add Var.
(Wuninitialized): Initialize to -1.

From-SVN: r147080

15 years agoexpr.c (get_def_for_expr): New function.
Adam Nemet [Sun, 3 May 2009 17:20:30 +0000 (17:20 +0000)]
expr.c (get_def_for_expr): New function.

* expr.c (get_def_for_expr): New function.
(expand_expr_real_1) <PLUS_EXPR, MINUS_EXPR>: Adjust to work with
SSA rather than trees.
<MULT_EXPR>: Likewise.  Use subexp0 and subexp1 instead of
TREE_OPERAND (exp, 0) and TREE_OPERAND (exp, 1).

Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r147078

15 years agosettings.h (get): Mark const.
Jan Hubicka [Sun, 3 May 2009 16:51:50 +0000 (18:51 +0200)]
settings.h (get): Mark const.

* include/parallel/settings.h (get): Mark const.
* libsupc++/unwind-cxx.h (__cxa_call_terminate): Mark throw ().
* libsupc++/eh_call.cc (__cxa_call_terminate): Mark throw ().
* config/io/basic_file_stdio.cc (sys_open, is_open, fd, seekoff): Mark
throw ().
* config/io/basic_file_stdio.h (__basic_file, sys_open): Mark throw ().
(is_open, fd): Mark pure and throw ().
(seekoff): Mark throw ().

From-SVN: r147077

15 years agoacinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when possible.
Paolo Carlini [Sun, 3 May 2009 16:13:59 +0000 (16:13 +0000)]
acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when possible.

2009-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
possible.
* configure: Regenerate.

From-SVN: r147076

15 years agoc-common.c (reswords): Add _Imaginary.
Joseph Myers [Sun, 3 May 2009 14:07:41 +0000 (15:07 +0100)]
c-common.c (reswords): Add _Imaginary.

* c-common.c (reswords): Add _Imaginary.
* c-common.c (enum rid): Add RID_IMAGINARY.

testsuite:
* gcc.dg/c99-complex-3.c: New test.

From-SVN: r147075

15 years agotree.h (TYPE_VECTOR_OPAQUE): Fix documentation.
Paolo Bonzini [Sun, 3 May 2009 14:03:24 +0000 (14:03 +0000)]
tree.h (TYPE_VECTOR_OPAQUE): Fix documentation.

2009-05-03  Paolo Bonzini  <bonzini@gnu.org>

* tree.h (TYPE_VECTOR_OPAQUE): Fix documentation.
Patch by Richard Guenther.

From-SVN: r147074

15 years agocharset.c (one_utf8_to_cppchar): Correct mask used for 5-byte UTF-8 sequences.
Joseph Myers [Sun, 3 May 2009 11:59:26 +0000 (12:59 +0100)]
charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte UTF-8 sequences.

libcpp:
* charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte
UTF-8 sequences.

gcc/testsuite:
* gcc.dg/cpp/utf8-5byte-1.c: New test.

From-SVN: r147073

15 years agodefaults.h (FRAME_POINTER_REQUIRED): Provide default.
Anatoly Sokolov [Sun, 3 May 2009 11:25:20 +0000 (15:25 +0400)]
defaults.h (FRAME_POINTER_REQUIRED): Provide default.

* defaults.h (FRAME_POINTER_REQUIRED): Provide default.
* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
* config/alpha/alpha.h (FRAME_POINTER_REQUIRED): Delete.
* config/s390/s390.h (FRAME_POINTER_REQUIRED): Delete.
* config/spu/spu.h (FRAME_POINTER_REQUIRED): Delete.
* config/sh/sh.h (FRAME_POINTER_REQUIRED): Delete.
* config/pdp11/pdp11.h (FRAME_POINTER_REQUIRED): Delete.
* config/stormy16/stormy16.h (FRAME_POINTER_REQUIRED): Delete.
* config/m68hc11/m68hc11.h (FRAME_POINTER_REQUIRED): Delete.
* config/iq2000/iq2000.h (FRAME_POINTER_REQUIRED): Delete.
* config/mn10300/mn10300.h (FRAME_POINTER_REQUIRED): Delete.
* config/ia64/ia64.h (FRAME_POINTER_REQUIRED): Delete.
* config/m68k/m68k.h (FRAME_POINTER_REQUIRED): Delete.
* config/rs6000/rs6000.h (FRAME_POINTER_REQUIRED): Delete.
* config/picochip/picochip.h (FRAME_POINTER_REQUIRED): Delete.
* config/mcore/mcore.h (FRAME_POINTER_REQUIRED): Delete.
* config/h8300/h8300.h (FRAME_POINTER_REQUIRED): Delete.
* config/v850/v850.h (FRAME_POINTER_REQUIRED): Delete.

From-SVN: r147072

15 years agoDaily bump.
GCC Administrator [Sun, 3 May 2009 00:16:41 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147071

15 years ago* gcc.dg/ucnid-6.c: Fix typo in dg-do directive.
Joseph Myers [Sat, 2 May 2009 23:30:58 +0000 (00:30 +0100)]
* gcc.dg/ucnid-6.c: Fix typo in dg-do directive.

From-SVN: r147068

15 years agore PR java/39940 (failure in jc1 on i686-apple-darwin9 host)
Richard Guenther [Sat, 2 May 2009 17:50:21 +0000 (17:50 +0000)]
re PR java/39940 (failure in jc1 on i686-apple-darwin9 host)

2009-05-02  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/39940
* tree-ssa-pre.c (eliminate): Make sure we may propagate before
doing so.

From-SVN: r147065

15 years agore PR regression/40001 (r146817 broke libgloss build for SPU)
Richard Guenther [Sat, 2 May 2009 17:49:32 +0000 (17:49 +0000)]
re PR regression/40001 (r146817 broke libgloss build for SPU)

2009-05-02  Richard Guenther  <rguenther@suse.de>

PR middle-end/40001
* tree-ssa.c (execute_update_addresses_taken): Properly check
if we can mark a variable DECL_GIMPLE_REG_P.
* gimple.c (is_gimple_reg): Re-order check for DECL_GIMPLE_REG_P
back to the end of the function.
(is_gimple_reg_type): Remove complex type special casing.
* gimplify.c (gimplify_bind_expr): Do not set DECL_GIMPLE_REG_P
if not optimizing.

* gcc.target/spu/pr40001.c: New testcase.

From-SVN: r147064

15 years agofunctional_hash.h (explicit specializations of () operator): Mark pure.
Jan Hubicka [Sat, 2 May 2009 13:22:49 +0000 (15:22 +0200)]
functional_hash.h (explicit specializations of () operator): Mark pure.

* include/tr1_impl/functional_hash.h (explicit specializations of ()
operator): Mark pure.

From-SVN: r147062

15 years agocollect2.texi (Collect2): Document search path behaviour when configured with --with-ld.
Ben Elliston [Sat, 2 May 2009 12:03:05 +0000 (12:03 +0000)]
collect2.texi (Collect2): Document search path behaviour when configured with --with-ld.

* doc/collect2.texi (Collect2): Document search path behaviour
when configured with --with-ld.

From-SVN: r147058

15 years agotree-ssa-coalesce.c (coalesce_cost): Do not take ciritical parameter; update callers.
Jan Hubicka [Sat, 2 May 2009 11:00:59 +0000 (13:00 +0200)]
tree-ssa-coalesce.c (coalesce_cost): Do not take ciritical parameter; update callers.

* tree-ssa-coalesce.c (coalesce_cost): Do not take ciritical
parameter; update callers.
(coalesce_cost_edge): EH edges are costier because they needs splitting
even if not critical and even more costier when there are multiple
EH predecestors.

From-SVN: r147057

15 years agoexcept.c (remove_eh_handler_and_replace): Handle updating after removing TRY blocks.
Jan Hubicka [Sat, 2 May 2009 10:57:07 +0000 (12:57 +0200)]
except.c (remove_eh_handler_and_replace): Handle updating after removing TRY blocks.

* except.c (remove_eh_handler_and_replace): Handle updating after
removing TRY blocks.

From-SVN: r147055

15 years ago* store-motion.c (compute_store_table): Add ENABLE_CHECKING guard.
Eric Botcazou [Sat, 2 May 2009 09:11:23 +0000 (09:11 +0000)]
* store-motion.c (compute_store_table): Add ENABLE_CHECKING guard.

From-SVN: r147054

15 years agovarasm.c: Do not include c-pragma.h
Steven Bosscher [Sat, 2 May 2009 06:43:49 +0000 (06:43 +0000)]
varasm.c: Do not include c-pragma.h

* varasm.c: Do not include c-pragma.h
* attribs.c: Do not incude c-common.h

From-SVN: r147053

15 years agoDaily bump.
GCC Administrator [Sat, 2 May 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147052

15 years agocalls.c (initialize_argument_information): Handle SSA names like decls with a non...
Michael Matz [Fri, 1 May 2009 21:53:15 +0000 (21:53 +0000)]
calls.c (initialize_argument_information): Handle SSA names like decls with a non MEM_P DECL_RTL.

        * calls.c (initialize_argument_information): Handle SSA names
        like decls with a non MEM_P DECL_RTL.

From-SVN: r147044

15 years agoipa-reference.c: Do not include c-common.h, include splay-tree.h.
Steven Bosscher [Fri, 1 May 2009 20:25:26 +0000 (20:25 +0000)]
ipa-reference.c: Do not include c-common.h, include splay-tree.h.

* ipa-reference.c: Do not include c-common.h, include splay-tree.h.
* ipa-utils.c: Likewise.
* ipa-type-escape.c: Likewise.
* cgraphunit.c Do not include c-common.h.
* ipa-pure-const.c: Likewise.
* tree-if-conv.c: Likewise.
* matrix-reorg.c: Do not include c-common.h and c-tree.h.
* ipa-struct-reorg.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-ssa-structalias.c: Likewise.

From-SVN: r147035

15 years agostore-motion.c: Many cleanups to make this pass a first-class citizen instead of...
Steven Bosscher [Fri, 1 May 2009 20:22:56 +0000 (20:22 +0000)]
store-motion.c: Many cleanups to make this pass a first-class citizen instead of an appendix to...

* store-motion.c: Many cleanups to make this pass a first-class
citizen instead of an appendix to gcse load motion.  Add TODO list
to make this pass faster/cleaner/better.

(struct ls_expr): Post gcse.c-split cleanups.
Rename to st_expr.  Rename "loads" field to "antic_stores".  Rename
"stores" field to "avail_stores".
(pre_ldst_mems): Rename to store_motion_mems.
(pre_ldst_table): Rename to store_motion_mems_table.
(pre_ldst_expr_hash): Rename to pre_st_expr_hash, update users.
(pre_ldst_expr_eq): Rename to pre_st_expr_eq, update users.
(ldst_entry): Rename to st_expr_entry, update users.
(free_ldst_entry): Rename to free_st_expr_entry, update users.
(free_ldst_mems): Rename to free_store_motion_mems, update users.
(enumerate_ldsts): Rename to enumerate_store_motion_mems, update caller.
(first_ls_expr): Rename to first_st_expr, update users.
(next_ls_expr): Rename to next_st_expr, update users.
(print_ldst_list): Rename to print_store_motion_mems.  Print names of
fields properly for store motion instead of names inherited from load
motion in gcse.c.
(ANTIC_STORE_LIST, AVAIL_STORE_LIST): Remove.
(LAST_AVAIL_CHECK_FAILURE): Explain what this is.  Undefine when we
are done with it.

(ae_kill): Rename to st_kill, update users.
(ae_gen): Rename to st_avloc, update users.
(transp): Rename to st_transp, update users.
(pre_insert_map): Rename to st_insert_map, update users.
(pre_delete_map): Rename to st_delete_map, update users.
(insert_store, build_store_vectors, free_store_memory,
one_store_motion_pass): Update for abovementioned changes.

(gcse_subst_count, gcse_create_count): Remove.
(one_store_motion_pass): New statistics counters "n_stores_deleted"
and "n_stores_created", local variables.

(extract_mentioned_regs, extract_mentioned_regs_1): Rewrite to
use for_each_rtx.

(regvec, compute_store_table_current_insn): Remove.
(reg_set_info, reg_clear_last_set): Remove.
(compute_store_table): Use DF caches instead of local dataflow
solvers.

From-SVN: r147034

15 years agoc-objc-common.c (c_tree_printer): Print identifiers with pp_identifier, not pp_string.
Joseph Myers [Fri, 1 May 2009 14:09:20 +0000 (15:09 +0100)]
c-objc-common.c (c_tree_printer): Print identifiers with pp_identifier, not pp_string.

* c-objc-common.c (c_tree_printer): Print identifiers with
pp_identifier, not pp_string.  Mark "({anonymous})" for
translation.
* c-pretty-print.c (pp_c_ws_string): New.
(pp_c_cv_qualifier, pp_c_type_specifier,
pp_c_specifier_qualifier_list, pp_c_parameter_type_list,
pp_c_storage_class_specifier, pp_c_function_specifier,
pp_c_attributes, pp_c_bool_constant, pp_c_constant,
pp_c_primary_expression, pp_c_postfix_expression,
pp_c_unary_expression, pp_c_shift_expression,
pp_c_relational_expression, pp_c_equality_expression,
pp_c_logical_and_expression, pp_c_logical_or_expression): Mostly
use pp_string and pp_c_ws_string in place of pp_identifier and
pp_c_identifier for non-identifiers.  Mark English strings for
translation.
* c-pretty-print.h (pp_c_ws_string): Declare.

cp:
* cxx-pretty-print.c (is_destructor_name, pp_cxx_unqualified_id,
pp_cxx_template_keyword_if_needed, pp_cxx_postfix_expression,
pp_cxx_new_expression, pp_cxx_delete_expression,
pp_cxx_unary_expression, pp_cxx_assignment_operator,
pp_cxx_assignment_expression, pp_cxx_expression,
pp_cxx_function_specifier, pp_cxx_decl_specifier_seq,
pp_cxx_simple_type_specifier, pp_cxx_type_specifier_seq,
pp_cxx_exception_specification, pp_cxx_direct_declarator,
pp_cxx_ctor_initializer, pp_cxx_type_id, pp_cxx_statement,
pp_cxx_namespace_alias_definition, pp_cxx_template_parameter,
pp_cxx_canonical_template_parameter, pp_cxx_template_declaration,
pp_cxx_declaration, pp_cxx_typeid_expression,
pp_cxx_va_arg_expression, pp_cxx_offsetof_expression,
pp_cxx_trait_expression): Mostly use pp_string and
pp_cxx_ws_string in place of pp_identifier and pp_cxx_identifier
for non-identifiers.  Mark English strings for translation.
* cxx-pretty-print.h (pp_cxx_ws_string): Define.
* error.c (dump_template_parameter, dump_template_bindings,
dump_type, dump_aggr_type, dump_type_prefix, dump_simple_decl,
dump_decl, dump_template_decl, dump_function_decl,
dump_parameters, dump_exception_spec, dump_template_parms,
dump_expr, dump_binary_op, dump_unary_op, op_to_string,
assop_to_string, args_to_string, cp_print_error_function,
print_instantiation_full_context,
print_instantiation_partial_context): Mostly use pp_string and
pp_cxx_ws_string in place of pp_identifier and pp_cxx_identifier
for non-identifiers.  Mark English strings for translation.
(dump_global_iord): Mark strings for translation; use longer
strings instead of substituting single words.
(function_category): Return a format string marked for
translation, not a single word or phrase to substitute in a longer
phrase.

From-SVN: r147033

15 years ago* doc/install.texi: Document --enable-linker-build-id option.
Ian Lance Taylor [Fri, 1 May 2009 00:38:54 +0000 (00:38 +0000)]
* doc/install.texi: Document --enable-linker-build-id option.

From-SVN: r147031

15 years agoconfigure.ac (HAVE_LD_BUILDID): New check for ld --build-id support.
Paul Pluzhnikov [Fri, 1 May 2009 00:19:24 +0000 (17:19 -0700)]
configure.ac (HAVE_LD_BUILDID): New check for ld --build-id support.

* configure.ac (HAVE_LD_BUILDID): New check for ld --build-id
support.
(ENABLE_LD_BUILDID): New configuration option.
* gcc.c [HAVE_LD_BUILDID and ENABLE_LD_BUILDID]
(LINK_BUILDID_SPEC): New macro.
(init_spec): If defined, prepend it between LINK_EH_SPEC and
link_spec.
* doc/install.texi: Document --enable-linker-build-id option.
* configure: Rebuild.
* config.in: Rebuild.

Co-Authored-By: Roland McGrath <roland@redhat.com>
From-SVN: r147029

15 years agoDaily bump.
GCC Administrator [Fri, 1 May 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147028

15 years agomips.h (FRAME_GROWS_DOWNWARD, [...]): Define new macros.
Adam Nemet [Thu, 30 Apr 2009 22:42:58 +0000 (22:42 +0000)]
mips.h (FRAME_GROWS_DOWNWARD, [...]): Define new macros.

* config/mips/mips.h (FRAME_GROWS_DOWNWARD,
MIPS_GP_SAVE_AREA_SIZE): Define new macros.
(STARTING_FRAME_OFFSET): Return 0 if FRAME_GROWS_DOWNWARD.  Use
MIPS_GP_SAVE_AREA_SIZE.
* config/mips/mips.c (struct mips_frame_info): Update comment
before arg_pointer_offset and hard_frame_pointer_offset.
(mips_compute_frame_info): Update diagram before function: to
correctly use stack_pointer_rtx for fp_sp_offset and gp_sp_offset, to
indicate the position of frame_pointer_rtx with -fstack-protector and
to show args_size.  Don't allocate cprestore area for leaf functions
if FRAME_GROWS_DOWNWARD.  Use MIPS_GP_SAVE_AREA_SIZE to set
cprestore_size.
(mips_initial_elimination_offset): Update for FRAME_GROWS_DOWNWARD.

From-SVN: r147024

15 years ago* gcc.dg/ssp-1.c (__stack_chk_fail): Remove static.
Adam Nemet [Thu, 30 Apr 2009 22:33:32 +0000 (22:33 +0000)]
* gcc.dg/ssp-1.c (__stack_chk_fail): Remove static.

From-SVN: r147023

15 years agofix for PR 39955
Michael Matz [Thu, 30 Apr 2009 21:59:49 +0000 (21:59 +0000)]
fix for PR 39955

From-SVN: r147021

15 years agoFix from Dave Korn in case a backend does not declare any define_register_constraints
Dave Korn [Thu, 30 Apr 2009 21:52:15 +0000 (21:52 +0000)]
Fix from Dave Korn in case a backend does not declare any define_register_constraints

From-SVN: r147020

15 years agore PR middle-end/39579 (revisions 145171/145172 caused 2 extra failures)
Steve Ellcey [Thu, 30 Apr 2009 21:43:21 +0000 (21:43 +0000)]
re PR middle-end/39579 (revisions 145171/145172 caused 2 extra failures)

PR middle-end/39579
* gcc.dg/vect/vect-35.c: XFAIL for IA64 and Sparc.
* gfortran.dg/vect/fast-math-pr38968.f90: Ditto.

From-SVN: r147018

15 years agocreate_testsuite_files: Remove thread directory.
Jonathan Wakely [Thu, 30 Apr 2009 19:04:03 +0000 (19:04 +0000)]
create_testsuite_files: Remove thread directory.

2009-04-30  Jonathan Wakely  <jwakely.gcc@gmail.com>

* scripts/create_testsuite_files: Remove thread directory.

From-SVN: r147012

15 years agore PR testsuite/39776 (FAIL: g++.dg/ext/altivec-15.C)
Janis Johnson [Thu, 30 Apr 2009 17:48:03 +0000 (17:48 +0000)]
re PR testsuite/39776 (FAIL: g++.dg/ext/altivec-15.C)

PR testsuite/39776
* g++.dg/ext/altivec-15.C: Remove dg-error for messages that are
no longer issued.

From-SVN: r147010

15 years agoalloc-pool.c (alloc_pool_descriptor): Use an insert_opion value instead of an int.
Rafael Avila de Espindola [Thu, 30 Apr 2009 16:24:31 +0000 (16:24 +0000)]
alloc-pool.c (alloc_pool_descriptor): Use an insert_opion value instead of an int.

2009-04-30  Rafael Avila de Espindola  <espindola@google.com>

* alloc-pool.c (alloc_pool_descriptor): Use an insert_opion value
instead of an int.
* bitmap.c (bitmap_descriptor): Likewise.
* ggc-common.c (loc_descriptor): Likewise.
* varray.c (varray_descriptor): Likewise.
* vec.c (vec_descriptor): Likewise.

From-SVN: r147009

15 years agoobjc.exp (objc_init): Add and set gcc_warning_prefix and gcc_error_prefix variables.
David Ayers [Thu, 30 Apr 2009 16:03:44 +0000 (16:03 +0000)]
objc.exp (objc_init): Add and set gcc_warning_prefix and gcc_error_prefix variables.

2009-04-30  David Ayers  <ayers@fsfe.org>

* lib/objc.exp (objc_init): Add and set gcc_warning_prefix
and gcc_error_prefix variables.
* objc.dg/bad-receiver-type.m: Update to match correct
diagnostics marker.
* objc.dg/encode-5.m: Likewise.
* objc.dg/id-1.m: Likewise.
* objc.dg/method-1.m: Likewise.
* objc.dg/method-6.m: Likewise.
* objc.dg/method-7.m: Likewise.
* objc.dg/method-9.m: Likewise.
* objc.dg/method-11.m: Likewise.
* objc.dg/method-20.m: Likewise.
* objc.dg/private-1.m: Likewise.

From-SVN: r147006

15 years agoFix PR libfortran/39667
Janne Blomqvist [Thu, 30 Apr 2009 15:12:37 +0000 (18:12 +0300)]
Fix PR libfortran/39667

From-SVN: r147004

15 years agoFix date
Eric Botcazou [Thu, 30 Apr 2009 14:35:50 +0000 (14:35 +0000)]
Fix date

From-SVN: r147003

15 years agoMakefile.in (dce.o): Add $(EXCEPT_H).
Eric Botcazou [Thu, 30 Apr 2009 14:35:22 +0000 (14:35 +0000)]
Makefile.in (dce.o): Add $(EXCEPT_H).

* Makefile.in (dce.o): Add $(EXCEPT_H).
* dce.c: Include except.h and delete redundant vector definitions.
(deletable_insn_p): Return false for non-call insns that can throw
if DF is running.

From-SVN: r147002

15 years agogcse.c (ae_gen): Remove.
Steven Bosscher [Thu, 30 Apr 2009 10:51:08 +0000 (10:51 +0000)]
gcse.c (ae_gen): Remove.

* gcse.c (ae_gen): Remove.
(can_assign_to_reg_p): Rename to can_assign_to_reg_without_clobbers_p
and make non-static function to make it available in store-motion.c.
Update call sites with search-and-replace.
(enumerate_ldsts, reg_set_info, reg_clear_last_set, store_ops_ok,
extract_mentioned_regs, extract_mentioned_regs_helper,
find_moveable_store, compute_store_table, load_kills_store, find_loads,
store_killed_in_insn, store_killed_after, store_killed_before,
build_store_vectors, insert_insn_start_basic_block, insert-store,
remove_reachable_equiv_notes, replace_store_insn, delete_store,
free_store_memory, one_store_motion_pass, gate_rtl_store_motion,
execute_rtl_store_motion, pass_rtl_store_motion): Move to...
* store-motion.c: ...new file.  Also copy data structures from gcse.c
and clean up to remove parts not used by store motion.
* rtl.h (can_assign_to_reg_without_clobbers_p): Add prototype.
* Makefile.in (store-motion.o): New rule. Add to OBJS-common.

From-SVN: r147001

15 years agoFix PR target/38571
Ramana Radhakrishnan [Thu, 30 Apr 2009 10:04:52 +0000 (10:04 +0000)]
Fix PR target/38571

From-SVN: r147000

15 years ago* gcse.c (gcse_constant_p): Fix typo in last change.
Hans-Peter Nilsson [Thu, 30 Apr 2009 08:10:37 +0000 (08:10 +0000)]
* gcse.c (gcse_constant_p): Fix typo in last change.

From-SVN: r146999

15 years agoplugin.c: Include plugin-version.h only if ENABLE_PLUGIN is defined.
Rafael Avila de Espindola [Thu, 30 Apr 2009 08:05:31 +0000 (08:05 +0000)]
plugin.c: Include plugin-version.h only if ENABLE_PLUGIN is defined.

2009-04-30  Rafael Avila de Espindola  <espindola@google.com>

* plugin.c: Include plugin-version.h only if ENABLE_PLUGIN is defined.

From-SVN: r146998

15 years agogcse.c (gcse_constant_p): Make sure the constant is sharable.
Andreas Krebbel [Thu, 30 Apr 2009 06:54:54 +0000 (06:54 +0000)]
gcse.c (gcse_constant_p): Make sure the constant is sharable.

2009-04-30  Andreas Krebbel  <krebbel1@de.ibm.com>

* gcse.c (gcse_constant_p): Make sure the constant is sharable.

From-SVN: r146997

15 years agomips.c (mips_add_offset): Use gen_int_mode for CONST_HIGH_PART result.
James E. Wilson [Thu, 30 Apr 2009 00:58:10 +0000 (00:58 +0000)]
mips.c (mips_add_offset): Use gen_int_mode for CONST_HIGH_PART result.

* config/mips/mips.c (mips_add_offset): Use gen_int_mode for
CONST_HIGH_PART result.

From-SVN: r146995

15 years agoDaily bump.
GCC Administrator [Thu, 30 Apr 2009 00:17:30 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r146994

15 years agoRevert
Eric Botcazou [Wed, 29 Apr 2009 23:10:21 +0000 (23:10 +0000)]
Revert
2009-04-29  Vincent Celier  <celier@adacore.com>

* sinput-l.adb (Load_File): When preprocessing, set temporarily the
Source_File_Index_Table entries for the source, to avoid crash when
reporting an error.

* gnatcmd.adb (Test_If_Relative_Path): Use
Makeutl.Test_If_Relative_Path.

* makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
Including_RTS is True.

* makeutl.ads (Test_If_Relative_Path): New Boolean parameter
Including_RTS defaulted to False.

* sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
a default value.

From-SVN: r146991

15 years ago(frame_pointer_required_p): Change return type to bool.
Anatoly Sokolov [Wed, 29 Apr 2009 22:41:33 +0000 (02:41 +0400)]
(frame_pointer_required_p): Change return type to bool.

From-SVN: r146990

15 years agoavr.c (initial_elimination_offset): Rename to avr_initial_elimination_offset.
Anatoly Sokolov [Wed, 29 Apr 2009 21:57:03 +0000 (01:57 +0400)]
avr.c (initial_elimination_offset): Rename to avr_initial_elimination_offset.

* config/avr/avr.c (initial_elimination_offset): Rename to
avr_initial_elimination_offset.
(frame_pointer_required_p): Rename to avr_frame_pointer_required_p,
change return type to bool.
(avr_can_eliminate): New function.
* config/avr/avr.h (CAN_ELIMINATE): Use avr_can_eliminate.
(FRAME_POINTER_REQUIRED): Use avr_frame_pointer_required_p.
(INITIAL_ELIMINATION_OFFSET): Use avr_initial_elimination_offset.
* config/avr/avr-protos.h (initial_elimination_offset) : Rename to
avr_initial_elimination_offset.
(frame_pointer_required_p): Rename to avr_frame_pointer_required_p.
(avr_initial_elimination_offset): Define.

From-SVN: r146989

15 years agore PR rtl-optimization/39938 (build broke for cris-elf with dbr_schedule change)
Eric Botcazou [Wed, 29 Apr 2009 21:44:26 +0000 (21:44 +0000)]
re PR rtl-optimization/39938 (build broke for cris-elf with dbr_schedule change)

PR rtl-optimization/39938
* Makefile.in (cfgrtl.o): Add $(INSN_ATTR_H).
* cfgrtl.c: Include insn-attr.h.
(rest_of_pass_free_cfg): New function.
(pass_free_cfg): Use rest_of_pass_free_cfg as execute function.
* resource.c (init_resource_info): Remove call to df_analyze.

Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r146988

15 years agore PR middle-end/39943 (wrong conversion from unsigned int to float)
Richard Guenther [Wed, 29 Apr 2009 18:07:23 +0000 (18:07 +0000)]
re PR middle-end/39943 (wrong conversion from unsigned int to float)

2009-04-29  Richard Guenther  <rguenther@suse.de>

PR target/39943
* config/i386/i386.c (ix86_vectorize_builtin_conversion): Only
allow conversion to signed integers.

* lib/target-supports.exp (check_effective_target_vect_uintfloat_cvt):
New.
(check_effective_target_vect_floatuint_cvt): Likewise.
* gcc.dg/vect/slp-10.c: Adjust.
* gcc.dg/vect/slp-11.c: Adjust.
* gcc.dg/vect/slp-12b.c: Adjust.
* gcc.dg/vect/slp-33.c: Adjust.
* gcc.c-torture/compile/pr39943.c: New testcase.

From-SVN: r146984

15 years agotree-cfg.c (verify_gimple_assign_binary): Allow vector shifts of floating point vecto...
Richard Guenther [Wed, 29 Apr 2009 18:03:58 +0000 (18:03 +0000)]
tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts of floating point vectors if...

2009-04-29  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_assign_binary): Allow vector
shifts of floating point vectors if the shift amount is
a constant multiple of the element size.

From-SVN: r146983

15 years agore PR middle-end/39927 (build breakage for cris-elf building libstdc++-v3)
Andreas Krebbel [Wed, 29 Apr 2009 17:36:21 +0000 (17:36 +0000)]
re PR middle-end/39927 (build breakage for cris-elf building libstdc++-v3)

        PR middle-end/39927
        PR bootstrap/39929
        * tree-outof-ssa.c (emit_partition_copy): New function.
        (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
        insert_part_to_rtx_on_edge): Perform the partition base var
        copy using emit_partition_copy.
        (insert_value_copy_on_edge): Convert constants to the right mode.
        (insert_rtx_to_part_on_edge): Add UNSIGNEDSRCP parameter.
        (elim_create): Pass the sign of the src to insert_rtx_to_part_on_edge.

Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r146982

15 years agobfin.c (bfin_optimize_loop): When looking for the last insn before the loop_end instr...
Bernd Schmidt [Wed, 29 Apr 2009 15:40:06 +0000 (15:40 +0000)]
bfin.c (bfin_optimize_loop): When looking for the last insn before the loop_end instruction...

* config/bfin/bfin.c (bfin_optimize_loop): When looking for the last
insn before the loop_end instruction, don't look past labels.

From-SVN: r146980

15 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Apr 2009 15:36:48 +0000 (17:36 +0200)]
[multiple changes]

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
box-defaulted operator in an instantiation, when the type of the
operands is not directly visible.

2009-04-29  Gary Dismukes  <dismukes@adacore.com>

* sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
(Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
analysis of the ancestor part. Remove prohibition against limited
interpretations of the ancestor expression in the case of Ada 2005.
Revise error message in overloaded case, adding a message to cover
the Ada 2005 case.

2009-04-29  Thomas Quinot  <quinot@adacore.com>

* xoscons.adb: Minor reformatting

2009-04-29  Bob Duff  <duff@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
attribute_definition_clauses for the following attributes when the
-gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
Storage_Size, Write. Otherwise, we get spurious errors (for example,
missing Read attribute on remote types).

* gnat_ugn.texi: Document the change, and add a stern warning.

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Check_Local_Access): Indicate that value tracing is
disabled not just for the current scope, but for the innermost dynamic
scope as well.

From-SVN: r146979

15 years ago* gcc-interface/Make-lang.in: Update dependencies
Arnaud Charlet [Wed, 29 Apr 2009 15:34:32 +0000 (15:34 +0000)]
* gcc-interface/Make-lang.in: Update dependencies

From-SVN: r146978

15 years agoRemoved file that should have been removed in a previous commit. Already listed on...
Rafael Espindola [Wed, 29 Apr 2009 15:33:20 +0000 (15:33 +0000)]
Removed file that should have been removed in a previous commit. Already listed on ChangeLog.

From-SVN: r146977

15 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Apr 2009 15:25:01 +0000 (17:25 +0200)]
[multiple changes]

2009-04-29  Vincent Celier  <celier@adacore.com>

* prj-part.adb: Minor comment update

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate): handle properly
box-initialized records with discriminated subcomponents that are
constrained by discriminants of enclosing components. New subsidiary
procedures Add_Discriminant_Values, Propagate_Discriminants.

2009-04-29  Arnaud Charlet  <charlet@adacore.com>

* g-socket.adb: Code clean up.

From-SVN: r146976

15 years agobfin.c (bfin_optimize_loop): If we need a scratch reg, scan backwards to try to find...
Bernd Schmidt [Wed, 29 Apr 2009 15:09:37 +0000 (15:09 +0000)]
bfin.c (bfin_optimize_loop): If we need a scratch reg, scan backwards to try to find a constant to initialize it.

* config/bfin/bfin.c (bfin_optimize_loop): If we need a scratch reg,
scan backwards to try to find a constant to initialize it.

From-SVN: r146974

15 years agore PR middle-end/39937 (Revision 146831 failed SPEC CPU 2006)
Richard Guenther [Wed, 29 Apr 2009 15:05:22 +0000 (15:05 +0000)]
re PR middle-end/39937 (Revision 146831 failed SPEC CPU 2006)

2009-04-29  Richard Guenther  <rguenther@suse.de>

PR middle-end/39937
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not
loose type conversions.
(forward_propagate_addr_expr): Fix tuplification bug.  Remove
stmts only if there are no uses of its definition.

* gcc.c-torture/compile/pr39937.c: New testcase.

From-SVN: r146973

15 years agobfin.h (splitting_loops): Declare.
Bernd Schmidt [Wed, 29 Apr 2009 14:13:30 +0000 (14:13 +0000)]
bfin.h (splitting_loops): Declare.

* config/bfin/bfin.h (splitting_loops): Declare.
* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315):
Reorder bit definitions to be ascending.
(WA_LOAD_LCREGS, ENABLE_WA_LOAD_LCREGS): New macros.
* config/bfin/bfin.c (splitting_loops): New variable.
(bfin_cpus): Add WA_LOAD_LCREGS as needed.
(struct loop_info): Remove members INIT and LOOP_INIT.
(bfin_optimize_loop): Don't set them.  Reorder the code that generates
the LSETUP sequence.  Allow LC to be loaded from any register, but also
add a case to push/pop a PREG scratch if ENABLE_WA_LOAD_LCREGS.
(bfin_reorg_loops): When done, split all BB_ENDs with splitting_loops
set to 1.
* config/bfin/bfin.md (loop_end splitter): Use splitting_loops instead
of reload_completed.
From Jie Zhang:
* config/bfin/bfin.md (movsi_insn): Refine constraints.

From-SVN: r146971

15 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Apr 2009 13:56:09 +0000 (15:56 +0200)]
[multiple changes]

2009-04-29  Gary Dismukes  <dismukes@adacore.com>

* sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
function entity, to cover the case of a parameterless function call
that has not been resolved.

2009-04-29  Robert Dewar  <dewar@adacore.com>

* err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
reformatting and comment updates.

From-SVN: r146970

15 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Apr 2009 13:47:42 +0000 (15:47 +0200)]
[multiple changes]

2009-04-29  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Update some documentation about interfacing with C++
Mention -fkeep-inline-functions.

* gnat_ugn.texi: Minor edits

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
for a defaulted component of an enclosing aggregate, inherit the type
from the component declaration of the enclosing type.

2009-04-29  Albert Lee  <lee@adacore.com>

* g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
(System.OS_Constants): New type Msg_Iovlen_T which follows whether the
msg_iovlen field in struct msghdr is 32 or 64 bits wide.
Relocate the Msghdr record type from GNAT.Sockets.Thin to
GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
type for the Msg_Iovlen field.

From-SVN: r146969

15 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Apr 2009 13:39:13 +0000 (15:39 +0200)]
[multiple changes]

2009-04-29  Vincent Celier  <celier@adacore.com>

* sinput-l.adb (Load_File): When preprocessing, set temporarily the
Source_File_Index_Table entries for the source, to avoid crash when
reporting an error.

* gnatcmd.adb (Test_If_Relative_Path): Use
Makeutl.Test_If_Relative_Path.

* makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
Including_RTS is True.

* makeutl.ads (Test_If_Relative_Path): New Boolean parameter
Including_RTS defaulted to False.

* sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
a default value.

2009-04-29  Javier Miranda  <miranda@adacore.com>

* gnat_ugn.texi: Adding documentation for non-default C++ constructors.

From-SVN: r146967

15 years agosem_ch3.adb (Analyze_Object_Declaration): Disable error message associated with dyami...
Javier Miranda [Wed, 29 Apr 2009 13:29:08 +0000 (13:29 +0000)]
sem_ch3.adb (Analyze_Object_Declaration): Disable error message associated with dyamically tagged expressions if...

2009-04-29  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): Disable error message
associated with dyamically tagged expressions if the expression
initializing a tagged type corresponds with a non default CPP
constructor.
(OK_For_Limited_Init): CPP constructor calls are OK for initialization
of limited type objects.

* sem_ch5.adb (Analyze_Assignment): Improve the error message reported
when a CPP constructor is called in an assignment. Disable also the
error message associated with dyamically tagged expressions if the
exporession initializing a tagged type corresponds with a non default
CPP constructor.

* sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
non-default C++ constructors.

* sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.

* exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
non-default constructors.
(Init_Proc): Add support for non-default constructors.

* exp_disp.adb (Set_Default_Constructor): Removed.
(Set_CPP_Constructors): Code based in removed Set_Default_Constructor
but extending its functionality to handle non-default constructors.

* exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
constructors. Minor code cleanup removing unrequired label and goto
statement.

* exp_ch3.adb (Build_Initialization_Call): Add support for non-default
constructors.
(Build_Init_Statements): Add support for non-default constructors.
(Expand_N_Object_Declaration): Add support for non-default constructors.
(Freeze_Record_Type): Replace call to Set_Default_Constructor by call
to Set_CPP_Constructors.

* exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
non-default constructors.
Required to handle its use in build-in-place statements.

* gnat_rm.texi (CPP_Constructor): Document new extended use of this
pragma for non-default C++ constructors and the new compiler support
that allows the use of these constructors in record components, limited
aggregates, and extended return statements.

From-SVN: r146966

15 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Apr 2009 13:24:07 +0000 (15:24 +0200)]
[multiple changes]

2009-04-29  Vincent Celier  <celier@adacore.com>

* prj-part.adb (Parse_Single_Project): Do not attempt to find a
project extending an abstract project.

2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>

* targparm.ads: Fix oversight.

From-SVN: r146965

15 years agolib-xref.adb (Output_Overridden_Op): Follow several levels of derivation when necessa...
Ed Schonberg [Wed, 29 Apr 2009 13:22:02 +0000 (13:22 +0000)]
lib-xref.adb (Output_Overridden_Op): Follow several levels of derivation when necessary...

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

* lib-xref.adb (Output_Overridden_Op): Follow several levels of
derivation when necessary, to find the user-subprogram that is actally
being overridden.

From-SVN: r146964

15 years agosem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected components
Robert Dewar [Wed, 29 Apr 2009 13:21:10 +0000 (13:21 +0000)]
sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected components

2009-04-29  Robert Dewar  <dewar@adacore.com>

* sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
components

From-SVN: r146963

15 years agoMakefile.in (PLUGIN_VERSION_H): New.
Rafael Avila de Espindola [Wed, 29 Apr 2009 13:20:53 +0000 (13:20 +0000)]
Makefile.in (PLUGIN_VERSION_H): New.

2009-04-29  Rafael Avila de Espindola  <espindola@google.com>

* Makefile.in (PLUGIN_VERSION_H): New.
(OBJS-common): Remove plugin-version.o.
(plugin.o): Depend on (PLUGIN_VERSION_H).
(plugin-version.o): Remove.
* configure: Regenerate
* configure.ac: Create plugin-version.h.
* gcc-plugin.h (plugin_gcc_version): Remove.
(plugin_default_version_check): Change signature.
* plugin-version.c: Remove.
* plugin.c: Include plugin-version.h.
(str_plugin_gcc_version_name): Remove.
(try_init_one_plugin): Pass gcc version to plugin_init.
(plugin_default_version_check): Both gcc and plugin versions are now
arguments.

From-SVN: r146962

15 years agoexp_ch9.ads, [...] (Build_Wrapper_Spec): Use source line of primitive operation...
Ed Schonberg [Wed, 29 Apr 2009 13:20:27 +0000 (13:20 +0000)]
exp_ch9.ads, [...] (Build_Wrapper_Spec): Use source line of primitive operation...

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
primitive operation, rather than source line of synchronized type, when
building the wrapper for a primitive operation that overrides an
operation inherited from a progenitor, to improve the error message on
duplicate declarations.

* sem_ch3.adb (Process_Full_View): Use new signature of
Build_Wrapper_Spec.

From-SVN: r146961

15 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Apr 2009 13:04:57 +0000 (15:04 +0200)]
[multiple changes]

2009-04-29  Robert Dewar  <dewar@adacore.com>

* prj-nmsc.ads: Minor reformatting

2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
expression on the existing parent If statement.

From-SVN: r146960

15 years agoComplete previous change:
Arnaud Charlet [Wed, 29 Apr 2009 13:03:12 +0000 (15:03 +0200)]
Complete previous change:

2009-04-29  Robert Dewar  <dewar@adacore.com>

* prj-nmsc.ads: Minor reformatting

2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
expression on the existing parent If statement.

From-SVN: r146959