Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214125 138bc75d-0d04-0410-961f-82ee72b054a4
Replace BB_HEAD et al macros with functions

gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (BB_HEAD): Convert to a function.  Strengthen the
	return type from rtx to rtx_insn *.
	(BB_END): Likewise.
	(BB_HEADER): Likewise.
	(BB_FOOTER): Likewise.
	(SET_BB_HEAD): Convert to a function.
	(SET_BB_END): Likewise.
	(SET_BB_HEADER): Likewise.
	(SET_BB_FOOTER): Likewise.

	* cfgrtl.c (BB_HEAD): New function, from macro of same name.
	Strengthen the return type from rtx to rtx_insn *.  For now, this
	is done by adding a checked cast, but this will eventually
	become a field lookup.
	(BB_END): Likewise.
	(BB_HEADER): Likewise.
	(BB_FOOTER): Likewise.
	(SET_BB_HEAD): New function, from macro of same name.  This is
	intended for use as an lvalue, and so returns an rtx& to allow
	in-place modification.
	(SET_BB_END): Likewise.
	(SET_BB_HEADER): Likewise.
	(SET_BB_FOOTER): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214126 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-18  Patrick Palka  <ppalka@gcc.gnu.org>

	* MAINTAINERS (Write After Approval): Add myself.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214127 138bc75d-0d04-0410-961f-82ee72b054a4
Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms

/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt: Add SET_NEXT_INSN, SET_PREV_INSN.

gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (PREV_INSN): Split macro in two: the existing one,
	for rvalues, and...
	(SET_PREV_INSN): New macro, for use as an lvalue.
	(NEXT_INSN, SET_NEXT_INSN): Likewise.

	* caller-save.c (save_call_clobbered_regs): Convert lvalue use of
	PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN.
	* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
	(fixup_abnormal_edges): Likewise.
	(unlink_insn_chain): Likewise.
	(fixup_reorder_chain): Likewise.
	(cfg_layout_delete_block): Likewise.
	(cfg_layout_merge_blocks): Likewise.
	* combine.c (update_cfg_for_uncondjump): Likewise.
	* emit-rtl.c (link_insn_into_chain): Likewise.
	(remove_insn): Likewise.
	(delete_insns_since): Likewise.
	(reorder_insns_nobb): Likewise.
	(emit_insn_after_1): Likewise.
	* final.c (rest_of_clean_state): Likewise.
	(final_scan_insn): Likewise.
	* gcse.c (can_assign_to_reg_without_clobbers_p): Likewise.
	* haifa-sched.c (concat_note_lists): Likewise.
	(remove_notes): Likewise.
	(restore_other_notes): Likewise.
	(move_insn): Likewise.
	(unlink_bb_notes): Likewise.
	(restore_bb_notes): Likewise.
	* jump.c (delete_for_peephole): Likewise.
	* optabs.c (emit_libcall_block_1): Likewise.
	* reorg.c (emit_delay_sequence): Likewise.
	(fill_simple_delay_slots): Likewise.
	* sel-sched-ir.c (sel_move_insn): Likewise.
	(sel_remove_insn): Likewise.
	(get_bb_note_from_pool): Likewise.
	* sel-sched.c (move_nop_to_previous_block): Likewise.

	* config/bfin/bfin.c (reorder_var_tracking_notes): Likewise.
	* config/c6x/c6x.c (gen_one_bundle): Likewise.
	(c6x_gen_bundles): Likewise.
	(hwloop_optimize): Likewise.
	* config/frv/frv.c (frv_function_prologue): Likewise.
	(frv_register_nop): Likewise.
	* config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise.
	(ia64_reorg): Likewise.
	* config/mep/mep.c (mep_reorg_addcombine): Likewise.
	(mep_make_bundle): Likewise.
	(mep_bundle_insns): Likewise.
	* config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
	* config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise.
	* config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214128 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-family/ChangeLog:

2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	    Steven Bosscher  <steven@gcc.gnu.org>

	PR c/52952
	* c-format.c: Add extra_arg_loc and format_string_loc to struct
	format_check_results.
	(check_function_format): Use true and add comment for boolean
	argument.
	(finish_dollar_format_checking): Use explicit location when warning.
	(check_format_info): Likewise.
	(check_format_arg): Set extra_arg_loc and format_string_loc.
	(check_format_info_main): Use explicit location when warning.
	(check_format_types): Pass explicit location.
	(format_type_warning): Likewise.

gcc/testsuite/ChangeLog:

2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	    Steven Bosscher  <steven@gcc.gnu.org>

	PR c/52952
	* gcc.dg/redecl-4.c: Add column markers.
	* gcc.dg/format/bitfld-1.c: Likewise.
	* gcc.dg/format/attr-2.c: Likewise.
	* gcc.dg/format/attr-6.c: Likewise.
	* gcc.dg/format/array-1.c: Likewise.
	* gcc.dg/format/attr-7.c: Likewise.
	* gcc.dg/format/asm_fprintf-1.c: Likewise.
	* gcc.dg/format/attr-4.c: Likewise.
	* gcc.dg/format/branch-1.c: Likewise.
	* gcc.dg/format/c90-printf-1.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214129 138bc75d-0d04-0410-961f-82ee72b054a4
	* class.c (contains_empty_class_p): Remove.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214130 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-family/
	* c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
	to warn_c90_c99_compat.
	* c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
	to -1.
gcc/c/
	* c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
	to pedwarn_c90.
	* c-errors.c: Include "opts.h".
	(pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
	* c-parser.c (disable_extension_diagnostics): Handle negative value
	of warn_c90_c99_compat, too.
	(restore_extension_diagnostics): Likewise.
	(c_parser_compound_statement_nostart): Pass
	OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
gcc/testsuite/
	* gcc.dg/Wc90-c99-compat-4.c: Remove all dg-warnings.
	* gcc.dg/Wc90-c99-compat-5.c: Remove all dg-errors.
	* gcc.dg/Wc90-c99-compat-7.c: New test.
	* gcc.dg/Wc90-c99-compat-8.c: New test.
	* gcc.dg/Wdeclaration-after-statement-4.c: New test.
libcpp/
	* charset.c (_cpp_valid_ucn): Warn only if -Wc90-c99-compat.
	* lex.c (_cpp_lex_direct): Likewise.
	* macro.c (replace_args): Likewise.
	(parse_params): Likewise.
	* include/cpplib.h (cpp_options): Change cpp_warn_c90_c99_compat
	to char.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214131 138bc75d-0d04-0410-961f-82ee72b054a4
Add forgotten test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214132 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/invoke.texi: Document -Wc99-c11-compat.
c-family/
	* c.opt (Wc99-c11-compat): New option.
c/
	* c-decl.c (diagnose_mismatched_decls): Unconditionally call
	pedwarn_c99 instead of pedwarn.
	(grokfield): Likewise.
	(warn_defaults_to): New function.
	(grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
	Unconditionally call pedwarn_c99 instead of pedwarn.
	(start_function): Call warn_defaults_to instead of pedwarn_c99.
	(declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
	check flag_isoc11 before.
	* c-errors.c (pedwarn_c99): Change the return type to bool.
	Handle -Wc99-c11-compat.
	* c-parser.c (disable_extension_diagnostics): Handle
	warn_c99_c11_compat.
	(restore_extension_diagnostics): Likewise.
	(c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
	instead of pedwarn, don't check flag_isoc11 before.
	(c_parser_declspecs): Likewise.
	(c_parser_alignas_specifier): Likewise.
	(c_parser_alignof_expression): Likewise.
	(c_parser_generic_selection): Likewise.
	* c-tree.h (pedwarn_c99): Update declaration.
	* c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
	of pedwarn_c99.
testsuite/
	* gcc.dg/Wc99-c11-compat-1.c: New test.
	* gcc.dg/Wc99-c11-compat-2.c: New test.
	* gcc.dg/Wc99-c11-compat-3.c: New test.
	* gcc.dg/Wc99-c11-compat-4.c: New test.
	* gcc.dg/Wc99-c11-compat-5.c: New test.
	* gcc.dg/Wc99-c11-compat-6.c: New test.
	* gcc.dg/Wc99-c11-compat-7.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214133 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/sse.md
	(define_mode_iterator VI48_AVX512F): Delete.
	(define_mode_iterator VI48_AVX512F_AVX512VL): New.
	(define_mode_iterator VI2_AVX512VL): Ditto.
	(define_insn "<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name><round_name>"):
	Delete.
	(define_insn
	("<mask_codefor><avx512>_ufix_notrunc<sf2simodelower><mode><mask_name><round_name>"):
	New.
	(define_insn "avx512cd_maskw_vec_dup<mode>"): Macroize.
	(define_insn "<avx2_avx512f>_ashrv<mode><mask_name>"): Delete.
	(define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
	with VI48_AVX512F_AVX512VL): New.
	(define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
	with VI2_AVX512VL): Ditto.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214134 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-19  Richard Biener  <rguenther@suse.de>

	* lto-streamer-out.c (DFS::DFS_write_tree_body): Stream
	DECL_EXTERNALs in BLOCKs as non-references.
	* tree-streamer-out.c (streamer_write_chain): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214135 138bc75d-0d04-0410-961f-82ee72b054a4
Restore Sun as COMDAT group support

	* configure.ac (gcc_cv_as_comdat_group_group): Only default to no
	if unset.
	* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214137 138bc75d-0d04-0410-961f-82ee72b054a4
XFAIL g++.dg/debug/dwarf2/nested-4.C on Solaris with Sun as

	* g++.dg/debug/dwarf2/nested-4.C: XFAIL on *-*-solaris2.1[1-9]* &&
	!gas.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214138 138bc75d-0d04-0410-961f-82ee72b054a4
Add guality [p]type test.

Add a new type:var variant to the guality.exp testsuite to check that
gdb gets the correct type for a variable or function. To use it in a
guality test add something like:

/* { dg-final { gdb-test 50 "type:main" "int (int, char **)" } } */

Which will put a breakpoint at line 50 and check that the type of "main"
equals "int (int, char **)" according to gdb. The test harness will make
sure to squash all extra whitespace/newlines that gdb might use to make
comparisons of large structs easy.

gcc/testsuite/ChangeLog

	* lib/gcc-gdb-test.exp (gdb-test): Handle type:var for gdb ptype
	matching. Catch '<unknown type in ' to recognize older gdb versions.
	* gcc.dg/guality/const-volatile.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214139 138bc75d-0d04-0410-961f-82ee72b054a4
dwarf2out.c: Pass one cv_quals argument instead of two for const and volatile.

modified_type_die and add_type_attribute take two separate arguments
for whether the type should be const and/or volatile. To help add
more type modifiers pass the requested modifiers as one cv_quals argument
to these functions. And introduce helper function decl_quals to extract
additional cv_quals from declaration trees.

DWARFv3 added restrict_type [PR debug/59051] and DWARFv5 has proposals
for atomic_type and aligned_type. Which will be easier to implement based
on this change.

gcc/ChangeLog

	* dwarf2out.c (decl_quals): New function.
	(modified_type_die): Take one cv_quals argument instead of two,
	one for const and one for volatile.
	(add_type_attribute): Likewise.
	(generic_parameter_die): Call add_type_attribute with one modifier
	argument.
	(base_type_for_mode): Likewise.
	(add_bounds_info): Likewise.
	(add_subscript_info): Likewise.
	(gen_array_type_die): Likewise.
	(gen_descr_array_type_die): Likewise.
	(gen_entry_point_die): Likewise.
	(gen_enumeration_type_die): Likewise.
	(gen_formal_parameter_die): Likewise.
	(gen_subprogram_die): Likewise.
	(gen_variable_die): Likewise.
	(gen_const_die): Likewise.
	(gen_field_die): Likewise.
	(gen_pointer_type_die): Likewise.
	(gen_reference_type_die): Likewise.
	(gen_ptr_to_mbr_type_die): Likewise.
	(gen_inheritance_die): Likewise.
	(gen_subroutine_type_die): Likewise.
	(gen_typedef_die): Likewise.
	(force_type_die): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214140 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-19  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (fold_gimple_assign): Properly build a
	null-pointer constant when devirtualizing addresses.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214141 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/61271
	* cgraphunit.c (handle_alias_pairs): Fix condition.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214142 138bc75d-0d04-0410-961f-82ee72b054a4
Emit DW_tag_restrict_type for restrict-qualified pointers.

gcc/ChangeLog

	PR debug/59051
	* dwarf2out.c (modified_type_die): Handle TYPE_QUAL_RESTRICT.

gcc/testsuite/ChangeLog

	PR debug/59051
	* gcc.dg/guality/restrict.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214143 138bc75d-0d04-0410-961f-82ee72b054a4
gcc.dg/guality/const-volatile.c: Add `used' attribute to pi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214144 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-19  Patrick Palka  <ppalka@gcc.gnu.org>

	PR c/45584
	* c-typeck.c (build_c_cast): Do a conversion even when the
	TYPE_MAIN_VARIANTs are the same.

2014-08-19  Patrick Palka  <ppalka@gcc.gnu.org>

	PR c/45584
	* gcc.dg/pr13519-1.c: Adjust.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214151 138bc75d-0d04-0410-961f-82ee72b054a4