Commit Graph

117181 Commits

Author SHA1 Message Date
Jason Merrill 66edf32a6f re PR c++/53356 (ICE in verify_gimple_stmt, at tree-cfg.c:4258)
PR c++/53356
	* tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR
	representing a bitwise copy of a glvalue.

From-SVN: r188029
2012-05-30 18:07:23 -04:00
Jason Merrill 989e6706f1 * tree.c (stabilize_expr): Tweak logic.
From-SVN: r188028
2012-05-30 18:07:14 -04:00
Steven Bosscher a932fb8932 * ira.c (allocate_initial_values): Make static.
From-SVN: r188025
2012-05-30 17:43:35 +00:00
Tobias Burnus d75d954623 re PR c/53502 (Bootstrap broken with --disable-build-poststage1-with-cxx)
2012-05-30  Tobias Burnus  <burnus@net-b.de>

        PR c/53502
        * decl.c (match_attr_spec): Remove "typedef".

From-SVN: r188024
2012-05-30 18:44:42 +02:00
Uros Bizjak 974485d7ef i386.c (legitimize_tls_address): Generate tls_initial_exec_64_sun only when !TARGET_X32.
* config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
	Generate tls_initial_exec_64_sun only when !TARGET_X32.

From-SVN: r188022
2012-05-30 16:52:38 +02:00
Jason Merrill 4bbbcbf6f5 re PR c++/53356 (ICE in verify_gimple_stmt, at tree-cfg.c:4258)
PR c++/53356
	* tree.c (stabilize_init): Side effects make the init unstable.

From-SVN: r188019
2012-05-30 10:50:44 -04:00
Richard Guenther e40a96803c re PR tree-optimization/53501 (scev introduces signed overflow)
2012-05-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/53501
	* fold-const.c (fold_binary_loc): Make sure to call
	fold_plusminus_mult_expr with the original sign of operands.

	* gcc.dg/torture/pr53501.c: New testcase.
	* c-c++-common/restrict-2.c: Adjust.

From-SVN: r188009
2012-05-30 12:29:26 +00:00
Alan Modra 08cad606cd powerpc.exp: Load torture-options.exp, call torture-finish.
* gcc.target/powerpc/powerpc.exp: Load torture-options.exp, call
	torture-finish.

From-SVN: r188008
2012-05-30 21:11:23 +09:30
Steven Bosscher ee666c25cd Makefile.in: Fix many dependencies.
* Makefile.in: Fix many dependencies.
	(DWARF2_H): Depend on dwarf2.def.
	(RTL_ERROR_H): Depend on rtl-error.h.
	(TREE_PRETTY_PRINT_H, GIMPLE_PRETTY_PRINT_H): New.  Replace
	all gimple-pretty-print.h and tree-pretty-print.h references.

From-SVN: r188007
2012-05-30 10:55:53 +00:00
Marc Glisse 66c540d27c simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of concatenations.
2012-05-30  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
	concatenations.

gcc/testsuite/
	* gcc.target/i386/shuf-concat.c: New test.

From-SVN: r188006
2012-05-30 10:48:06 +00:00
Richard Guenther ab068278e9 re PR bootstrap/53522 (Bootstrap is broken for x86_64-apple-darwin10 at r187977)
2012-05-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/53522
	* tree-emutls.c (gen_emutls_addr): Do not add globals to
	referenced-vars.

From-SVN: r188005
2012-05-30 09:14:27 +00:00
Eric Botcazou d6a6a07a68 explow.c (probe_stack_range): Restore simple control flow and stop again when...
* explow.c (probe_stack_range): Restore simple control flow and stop
	again when the probe cannot be generated if HAVE_check_stack.

From-SVN: r188003
2012-05-30 08:52:36 +00:00
Jakub Jelinek 667c517b37 re PR rtl-optimization/53519 (ice in do_SUBST, at combine.c:707)
PR rtl-optimization/53519
	* combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
	instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.

	* gcc.c-torture/compile/pr53519.c: New test.

From-SVN: r188001
2012-05-30 08:53:46 +02:00
Tobias Burnus eea58adb13 decl.c: Fix comment typos.
2012-05-30  Tobias Burnus  <burnus@net-b.de>

        * decl.c: Fix comment typos.
        * expr.c: Ditto.
        * frontend-passes.c: Ditto.
        * match.c: Ditto.
        * resolve.c: Ditto.
        * trans-array.c: Ditto.
        * trans-common.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-types.c: Ditto.

2012-05-30  Tobias Burnus  <burnus@net-b.de>

        * io/io.h: Fix comment typos.
        * io/list_read.c: Ditto.

From-SVN: r188000
2012-05-30 08:26:09 +02:00
Ramana Radhakrishnan fa95aa2547 arm.c (arm_evpc_neon_vrev): Adjust off by one error.
2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.


2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* gcc.target/arm/neon-vrev.c: New.

From-SVN: r187999
2012-05-30 01:40:32 +00:00
GCC Administrator eb55047520 Daily bump.
From-SVN: r187998
2012-05-30 00:17:54 +00:00
Jack Howarth 638c962f0a re PR debug/53453 (darwin linker expects both AT_name and AT_comp_dir debug notes)
2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR debug/53453
	* doc/tm.texi: Update.
	* doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
	* target.def (force_at_comp_dir): New hook.
	* config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
	* dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.

From-SVN: r187994
2012-05-29 23:44:09 +00:00
Jack Howarth a8b4175ce4 Oops, wrong changelog, this is the right one:
2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>

	    * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
	    Darwin >= 10.
	    (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
	    (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.

From-SVN: r187993
2012-05-29 23:24:33 +00:00
Jack Howarth 3127f13395 darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when Darwin >= 10.
2012-05-29  Iain Sandoe  <iains@gcc.gnu.org>

	    * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
	    Darwin >= 10.
	    (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
	    (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.

From-SVN: r187992
2012-05-29 23:20:33 +00:00
Oleg Endo 2df2ce3f78 re PR target/51340 (SH Target: Make -mfused-madd enabled by default)
PR target/51340
	* config/sh/sh.c (sh_option_override): Set TARGET_FMAC if
	flag_unsafe_math_optimizations is set.
	* doc/invoke.texi (SH Options): Add -mno-fused-madd description.
	Update description of -mfused-madd.

	PR target/51340
	* gcc.target/sh/pr51340-1.c: New.
	* gcc.target/sh/pr51340-2.c: New.
	* gcc.target/sh/pr51340-3.c: New.

From-SVN: r187988
2012-05-29 20:55:58 +00:00
Oleg Endo c11394f8ed re PR target/52941 (SH Target: Add support for movco.l / movli.l atomics on SH4A)
PR target/52941
	* config/sh/predicates.md (atomic_arith_operand,
	atomic_logical_operand): New predicates.
	* config/sh/sh.c (sh_option_override): Check atomic options.
	* config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
	UNSUPPORTED_HARD_ATOMIC_CPU): New macros.
	(DRIVER_SELF_SPECS): Use UNSUPPORTED_ATOMIC_OPTIONS and
	UNSUPPORTED_HARD_ATOMIC_CPU.
	* config/sh/sync.md: Update description comments.
	(I12): New mode iterator.
	(fetchop_predicate, fetchop_constraint): New code attributes.
	(atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
	atomic_exchangesi_hard, atomic_exchange<mode>_hard,
	atomic_fetch_<fetchop_name>si_hard,
	atomic_fetch_<fetchop_name><mode>_hard,
	atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
	atomic_<fetchop_name>_fetchsi_hard,
	atomic_<fetchop_name>_fetch<mode>_hard,
	atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
	atomic_test_and_set_hard): New insns.
	(atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
	atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
	atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
	atomic_test_and_set_soft): Use same formatting for the first line of
	the asm block as in new insns above.
	(atomic_compare_and_swap<mode>, atomic_exchange<mode>,
	atomic_fetch_<fetchop_name><mode>, atomic_<fetchop_name>_fetch<mode>,
	atomic_test_and_set): Integrate new *_hard insns into expanders.
	* config/sh/sh.opt (mhard-atomic): New option.
	* doc/invoke.texi (SH Options): Document it.

From-SVN: r187987
2012-05-29 20:26:41 +00:00
Edmar Wienskoski 556861b25c MAINTAINERS (Write After Approval): Add myself.
2012-05-29  Edmar Wienskoski  <edmar@freescale.com>

	*  MAINTAINERS (Write After Approval): Add myself.

From-SVN: r187986
2012-05-29 20:18:29 +00:00
François Dumont 80a009e565 2012-05-29 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
	(__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
	with iterator returning rvalue.
	* testsuite/25_algorithms/stable_sort/3.cc: New.

From-SVN: r187985
2012-05-29 19:29:29 +00:00
Thomas Schwinge 678abdd924 configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead of gcc_AC_FUNC_MMAP_BLACKLIST.
fixincludes/
	* configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead of
	gcc_AC_FUNC_MMAP_BLACKLIST.
	* Makefile.in (ACLOCAL_AMFLAGS): Don't include ../gcc.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

From-SVN: r187984
2012-05-29 21:28:57 +02:00
Joseph Myers 3f417959fd * lto-plugin.c: Fix typo.
From-SVN: r187982
2012-05-29 20:21:25 +01:00
Joseph Myers 4ac1dacf91 * mf-impl.h: Fix typo.
From-SVN: r187981
2012-05-29 20:21:05 +01:00
Joseph Myers 65de66590d * c-common.c: Fix typo.
From-SVN: r187980
2012-05-29 20:20:43 +01:00
Meador Inge d0421638fa c-decl.c (c_push_function_context): Always create a new language function.
2012-05-29  Meador Inge  <meadori@codesourcery.com>

	* c-decl.c (c_push_function_context): Always create a new language
	function.
	(c_pop_function_context): Clear the language function created in
	c_push_function_context.

From-SVN: r187979
2012-05-29 20:07:04 +01:00
Matt Turner 5e631e49ec ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
* config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
        (define_bypass "ev6_fcmov"): New.

From-SVN: r187978
2012-05-29 11:52:25 -07:00
Joseph Myers ca9d5dc67d mt-sde: Fix typos.
* mt-sde: Fix typos.
	* stdint.m4: Fix typos.
	* tcl.m4: Fix typos.

From-SVN: r187971
2012-05-29 16:54:57 +01:00
Steven Bosscher 6399c0abb3 integrate.c: Remove.
* integrate.c: Remove.
	* integrate.h: Remove.
	* Makefile.in: Remove make rules for integrate.c and INTEGRATE_H.
	* config/arm/t-arm: Remove INTEGRATE_H dependency for target files.
	* config/rs6000/t-rs6000: Likewise
	* config/spu/t-spu-elf: Likewise.
	* function.h (get_hard_reg_initial_val, has_hard_reg_initial_val,
	get_hard_reg_initial_reg, emit_initial_value_sets): Move prototypes
	from integrate.h to here.
	(initial_value_entry): New prototype.
	* reload.h (allocate_initial_values): Remove prototype.
	* tree.h (set_decl_abstract_flags, set_decl_origin_self): Likewise.
	* cse.c (fixed_base_plus_p): Don't handle virtual registers for
	integrate.c.
	* dwarf2out.c (set_decl_origin_self, set_block_origin_self,
	set_decl_abstract_flags, set_block_abstract_flags): Move from
	integrate.c to here, the only user.
	* expmed.c (extract_fixed_bit_field): Remove outdated comment
	about integrate.c.
	* function.c: Don't include integrate.h.
	(struct initial_value_pair, struct initial_value_struct,
	get_hard_reg_initial_val, has_hard_reg_initial_val,
	get_hard_reg_initial_reg, emit_initial_value_sets): Move from
	integrate.c to here.
	(initial_value_entry): New function.
	* genemit.c (main): Don't print integrate.h include line.
	* ira.c: Don't include integrate.h.
	(allocate_initial_values): Move from integrate.c to here.
	(ira): Update allocate_initial_values call.
	* tree-inline.c: Don't include integrate.h.
	(function_attribute_inlinable_p): Moved from integrate.c to here.
	* cfgexpand.c: Don't include integrate.h.
	* except.c: Likewise.
	* langhooks.c: Likewise.
	* passes.c: Likewise.
	* toplev.c: Likewise.
	* config/frv/frv.c: Likewise.
	* config/pa/pa.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/epiphany/epiphany.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/score/score.c: Likewise.
	* config/picochip/picochip.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/microblaze/microblaze.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/v850/v850.c: Likewise.
	* config/mmix/mmix.c: Likewise.
	* config/bfin/bfin.c: Likewise.
	* config/arm/arm.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/m32r/m32r.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/c6x/c6x.c: Include function.h instead of integrate.h.
	* config/tilegx/tilegx.c: Likewise.
	* config/tilepro/tilepro.c: Likewise.

From-SVN: r187969
2012-05-29 15:36:18 +00:00
Georg-Johann Lay 030a9eb6d8 t-avr (s-avr-mmcu-texi): Call gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH.
* config/avr/t-avr (s-avr-mmcu-texi): Call 
	gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH.

From-SVN: r187968
2012-05-29 15:21:34 +00:00
Joseph Myers d8c9d39117 ieee754-df.S: Fix typos.
* config/arm/ieee754-df.S: Fix typos.
	* config/arm/ieee754-sf.S: Fix typos.
	* config/c6x/libunwind.S: Fix typos.
	* config/epiphany/udivsi3-float.c: Fix typos.
	* config/microblaze/muldi3_hard.S: Fix typos.
	* config/picochip/adddi3.S: Fix typos.
	* config/picochip/ashlsi3.S: Fix typos.
	* config/picochip/ashrsi3.S: Fix typos.
	* config/picochip/clzsi2.S: Fix typos.
	* config/picochip/cmpsi2.S: Fix typos.
	* config/picochip/divmod15.S: Fix typos.
	* config/picochip/divmodhi4.S: Fix typos.
	* config/picochip/divmodsi4.S: Fix typos.
	* config/picochip/longjmp.S: Fix typos.
	* config/picochip/lshrsi3.S: Fix typos.
	* config/picochip/parityhi2.S: Fix typos.
	* config/picochip/popcounthi2.S: Fix typos.
	* config/picochip/setjmp.S: Fix typos.
	* config/picochip/subdi3.S: Fix typos.
	* config/picochip/ucmpsi2.S: Fix typos.
	* config/picochip/udivmodhi4.S: Fix typos.
	* config/picochip/udivmodsi4.S: Fix typos.
	* config/spu/divv2df3.c: Fix typos.
	* config/spu/mfc_multi_tag_release.c: Fix typos.
	* config/spu/mfc_tag_release.c: Fix typos.
	* configure.ac: Fix typos.
	* configure: Regenerate.

From-SVN: r187967
2012-05-29 15:54:22 +01:00
Joseph Myers 7d9641ccfa directives.c: Fix typos.
* directives.c: Fix typos.
	* include/line-map.h: Fix typos.
	* line-map.c: Fix typos.
	* macro.c: Fix typos.

From-SVN: r187966
2012-05-29 15:53:50 +01:00
Michael Matz 9474e8ab4a rtl.h (assign_stack_temp, [...]): Remove 'keep' argument.
* rtl.h (assign_stack_temp, assign_stack_temp_for_type,
	assign_temp): Remove 'keep' argument.
	(mark_temp_addr_taken): Remove prototype.
	* tree.h (expand_decl): Remove prototype.
	* function.c (struct temp_slot): Remove addr_taken and keep
	member.
	(assign_stack_temp_for_type) Don't initialize above, remove
	keep argument.
	(assign_stack_temp, assign_temp): Remove keep argument.
	(mark_temp_addr_taken): Remove.
	(preserve_temp_slots): Remove handling of addr_taken and keep
	members.
	(free_temp_slots): Ditto.
	* expr.c (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Remove
	dead code.
	* stmt.c (expand_asm_operands): Remove dead code.
	(expand_decl): Remove.
	* c-decl.c (finish_struct): Don't call expand_decl.
	* builtins.c (expand_builtin_cexpi): Adjust calls to assign_temp
	and assign_stack_temp.
	* calls.c (save_fixed_argument_area, initialize_argument_information,
	expand_call, emit_library_call_value_1, store_one_arg): Ditto.
	* expmed.c (extract_bit_field_1): Ditto.
	* expr.c (emit_group_load_1, emit_group_store,
	copy_blkmode_from_reg, emit_push_insn, expand_assignment,
	store_field, expand_constructor, expand_cond_expr_using_cmove,
	expand_expr_real_2, expand_expr_real_1): Ditto.
	* stmt.c (expand_asm_operands, expand_return): Ditto.

	* function.c (pop_temp_slots): Call free_temp_slots.
	* calls.c (store_one_arg): Don't call preserve_temp_slots or
	free_temp_slots.
	* expr.c (expand_assignment): Don't call free_temp_slots.

	* config/arm/arm.c (neon_expand_vector_init): Ditto.
	* config/i386/i386.c (ix86_expand_vector_set): Ditto.
	(ix86_expand_vector_extract): Ditto.
	* config/ia64/ia64.c (spill_xfmode_rfmode_operand,
	ia64_expand_movxf_movrf): Ditto.
	* config/mips/mips.c (mips_expand_vi_general): Ditto.
	* config/mmix/mmix.md (floatdisf2, floatunsdisf2, truncdfsf2,
	extendsfdf2): Ditto.
	* config/rs6000/rs6000.c (rs6000_expand_vector_init,
	rs6000_expand_vector_set, rs6000_expand_vector_extract,
	rs6000_allocate_stack_temp): Ditto.
	* config/rs6000/rs6000.md (fix_trunctfsi2_fprs): Ditto.
	* config/sparc/sparc.c (emit_soft_tfmode_libcall,
	sparc_emit_float_lib_cmp, sparc_emit_float_lib_cmp,
	sparc_expand_vector_init): Ditto.

From-SVN: r187965
2012-05-29 14:44:47 +00:00
Michael Matz ca5f433123 expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate a kept temp.
* expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate
	a kept temp.
	(expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable.
	* gimple-fold.c (canonicalize_constructor_val): Canonicalize 
	COMPOUND_LITERAL_EXPR.
	* function.c (expand_function_start): Don't call expand_decl,
	instead assert that we have RTL assigned.
	* tree-ssa-live.c (remove_unused_locals): Clear
	nonlocal_goto_save_area if its backing variable is removed.
	* stmt.c (expand_asm_operands): Remove handling of non-lvalues
	as mem inputs.
	(expand_decl): Assert that this does nothing.
	* calls.c (expand_call): Don't call mark_temp_addr_taken.

	* c-tree.h (c_expand_decl): Remove prototype.

c-family/
	* c-common.h (c_expand_decl): Remove prototype.

ada/
	* gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.

From-SVN: r187962
2012-05-29 14:41:53 +00:00
Richard Guenther 508ef0c675 re PR tree-optimization/53516 (Vectorization and memset recognition miscompile bitfield stores)
2012-05-29  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53516
	* tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
	bitfield accesses.
	* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.

	* gcc.dg/torture/pr53516.c: New testcase.

From-SVN: r187961
2012-05-29 14:40:16 +00:00
Joseph Myers 073a899888 LANGUAGES: Fix typos.
* LANGUAGES: Fix typos.
	* Makefile.in: Fix typos.
	* alias.c: Fix typos.
	* auto-inc-dec.c: Fix typos.
	* bb-reorder.c: Fix typos.
	* cfgcleanup.c: Fix typos.
	* cgraph.c: Fix typos.
	* cgraph.h: Fix typos.
	* cgraphunit.c: Fix typos.
	* collect2-aix.h: Fix typos.
	* collect2.c: Fix typos.
	* compare-elim.c: Fix typos.
	* config/alpha/vms.h: Fix typos.
	* config/arm/README-interworking: Fix typos.
	* config/arm/arm.c: Fix typos.
	* config/arm/iterators.md: Fix typos.
	* config/arm/vxworks.h: Fix typos.
	* config/avr/avr.c: Fix typos.
	* config/avr/avr.h: Fix typos.
	* config/avr/avr.md: Fix typos.
	* config/avr/builtins.def: Fix typos.
	* config/c6x/c6x.c: Fix typos.
	* config/cr16/cr16.c: Fix typos.
	* config/cr16/cr16.md: Fix typos.
	* config/cris/cris.md: Fix typos.
	* config/darwin.c: Fix typos.
	* config/darwin.opt: Fix typos.
	* config/i386/i386-c.c: Fix typos.
	* config/i386/i386.c: Fix typos.
	* config/ia64/ia64.c: Fix typos.
	* config/m68k/cf.md: Fix typos.
	* config/mep/mep.c: Fix typos.
	* config/microblaze/microblaze.c: Fix typos.
	* config/microblaze/microblaze.h: Fix typos.
	* config/mn10300/mn10300.c: Fix typos.
	* config/mn10300/mn10300.md: Fix typos.
	* config/pa/pa.c: Fix typos.
	* config/picochip/picochip.h: Fix typos.
	* config/rs6000/a2.md: Fix typos.
	* config/rs6000/rs6000.c: Fix typos.
	* config/rs6000/vector.md: Fix typos.
	* config/rx/rx.md: Fix typos.
	* config/rx/rx.opt: Fix typos.
	* config/s390/2097.md: Fix typos.
	* config/s390/s390.c: Fix typos.
	* config/s390/s390.h: Fix typos.
	* config/sh/sh.c: Fix typos.
	* config/sh/sh.md: Fix typos.
	* config/sparc/sync.md: Fix typos.
	* config/spu/spu.c: Fix typos.
	* config/spu/spu.md: Fix typos.
	* config/vms/vms.c: Fix typos.
	* config/vxworks-dummy.h: Fix typos.
	* config/vxworks.h: Fix typos.
	* cselib.c: Fix typos.
	* df-scan.c: Fix typos.
	* df.h: Fix typos.
	* doc/extend.texi: Fix typos.
	* doc/install.texi: Fix typos.
	* doc/invoke.texi: Fix typos.
	* doc/md.texi: Fix typos.
	* doc/plugins.texi: Fix typos.
	* doc/rtl.texi: Fix typos.
	* dse.c: Fix typos.
	* dwarf2asm.c: Fix typos.
	* dwarf2out.c: Fix typos.
	* except.h: Fix typos.
	* expr.c: Fix typos.
	* fold-const.c: Fix typos.
	* gcc.c: Fix typos.
	* gcse.c: Fix typos.
	* genautomata.c: Fix typos.
	* gengtype-state.c: Fix typos.
	* gengtype.c: Fix typos.
	* genhooks.c: Fix typos.
	* gimple-fold.c: Fix typos.
	* gimple-pretty-print.c: Fix typos.
	* gimple.c: Fix typos.
	* gimple.h: Fix typos.
	* gimplify.c: Fix typos.
	* graphite-interchange.c: Fix typos.
	* graphite-sese-to-poly.c: Fix typos.
	* ifcvt.c: Fix typos.
	* input.c: Fix typos.
	* ipa-cp.c: Fix typos.
	* ipa-inline-analysis.c: Fix typos.
	* ipa-inline-transform.c: Fix typos.
	* ipa-inline.c: Fix typos.
	* ipa-pure-const.c: Fix typos.
	* ipa-ref.h: Fix typos.
	* ipa-reference.c: Fix typos.
	* ipa-utils.c: Fix typos.
	* ipa.c: Fix typos.
	* ira-emit.c: Fix typos.
	* ira-lives.c: Fix typos.
	* lto-streamer.c: Fix typos.
	* lto-streamer.h: Fix typos.
	* lto-wrapper.c: Fix typos.
	* mcf.c: Fix typos.
	* mode-switching.c: Fix typos.
	* modulo-sched.c: Fix typos.
	* plugin.c: Fix typos.
	* postreload.c: Fix typos.
	* sched-deps.c: Fix typos.
	* sel-sched-ir.c: Fix typos.
	* sel-sched-ir.h: Fix typos.
	* sel-sched.c: Fix typos.
	* sese.c: Fix typos.
	* stor-layout.c: Fix typos.
	* target-hooks-macros.h: Fix typos.
	* target.def: Fix typos.
	* trans-mem.c: Fix typos.
	* tree-eh.c: Fix typos.
	* tree-predcom.c: Fix typos.
	* tree-sra.c: Fix typos.
	* tree-ssa-address.c: Fix typos.
	* tree-ssa-loop-ivopts.c: Fix typos.
	* tree-ssa-loop-niter.c: Fix typos.
	* tree-ssa-math-opts.c: Fix typos.
	* tree-ssa-pre.c: Fix typos.
	* tree-ssa-propagate.c: Fix typos.
	* tree-ssa-reassoc.c: Fix typos.
	* tree-ssa-sccvn.c: Fix typos.
	* tree-ssa-ter.c: Fix typos.
	* tree-ssa-uninit.c: Fix typos.
	* tree-ssanames.c: Fix typos.
	* tree-vect-generic.c: Fix typos.
	* tree-vect-slp.c: Fix typos.
	* tree.c: Fix typos.
	* tree.h: Fix typos.
	* varasm.c: Fix typos.
	* varpool.c: Fix typos.

From-SVN: r187959
2012-05-29 15:14:06 +01:00
Joseph Myers aba6f2c2a9 * doc/include/texinfo.tex: Update to version 2012-05-16.16.
From-SVN: r187956
2012-05-29 14:39:54 +01:00
Richard Guenther a502e67779 tree-dfa.c (find_vars_r): Do not call add_referenced_vars for globals.
2012-05-29  Richard Guenther  <rguenther@suse.de>

	* tree-dfa.c (find_vars_r): Do not call add_referenced_vars
	for globals.
	(add_referenced_var_1): Re-organize.  Assert we are not
	called for globals.
	(remove_referenced_var): Likewise.
	* varpool.c (add_new_static_var): Use create_tmp_var_raw.
	* tree-mudflap.c (execute_mudflap_function_ops): Do not
	call add_referenced_var on globals.
	* matrix-reorg.c (transform_access_sites): Likewise.

From-SVN: r187955
2012-05-29 12:48:34 +00:00
Steven Bosscher 9ff3c7caa8 alias.c (reg_known_value): Make this a VEC.
* alias.c (reg_known_value): Make this a VEC.
	(reg_known_equiv_p): Make this an sbitmap.
	(reg_known_value_size): Remove.
	(get_reg_known_value, set_reg_known_value, get_reg_known_equiv_p,
	set_reg_known_equiv_p): Update for reg_known_value and
	reg_known_value_size data structure change.
	(init_alias_analysis, end_alias_analysis): Likewise.

From-SVN: r187953
2012-05-29 11:37:21 +00:00
Jakub Jelinek 92b05e72ea re PR middle-end/53510 (OOM while compile some code)
PR middle-end/53510
	* input.c (read_line): Use XRESIZEVEC instead of XNEWVEC
	to avoid leaking memory.  No need to handle memory allocation
	failure.  Double string_len on each reallocation instead of
	adding 2.
	* gcov.c (read_line): Likewise.

From-SVN: r187952
2012-05-29 13:34:38 +02:00
Manuel López-Ibáñez 4f7f7aca35 c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
	* c-opts.c (c_common_handle_option): Remove code handling
	warn_missing_braces.

From-SVN: r187948
2012-05-29 10:09:51 +00:00
Dodji Seketeli 53a103d304 PR bootstrap/53459 - unused local typedef when building on altivec
PR bootstrap/53459
	* lex.c (search_line_fast): Avoid unused local typedefs to simulate
	a static assertion.

From-SVN: r187947
2012-05-29 11:42:39 +02:00
Dodji Seketeli 6de6b1ec5f Revert "PR bootstrap/53459 - unused local typedef when building on altivec"
This reverts commit r187853

From-SVN: r187946
2012-05-29 11:42:28 +02:00
Dodji Seketeli 828a7f76c7 PR preprocessor/53229 - Fix diagnostics location when pasting tokens
As stated in the audit trail of this problem report, consider this
test case:

    $ cat test.c
	 1	struct x {
	 2	  int i;
	 3	};
	 4	struct x x;
	 5
	 6	#define TEST(X) x.##X
	 7
	 8	void foo (void)
	 9	{
	10	  TEST(i) = 0;
	11	}
    $

    $ cc1 -quiet test.c
    test.c: In function 'foo':
    test.c:10:1: error: pasting "." and "i" does not give a valid preprocessing token
       TEST(i) = 0;
     ^
    $

So, when pasting tokens, the error diagnostic uses the global and
imprecise input_location variable, leading to an imprecise output.

To properly fix this, I think libcpp should keep the token of the
pasting operator '##', instead of representing it with flag on the LHS
operand's token.  That way, it could use its location.  Doing that
would be quite intrusive though.  So this patch just uses the location
of the LHS of the pasting operator, for now.  It's IMHO better than
the current situation.

The patch makes paste_tokens take a location parameter that is used in
the diagnostics.  This change can still be useful later when we can
use the location of the pasting operator, because paste_tokens will
just be passed the new, more precise location.

Incidentally, it appeared that when getting tokens from within
preprocessor directives (like what is done in gcc.dg/cpp/paste12.c),
with -ftrack-macro-expansion disabled, the location of the expansion
point of macros was being lost because
cpp_reader::set_invocation_location wasn't being properly set.  It's
because when cpp_get_token_1 calls enter_macro_context, there is a
little period of time between the beginning of that later function and
when the macro is really pushed (and thus when the macro is really
expanded) where we wrongly consider that we are not expanding the
macro because macro_of_context is still NULL.  In that period of time,
in the occurrences of indirect recursive calls to cpp_get_token_1,
this later function wrongly sets cpp_reader::invocation_location
because cpp_reader::set_invocation_location is not being properly set.

To avoid that confusion the patch does away with
cpp_reader::set_invocation_location and introduces a new flag
cpp_reader::about_to_expand_macro_p that is set in the small time
interval exposed earlier.  A new in_macro_expansion_p is introduced as
well, so that cpp_get_token_1 can now accurately detect when we are in
the process of expanding a macro, and thus correctly collect the
location of the expansion point.

People seem to like screenshots.

Thus, after the patch, we now have:

    $ cc1 -quiet test.c
    test.c: In function 'foo':
    test.c:6:18: error: pasting "." and "i" does not give a valid preprocessing token
     #define TEST(X) x.##X
		      ^
    test.c:10:3: note: in expansion of macro 'TEST'
       TEST(i) = 0;
       ^
    $

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

libcpp/

	PR preprocessor/53229
	* internal.h (cpp_reader::set_invocation_location): Remove.
	(cpp_reader::about_to_expand_macro_p): New member flag.
	* directives.c (do_pragma):  Remove Kludge as
	pfile->set_invocation_location is no more.
	* macro.c (cpp_get_token_1): Do away with the use of
	cpp_reader::set_invocation_location.  Just collect the macro
	expansion point when we are about to expand the top-most macro.
	Do not override cpp_reader::about_to_expand_macro_p.
	This fixes gcc.dg/cpp/paste12.c by making get_token_no_padding
	properly handle locations of expansion points.
	(cpp_get_token_with_location): Adjust, as
	cpp_reader::set_invocation_location is no more.
	(paste_tokens): Take a virtual location parameter for
	the LHS of the pasting operator.  Use it in diagnostics.  Update
	comments.
	(paste_all_tokens): Tighten the assert.  Propagate the location of
	the expansion point when no virtual locations are available.
	Pass the virtual location to paste_tokens.
	(in_macro_expansion_p): New static function.
	(enter_macro_context): Set the cpp_reader::about_to_expand_macro_p
	flag until we really start expanding the macro.

gcc/testsuite/

	PR preprocessor/53229
	* gcc.dg/cpp/paste6.c: Force to run without
	-ftrack-macro-expansion.
	* gcc.dg/cpp/paste8.c: Likewise.
	* gcc.dg/cpp/paste8-2.c: New test, like paste8.c but run with
	-ftrack-macro-expansion.
	* gcc.dg/cpp/paste12.c: Force to run without
	-ftrack-macro-expansion.
	* gcc.dg/cpp/paste12-2.c: New test, like paste12.c but run with
	-ftrack-macro-expansion.
	* gcc.dg/cpp/paste13.c: Likewise.
	* gcc.dg/cpp/paste14.c: Likewise.
	* gcc.dg/cpp/paste14-2.c: New test, like paste14.c but run with
	-ftrack-macro-expansion.
	* gcc.dg/cpp/paste18.c: New test.

From-SVN: r187945
2012-05-29 11:36:29 +02:00
Hans-Peter Nilsson 0de9dab58d trap-1.c, [...]: New tests.
* gcc.target/cris/torture/trap-1.c,
	gcc.target/cris/torture/trap-2.c,
	gcc.target/cris/torture/trap-3.c,
	gcc.target/cris/torture/trap-v0.c,
	gcc.target/cris/torture/trap-v3.c: New tests.

From-SVN: r187943
2012-05-29 01:54:09 +00:00
Hans-Peter Nilsson 64f5af47c5 cris.h (TARGET_HAS_BREAK, [...]): New macros.
* config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8):
	New macros.
	* config/cris/cris.md ("trap"): Define, enabled for
	TARGET_TRAP_USING_BREAK8.
	* config/cris/cris.opt (mtrap-using-break8): New option.

From-SVN: r187942
2012-05-29 01:52:16 +00:00
GCC Administrator 3d383eb787 Daily bump.
From-SVN: r187941
2012-05-29 00:17:51 +00:00
Paolo Carlini 4a792f9b95 re PR c++/25137 (Warning "missing braces around initializer" causing problems with tr1::array)
/c-family
2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/25137
	* c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
	-Wmissing_braces.

2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/25137
	* doc/invoke.texi: Document -Wmissing-braces not enabled by -Wall
	for C++.

/testsuite
2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/25137
	* g++.dg/warn/Wbraces3.C: New.
	* g++.dg/warn/Wbraces4.C: Likewise.

From-SVN: r187937
2012-05-28 17:42:29 +00:00