* 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
Replace PREV_INSN et al macros with functions

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

	* rtl.h (PREV_INSN): Convert to an inline function.  Strengthen
	the return type from rtx to rtx_insn *,  which will enable various
	conversions in followup patches.  For now this is is done by a
	checked cast.
	(NEXT_INSN): Likewise.
	(SET_PREV_INSN): Convert to an inline function.  This is intended
	for use as an lvalue, and so returns an rtx& to allow in-place
	modification.
	(SET_NEXT_INSN): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214152 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * config/i386/cygming-crtbegin.c (deregister_frame_fn): Fix
        declaration syntax.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214153 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * configure.tgt: Add cygwin to supported targets.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214154 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * config/i386/cygwin-stdint.h: Throughout, make type
        definitions dependent on target architecture, not host.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214156 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-19  Christopher Faylor  <me.gnu@cgf.cx>

	* MAINTAINERS: Remove myself


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