platform/upstream/gcc.git
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

15 years agoprj-proc.adb, prj.ads: Minor reformatting
Robert Dewar [Wed, 29 Apr 2009 12:52:06 +0000 (12:52 +0000)]
prj-proc.adb, prj.ads: Minor reformatting

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

* prj-proc.adb, prj.ads: Minor reformatting

From-SVN: r146958

15 years agoexp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an existing parent...
Eric Botcazou [Wed, 29 Apr 2009 12:49:34 +0000 (12:49 +0000)]
exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an existing parent If statement on the newly created one.

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

* exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
existing parent If statement on the newly created one.

From-SVN: r146957

15 years agobfin.c (bfin_register_move_cost): Test for subsets of DREGS rather than comparing...
Bernd Schmidt [Wed, 29 Apr 2009 12:44:00 +0000 (12:44 +0000)]
bfin.c (bfin_register_move_cost): Test for subsets of DREGS rather than comparing directly.

* config/bfin/bfin.c (bfin_register_move_cost): Test for subsets of
DREGS rather than comparing directly.  Remove code that tries to
account for latencies.

From-SVN: r146956

15 years ago2009-04-29 Emmanuel Briot <briot@adacore.com>
Emmanuel Briot [Wed, 29 Apr 2009 12:10:28 +0000 (12:10 +0000)]
2009-04-29  Emmanuel Briot  <briot@adacore.com>

* gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
(Set_In_Configuration, In_Configuration): Removed.
Replaced by an extra parameter Is_Config_File in several parameter to
avoid global variables to store the state of the parser.

From-SVN: r146955

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

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

* g-socthi-vxworks.ads: Change the spec of Msghdr to match the one in
the default version of GNAT.Sockets.Thin.

* g-socthi-vms.ads: Change the spec of Msghdr to match the one in the
default version of GNAT.Sockets.Thin.

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

* sem_ch6.adb (Analyze_Subprogram_Specification): If the subprogram is
an overriding operation of an inherited interface operation, and the
controlling type is a synchronized type, we replace the type with its
corresponding record, to match the proper signature of an overriding
operation. The same processing must be performed for an access
parameter whose designated type is derived from a synchronized
interface.

From-SVN: r146954