Commit Graph

93357 Commits

Author SHA1 Message Date
Jakub Jelinek
5bbca03966 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
2009-05-05 08:37:05 +02:00
GCC Administrator
4fbe73ec80 Daily bump.
From-SVN: r147115
2009-05-05 00:16:43 +00:00
Joseph Myers
4f1e4960a6 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
2009-05-05 00:44:36 +01:00
Rafael Avila de Espindola
40540e682a 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
2009-05-04 22:08:44 +00:00
Ben Elliston
33fc884c96 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
2009-05-05 07:34:41 +10:00
Joseph Myers
88388a5229 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
2009-05-04 21:24:22 +01:00
Michael Eager
960c5c791a Allow address for DImode/DFmode only if double-precision FP regs.
From-SVN: r147105
2009-05-04 15:57:46 +00:00
Michael Eager
d083fbba42 Add TARGET_SINGLE_FLOAT check.
From-SVN: r147104
2009-05-04 15:48:59 +00:00
Laurent GUERBY
ffef121932 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
2009-05-04 15:32:00 +00:00
Michael Eager
c3ba8d3243 Add CPP_SPEC for -mxilinx-fpu.
From-SVN: r147101
2009-05-04 15:22:22 +00:00
Michael Eager
edce9f18ec Add t-xilinx for powerpc-xilinx-eabi*.
From-SVN: r147100
2009-05-04 15:16:20 +00:00
Paolo Bonzini
506d7b686c 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
2009-05-04 12:52:41 +00:00
Manuel López-Ibáñez
67beaaa685 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
2009-05-04 12:47:53 +00:00
Joseph Myers
a3af5087d9 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
2009-05-04 13:23:50 +01:00
Richard Guenther
ea5cd5f17f 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
2009-05-04 11:01:59 +00:00
GCC Administrator
a967a1b62f Daily bump.
From-SVN: r147090
2009-05-04 00:16:50 +00:00
Kazu Hirata
ddc2690ac0 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
2009-05-03 23:31:18 +00:00
Kazu Hirata
ef268d34b7 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
2009-05-03 23:27:10 +00:00
Eric Botcazou
97f0e9d9e0 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
2009-05-03 21:10:20 +00:00
Richard Guenther
255d3827b4 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
2009-05-03 19:57:32 +00:00
Richard Guenther
16c337707b 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
2009-05-03 19:55:55 +00:00
Manuel López-Ibáñez
62a67c94b7 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
2009-05-03 19:14:06 +00:00
Adam Nemet
8c7926c4c7 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
2009-05-03 17:20:30 +00:00
Jan Hubicka
b91cc3b9dc 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
2009-05-03 16:51:50 +00:00
Paolo Carlini
bd67512af1 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
2009-05-03 16:13:59 +00:00
Joseph Myers
fa5da7dee3 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
2009-05-03 15:07:41 +01:00
Paolo Bonzini
2ddd5020a1 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
2009-05-03 14:03:24 +00:00
Joseph Myers
9e322bc1a5 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
2009-05-03 12:59:26 +01:00
Anatoly Sokolov
aea88c05c9 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
2009-05-03 15:25:20 +04:00
GCC Administrator
0453fa897a Daily bump.
From-SVN: r147071
2009-05-03 00:16:41 +00:00
Joseph Myers
dcdd554149 * gcc.dg/ucnid-6.c: Fix typo in dg-do directive.
From-SVN: r147068
2009-05-03 00:30:58 +01:00
Richard Guenther
85e59f3a2d 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
2009-05-02 17:50:21 +00:00
Richard Guenther
4636b850f6 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
2009-05-02 17:49:32 +00:00
Jan Hubicka
25195e8264 functional_hash.h (explicit specializations of () operator): Mark pure.
* include/tr1_impl/functional_hash.h (explicit specializations of ()
	operator): Mark pure.

From-SVN: r147062
2009-05-02 13:22:49 +00:00
Ben Elliston
5e10cb5afc 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
2009-05-02 22:03:05 +10:00
Jan Hubicka
048bf48b3e 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
2009-05-02 11:00:59 +00:00
Jan Hubicka
d5c5f9ab07 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
2009-05-02 10:57:07 +00:00
Eric Botcazou
2ed1959a57 * store-motion.c (compute_store_table): Add ENABLE_CHECKING guard.
From-SVN: r147054
2009-05-02 09:11:23 +00:00
Steven Bosscher
d363a7e74c 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
2009-05-02 06:43:49 +00:00
GCC Administrator
19514be49f Daily bump.
From-SVN: r147052
2009-05-02 00:16:48 +00:00
Michael Matz
9c3d55b457 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
2009-05-01 21:53:15 +00:00
Steven Bosscher
ea264ca5a5 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
2009-05-01 20:25:26 +00:00
Steven Bosscher
6c5d4d1a02 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
2009-05-01 20:22:56 +00:00
Joseph Myers
b02cec6ee6 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
2009-05-01 15:09:20 +01:00
Ian Lance Taylor
3b0249cbff * doc/install.texi: Document --enable-linker-build-id option.
From-SVN: r147031
2009-05-01 00:38:54 +00:00
Paul Pluzhnikov
cd5336897e 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
2009-05-01 00:19:24 +00:00
GCC Administrator
7654725233 Daily bump.
From-SVN: r147028
2009-05-01 00:16:51 +00:00
Adam Nemet
ba6adec4e6 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
2009-04-30 22:42:58 +00:00
Adam Nemet
794f21f97e * gcc.dg/ssp-1.c (__stack_chk_fail): Remove static.
From-SVN: r147023
2009-04-30 22:33:32 +00:00
Michael Matz
48f5b722f8 fix for PR 39955
From-SVN: r147021
2009-04-30 21:59:49 +00:00