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
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
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
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
GCC Administrator [Tue, 5 May 2009 00:16:43 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147115
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
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
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
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
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
Michael Eager [Mon, 4 May 2009 15:48:59 +0000 (15:48 +0000)]
Add TARGET_SINGLE_FLOAT check.
From-SVN: r147104
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
Michael Eager [Mon, 4 May 2009 15:22:22 +0000 (15:22 +0000)]
Add CPP_SPEC for -mxilinx-fpu.
From-SVN: r147101
Michael Eager [Mon, 4 May 2009 15:16:20 +0000 (15:16 +0000)]
Add t-xilinx for powerpc-xilinx-eabi*.
From-SVN: r147100
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
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
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
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
GCC Administrator [Mon, 4 May 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147090
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Sun, 3 May 2009 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147071
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
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
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
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
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
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
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
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
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
GCC Administrator [Sat, 2 May 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147052
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
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
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
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
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
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
GCC Administrator [Fri, 1 May 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147028
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
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
Michael Matz [Thu, 30 Apr 2009 21:59:49 +0000 (21:59 +0000)]
fix for PR 39955
From-SVN: r147021
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
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
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
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
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
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
Janne Blomqvist [Thu, 30 Apr 2009 15:12:37 +0000 (18:12 +0300)]
Fix PR libfortran/39667
From-SVN: r147004
Eric Botcazou [Thu, 30 Apr 2009 14:35:50 +0000 (14:35 +0000)]
Fix date
From-SVN: r147003
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
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
Ramana Radhakrishnan [Thu, 30 Apr 2009 10:04:52 +0000 (10:04 +0000)]
Fix PR target/38571
From-SVN: r147000
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
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
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
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
GCC Administrator [Thu, 30 Apr 2009 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r146994
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
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
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
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
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
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
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
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
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
Arnaud Charlet [Wed, 29 Apr 2009 15:34:32 +0000 (15:34 +0000)]
* gcc-interface/Make-lang.in: Update dependencies
From-SVN: r146978
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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