Commit Graph

148172 Commits

Author SHA1 Message Date
Tom de Vries
f329b264b3 Tag {ms,sysv}_va_list_type_node with '{ms,sysv}_abi va_list' attribute
2016-08-28  Tom de Vries  <tom@codesourcery.com>

	PR lto/70955
	* config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with
	'sysv_abi va_list' attribute.
	(ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute.
	(ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list'
	attributes.

	* gcc.dg/pr70955.c: New test.
	* gcc.dg/lto/pr70955_0.c: Same.
	* gcc.dg/lto/pr70955_1.c: Same.

From-SVN: r239805
2016-08-28 05:05:15 +00:00
GCC Administrator
5730f967fa Daily bump.
From-SVN: r239804
2016-08-28 00:16:14 +00:00
Trevor Saunders
8c39f8aeb9 make stack_slot_list a vec<rtx>
gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.h (struct rtl_data): Make stack_slot_list a vector.
	* emit-rtl.c (unshare_all_rtl_1): Adjust.
	(unshare_all_rtl_again): Likewise.
	* function.c (assign_stack_local_1): Likewise.
	(assign_stack_temp_for_type): Likewise.

From-SVN: r239801
2016-08-28 00:04:04 +00:00
Trevor Saunders
6f7eba349b make forced labels a vec
gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfgbuild.c (make_edges): Adjust.
	* cfgrtl.c (can_delete_label_p): Likewise.
	* dwarf2cfi.c (create_trace_edges): Likewise.
	* except.c (sjlj_emit_dispatch_table): Likewise.
	* function.h (struct expr_status): make x_forced_labels a vector.
	* jump.c (rebuild_jump_labels_1): Adjust.
	* reload1.c (set_initial_label_offsets): Likewise.
	* stmt.c (force_label_rtx): Likewise.
	(expand_label): Likewise.

From-SVN: r239800
2016-08-28 00:03:59 +00:00
Trevor Saunders
9cad8a673f haifa-sched.c: make ready_list an auto_vec<rtx_insn *>
gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* haifa-sched.c (fix_recovery_deps): Make ready_list a vector.

From-SVN: r239799
2016-08-28 00:03:52 +00:00
Patrick Palka
4a389eb62b Fix folding of VECTOR_CST comparisons
gcc/ChangeLog:

	PR tree-optimization/71077
	PR tree-optimization/68542
	* fold-const.c (fold_relational_const): Fix folding of
	VECTOR_CST comparisons that have a scalar boolean result type.
	(selftest::test_vector_folding): New static function.
	(selftest::fold_const_c_tests): Call it.

gcc/testsuite/ChangeLog:

	PR tree-optimization/71077
	* gcc.target/i386/pr71077.c: New test.

From-SVN: r239798
2016-08-27 22:00:17 +00:00
Gerald Pfeifer
3e13c3b9b8 extend.texi (SPU Built-in Functions): Remove stale references to material formerly at IBM and Sony.
* doc/extend.texi (SPU Built-in Functions): Remove stale
	references to material formerly at IBM and Sony.

From-SVN: r239797
2016-08-27 18:15:59 +00:00
Steven G. Kargl
602f77a672 re PR fortran/77380 (ICE in gfc_check_dependency, at fortran/dependency.c:1255)
2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/77380
	* dependency.c (gfc_check_dependency): Do not assert with
	-fcoarray=lib.

2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/77380
	* gfortran.dg/pr77380.f90: New test.

From-SVN: r239796
2016-08-27 15:45:35 +00:00
Steven G. Kargl
741b52b54f re PR fortran/77372 (ICE in simplify_ieee_selected_real_kind, at fortran/simplify.c:7049)
2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/77372
	simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.

2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/77372
	gfortran.dg/pr77372.f90: New test.

From-SVN: r239795
2016-08-27 15:38:55 +00:00
Tim Shen
4aebb4e4a6 re PR libstdc++/77356 (regex error for a ECMAScript syntax string)
PR libstdc++/77356
	* include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
	_M_expression_term): Modify to support dash literal.
	* include/bits/regex_scanner.h: Add dash as a token type to make
	a different from the mandated dash literal by escaping.
	* include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
	token in bracket expression parsing.
	* testsuite/28_regex/regression.cc: Add new testcases.

From-SVN: r239794
2016-08-27 02:03:23 +00:00
GCC Administrator
d8921e81e9 Daily bump.
From-SVN: r239793
2016-08-27 00:16:16 +00:00
David Edelsohn
f763d9647a re PR target/77349 (AIX DWARF debugging offset in 64 bit mode)
PR target/77349
* config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE.

From-SVN: r239790
2016-08-26 19:51:27 -04:00
David Malcolm
ee90851679 Add validation and consolidation of fix-it hints
The first aspect of this patch is to add some checking of fix-it hints.
The idea is to put this checking within the rich_location machinery,
rather than requiring every diagnostic to implement it for itself.

The fixits within a rich_location are "atomic": all must be valid for
any to be applicable.

We reject any fixits involving locations above
LINE_MAP_MAX_LOCATION_WITH_COLS.

There's no guarantee that it's sane to modify a macro, so we reject
any fix-its that touch them.

For example, note the attempt to provide a fix-it for the definition
of the macro FIELD:

spellcheck-fields-2.c: In function ‘test_macro’:
spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’?
 #define FIELD colour
               ^
               color
spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’
   return ptr->FIELD;
               ^~~~~

After this patch, the fixit is not displayed:

spellcheck-fields-2.c: In function ‘test_macro’:
spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’?
 #define FIELD colour
               ^
spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’
   return ptr->FIELD;
               ^~~~~

We might want some way for a diagnostic to opt-in to fix-its that
affect macros, but for now it's simplest to reject them.

The other aspect of this patch is fix-it consolidation: in some cases
neighboring fix-its can be merged.  For example, in a diagnostic to
modernize old-style struct initializers from:

 struct s example = {
- foo: 1,
+ .foo = 1,
 };

one approach would be to replace the "foo" with ".foo" and the ":"
with " =".  This would give two "replace" fix-its:

  foo: 1,
  --- FIXIT 1
  .foo
     - FIXIT 2
     =

This patch allows them to be consolidated into a single "replace" fix-it:

  foo: 1,
  ----
  .foo =

gcc/ChangeLog:
	* diagnostic-show-locus.c
	(selftest::test_fixit_consolidation): New function.
	(selftest::diagnostic_show_locus_c_tests): Call it.
	* gcc-rich-location.h (gcc_rich_location): Eliminate unused
	constructor based on source_range.

gcc/testsuite/ChangeLog:
	* gcc.dg/spellcheck-fields-2.c (test): Move
	dg-begin/end-multiline-output within function body.
	(test_macro): New function.

libcpp/ChangeLog:
	* include/line-map.h (rich_location): Eliminate unimplemented
	constructor based on source_range.
	(rich_location::get_last_fixit_hint): New method.
	(rich_location::reject_impossible_fixit): New method.
	(rich_location): Add fields m_line_table and
	m_seen_impossible_fixit.
	(fixit_hint::maybe_append_replace): New pure virtual function.
	(fixit_insert::maybe_append_replace): New function.
	(fixit_replace::maybe_append_replace): New function.
	* line-map.c (rich_location::rich_location): Initialize
	m_line_table and m_seen_impossible_fixit.
	(rich_location::add_fixit_insert): Call
	reject_impossible_fixit and bail out if true.
	(column_before_p): New function.
	(rich_location::add_fixit_replace): Call reject_impossible_fixit
	and bail out if true.  Attempt to consolidate with neighboring
	fixits.
	(rich_location::get_last_fixit_hint): New method.
	(rich_location::reject_impossible_fixit): New method.
	(fixit_insert::maybe_append_replace): New method.
	(fixit_replace::maybe_append_replace): New method.

From-SVN: r239789
2016-08-26 21:25:41 +00:00
David Malcolm
d41e76cf75 Tweak to colors of fix-it hints
Previous, fix-it hints were printed using the color of the severity
of the diagnostic (magenta for warnings, red for errors, cyan for
notes).

This patch updates fix-it hints so that replacement text is printed in
green, to better distinguish the suggested improvement from
the current code.  For example:

spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;  <<< RED
               ^~~~~~   <<< RED
               color    <<< GREEN

It makes sense for the underlinings that indicate deletions to
be printed in red, so the patch changes that also.  For example:

diagnostic-test-show-locus-color.c:179:9: warning: example of a removal hint
   int a;;  <<< MAGENTA
         ^  <<< MAGENTA
         -  <<< RED

gcc/ChangeLog:
	* diagnostic-color.c (color_dict): Add "fixit-insert" and
	"fixit-delete".
	(parse_gcc_colors): Update description of default GCC_COLORS.
	* diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete.
	(colorizer::set_fixit_insert): New method.
	(colorizer::set_fixit_delete): New method.
	(colorizer::get_color_by_name): New method.
	(colorizer::STATE_FIXIT_INSERT): New constant.
	(colorizer::STATE_FIXIT_DELETE): New constant.
	(class colorizer): Drop "_cs" suffix from fields.  Delete "_ce"
	fields in favor of new field "m_stop_color".  Add fields
	"m_fixit_insert" and "m_fixit_delete".
	(colorizer::colorizer): Update for above changes.  Replace
	colorize_start calls with calls to get_color_by_name.
	(colorizer::begin_state): Handle STATE_FIXIT_INSERT and
	STATE_FIXIT_DELETE.  Update for field renamings.
	(colorizer::finish_state): Simplify by using m_stop_color,
	rather than multiple identical "*_ce" fields.
	(colorizer::get_color_by_name): New method.
	(layout::print_any_fixits): Print insertions and replacements
	using the "fixit-insert" color, and deletions using the
	"fixit-delete" color.
	* doc/invoke.texi (-fdiagnostics-color): Update description of
	default GCC_COLORS, and of the supported capabilities.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/diagnostic-test-show-locus-color.c
	(test_fixit_insert): Update expected output.
	(test_fixit_remove): Likewise.
	(test_fixit_replace): Likewise.

From-SVN: r239787
2016-08-26 17:59:08 +00:00
Rainer Orth
524a4c966c Fix gcc.dg/ipa/propbits-2.c
* gcc.dg/ipa/propbits-2.c: Add -fdump-tree-optimized to dg-options.
	Fix typo.

From-SVN: r239786
2016-08-26 17:32:05 +00:00
Max Filippov
7695d1e3e2 xtensa: report stack usage
This enables options -fstack-usage and -Wstack-usage.

2016-08-26  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/xtensa.c (xtensa_expand_prologue): Update
	current_function_static_stack_size variable with the static
	stack frame size of the current function when
	flag_stack_usage_info is enabled.

From-SVN: r239785
2016-08-26 17:23:37 +00:00
Jason Merrill
d0b0fbd9fc Avoid calling a trivial default constructor.
* class.c (default_ctor_p): New.
	(in_class_defaulted_default_constructor): Use it.
	(type_has_non_user_provided_default_constructor): Use it.
	* call.c (build_over_call): Handle trivial default constructor.
	* cp-tree.h: Declare default_ctor_p.

From-SVN: r239783
2016-08-26 11:10:57 -04:00
Jason Merrill
9729a5d524 PR c++/57728 - explicit instantiation and defaulted functions
* pt.c (do_type_instantiation): Don't mess with non-user-provided
	member functions.

From-SVN: r239782
2016-08-26 11:10:51 -04:00
Jonathan Wakely
10491e4c04 libstdc++/51960 move-construction for raw_storage_iterator
PR libstdc++/51960
	* doc/xml/manual/intro.xml: Document DR 2127 change.
	* doc/html/*: Regenerate.
	* include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
	(operator++(), operator++(int)): Use injected class name.
	* testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.

From-SVN: r239781
2016-08-26 14:11:29 +01:00
Nathan Sidwell
bdc30f8f2f ipa-inline-analysis.c (inline_write_summary): Remove unnecessary assignment inside if condition.
* ipa-inline-analysis.c (inline_write_summary): Remove unnecessary
	assignment inside if condition.

From-SVN: r239779
2016-08-26 13:03:32 +00:00
Richard Biener
ebfa15ab65 re PR tree-optimization/69047 (memcpy is not as optimized as union is)
2016-08-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69047
	* tree-ssa.c (maybe_rewrite_mem_ref_base): Handle general bitfield
	extracts similar to what FRE does.
	(non_rewritable_mem_ref_base): Likewise.

	* gcc.dg/pr69047.c: New testcase.

From-SVN: r239778
2016-08-26 12:33:43 +00:00
Jonathan Wakely
52066eae5d Use effective-target instead of -std options
* testsuite/*: Use { target c++11 } or { target c++14 } instead of
	using -std in dg-options.

From-SVN: r239777
2016-08-26 12:41:37 +01:00
Jonathan Wakely
e8223484b3 Restore dg-interpreter-batch-mode for libstdc++ tests
2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
	    Pedro Alves  <palves@redhat.com>

	* testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
	and restore dg-interpreter-batch-mode.
	* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
	gdb-dg-runtest instead of dg-runtest.
	* testsuite/libstdc++-xmethods/xmethods.exp: Likewise.

Co-Authored-By: Pedro Alves <palves@redhat.com>

From-SVN: r239776
2016-08-26 12:35:58 +01:00
Joseph Myers
21184026d5 Always support float128 on x86.
In <https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, Nick
reported i386-elf and ia64-elf failing to build because of
float128_type_node being NULL, but being used by the back end for
__float128.

The global float128_type_node is only available conditionally, if
target hooks indicate TFmode is not only available as a scalar mode
and of the right format, but also supported in libgcc.  The back-end
support, however, expects the type always to be available for
__float128 even if the libgcc support is missing.

Although a target-specific node could be restored in the case where
libgcc support is missing, it seems better to address the missing
libgcc support.  Thus, this patch enables TFmode soft-fp in libgcc
globally for all x86 targets - the only special cases needed being for
targets that use soft-fp for SFmode and DFmode, one of which already
had the support for TFmode as well (so I based the i[34567]86-*-rtems*
configuration on that present for i[34567]86-*-elfiamcu).  The i386
implementation of TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P is then
removed as no longer needed.

I can provide such a patch for ia64 if useful, but am not in a
position to test it (and while I'm reasonably confident that enabling
this support would be right for ia64-elf and ia64-freebsd, I've no
real idea if enabling libgcc support for TFmode, with or without also
enabling it for XFmode, would be safe for ia64-vms).

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc:
	* config/i386/i386.c (ix86_libgcc_floating_mode_supported_p)
	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
	* config/i386/i386elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
	* config/i386/lynx.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
	* config/i386/netbsd-elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE):
	Likewise.
	* config/i386/netbsd64.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
	* config/i386/nto.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
	* config/i386/openbsd.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
	* config/i386/rtemself.h (IX86_NO_LIBGCC_TFMODE): Likewise.
	* config/i386/vxworks.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.

libgcc:
	* config.host (i[34567]86-*-* | x86_64-*-*): Enable TFmode soft-fp
	where not already enabled.

From-SVN: r239775
2016-08-26 12:13:42 +01:00
Richard Biener
4d1d8d6af3 mangle.c (java_mangle_decl): Re-sync with lhd_set_decl_assembler_name.
2016-08-26  Richard Biener  <rguenther@suse.de>

	java/
	* mangle.c (java_mangle_decl): Re-sync with lhd_set_decl_assembler_name.

From-SVN: r239774
2016-08-26 10:59:50 +00:00
Jonathan Wakely
86bbf15b6b Add new std::basic_string constructor (LWG 2583)
* config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
	precise patterns for basic_string constructors.
	(GLIBCXX_3.4.23): Export new constructors.
	* doc/xml/manual/intro.xml: Document LWG 2583 status.
	* doc/html/*: Regenerate.
	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
	(basic_string(const basic_string&, size_type, const Alloc&)): Add
	new constructor for LWG 2583.
	(basic_string(const basic_string&, size_type, size_type)): Remove
	default argument.
	[!_GLIBCXX_USE_CXX11_ABI]: Likewise.
	* include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
	* testsuite/21_strings/basic_string/cons/char/8.cc: New test.
	* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.

From-SVN: r239773
2016-08-26 11:41:37 +01:00
Kyrylo Tkachov
83c7402aa5 [ARM] PR target/70473: Reduce size of Cortex-A8 automaton
PR target/70473
	* config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce
	reservation duration to 15 cycles.
	(cortex_a8_vfp_macs): Likewise.
	(cortex_a8_vfp_macd): Likewise.
	(cortex_a8_vfp_divs): Likewise.
	(cortex_a8_vfp_divd): Likewise.

From-SVN: r239772
2016-08-26 10:23:20 +00:00
Kyrylo Tkachov
5791f55d02 [ARM] Refactor MOVW/MOVT fusion logic to allow extension
* config/arm/arm.c (arm_sets_movw_movt_fusible_p): New function.
	(aarch_macro_fusion_pair_p): Use above to avoid early return.

From-SVN: r239771
2016-08-26 10:22:08 +00:00
Prathamesh Kulkarni
209ca542ca Patch for performing interprocedural bitwise constant propagation.
2016-08-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
	    Martin Jambhor  <mjambor@suse.cz>

	* common.opt: New option -fipa-bit-cp.
	* doc/invoke.texi: Document -fipa-bit-cp.
	* opts.c (default_options_table): Add entry for -fipa-bit-cp.
	(enable_fdo_optimizations): Check for flag_ipa_bit_cp.
	* tree-ssa-ccp.h: New header file.
	* tree-ssa-ccp.c: Include tree-ssa-ccp.h
	(bit_value_binop_1): Change to bit_value_binop_1 and export it.
	Replace all occurences of tree parameter by two new params: signop, int.
	(bit_value_unop_1): Change to bit_value_unop and export it.
	Replace all occurences of tree parameter by two new params: signop,
	int.
	(bit_value_binop): Change call from bit_value_binop_1 to
	bit_value_binop.
	(bit_value_assume_aligned): Likewise.
	(bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop.
	(do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p
	to ccp_finalize.
	(ccp_finalize): Skip processing if val->mask == 0.
	* ipa-cp.c: Include tree-ssa-ccp.h
	(ipcp_bits_lattice): New class.
	(ipcp_param_lattice (bits_lattice): New member.
	(print_all_lattices): Call ipcp_bits_lattice::print.
	(set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom. 
	(initialize_node_lattices): Likewise.
	(propagate_bits_accross_jump_function): New function.
	(propagate_constants_accross_call): Call
	propagate_bits_accross_jump_function.
	(ipcp_propagate_stage): Store parameter types when in_lto_p is true.
	(ipcp_store_bits_results): New function.
	(ipcp_driver): Call ipcp_store_bits_results.
	* ipa-prop.h (ipa_bits): New struct.
	(ipa_jump_func): Add new member bits of type ipa_bits.
	(ipa_param_descriptor): Change decl to decl_or_type.
	(ipa_get_param): Change decl to decl_or_type and assert on
	PARM_DECL.
	(ipa_get_type): New function.
	(ipcp_transformation_summary): New member bits.
	* ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type.
	(ipa_populate_param_decls): Likewise.
	(ipa_dump_param): Likewise.
	(ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump
	function.
	(ipa_set_jf_unknown): Set ipa_bits::known to false.
	(ipa_compute_jump_functions_for_edge): Compute jump function for bits
	propagation.
	(ipa_node_params_t::duplicate): Copy src->bits into dst->bits.
	(ipa_write_jump_function): Add streaming for ipa_bits.
	(ipa_read_jump_function): Add support for reading streamed ipa_bits.
	(write_ipcp_transformation_info): Add streaming for ipa_bits
	summary for ltrans.
	(read_ipcp_transfomration_info): Add support for reading streamed ipa_bits.
	(ipcp_update_bits): New function.
	(ipcp_transform_function): Call ipcp_update_bits.

testsuite/
	* gcc.dg/ipa/propbits-1.c: New test-case.
	* gcc.dg/ipa/propbits-2.c: Likewise.
	* gcc.dg/ipa/propbits-3.c: Likewise.

Co-Authored-By: Martin Jambor <mjambor@suse.cz>

From-SVN: r239769
2016-08-26 08:05:39 +00:00
Joseph Myers
f3db1aacf8 Update .po files.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
	zh_TW.po: Update.

From-SVN: r239767
2016-08-26 02:05:13 +01:00
GCC Administrator
91482f755b Daily bump.
From-SVN: r239766
2016-08-26 00:16:17 +00:00
Steven G. Kargl
e5cf162909 re PR fortran/77351 (ICE in remove_trim, at frontend-passes.c:1145)
2016-08-25  Steven g. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77351
	* frontend-passes.c (remove_trim,combine_array_constructor): Check for
	NULL pointer.

2016-08-25  Steven g. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77351
	* gfortran.dg/pr77351.f90: New test.

From-SVN: r239763
2016-08-25 19:35:46 +00:00
Szabolcs Nagy
384043e89e [mips] Add support for mips*r6-*-musl
gcc/
	* config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Update.
	(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Update.

From-SVN: r239760
2016-08-25 14:13:02 +00:00
Szabolcs Nagy
726f49c3d9 [mips] Fix linux header use in libgcc
libgcc/
	* config/mips/linux-unwind.h: Use sys/syscall.h.

From-SVN: r239759
2016-08-25 14:08:27 +00:00
Marek Polacek
ebef225f4d c-common.c (warn_logical_not_parentheses): Print fixit hints.
* c-common.c (warn_logical_not_parentheses): Print fixit hints.
	* c-common.h (warn_logical_not_parentheses): Update declaration.

	* c-typeck.c (parser_build_binary_op): Pass LHS to
	warn_logical_not_parentheses.

	* parser.c (cp_parser_binary_expression): Pass LHS to
	warn_logical_not_parentheses.

	* c-c++-common/Wlogical-not-parentheses-2.c: New test.

Co-Authored-By: David Malcolm <dmalcolm@redhat.com>

From-SVN: r239756
2016-08-25 12:48:34 +00:00
David Edelsohn
30df8b9f1e * multiple_target.c (pass_data_dispatcher_calls): Fix typo.
From-SVN: r239755
2016-08-25 08:07:10 -04:00
Richard Biener
45fea2b206 dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Only add locations in late dwarf.
2016-08-25  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
	Only add locations in late dwarf.
	(gen_scheduled_generic_parms_dies): Do not set early dwarf here.
	(dwarf2out_early_finish): But do it here.

From-SVN: r239753
2016-08-25 09:25:31 +00:00
Marek Polacek
fe377a48b4 re PR c/77323 (Bad "defaults to 'int'" warning for unsupported types)
PR c/77323
	* c-decl.c (declspecs_add_type): Set typespec_word even when __intN
	or _FloatN or _FloatNx is not supported.
	(finish_declspecs): Set type to integer_type_node when _FloatN or
	_FloatNx is not supported.

	* gcc.dg/pr77323.c: New test.

From-SVN: r239752
2016-08-25 08:22:56 +00:00
GCC Administrator
e627efefd8 Daily bump.
From-SVN: r239751
2016-08-25 00:16:17 +00:00
Paul Thomas
88b8971f9c re PR fortran/77358 ([F08] deferred-length character function returns zero-length string)
2016-08-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/77358
	* resolve.c (resolve_fl_procedure): Use the correct gfc_charlen
	for deferred character length module procedures.

2016-08-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/77358
	* gfortran.dg/submodule_17.f08: New test.

From-SVN: r239740
2016-08-24 19:33:14 +00:00
Michael Collison
c8cd469647 arm-modes.def: Add new condition code mode CC_V to represent the overflow bit.
2016-08-24  Michael Collison <michael.collison@linaro.org>
	    Michael Collison <michael.collison@arm.com>

	* config/arm/arm-modes.def: Add new condition code mode CC_V
	to represent the overflow bit.
	* config/arm/arm.c (maybe_get_arm_condition_code):
	Add support for CC_Vmode.
	(arm_gen_unlikely_cbranch): New function to generate common
	rtl conditional branches for overflow patterns.
	* config/arm/arm-protos.h: Add prototype for
	arm_gen_unlikely_cbranch.
	* config/arm/arm.md (addv<mode>4, add<mode>3_compareV,
	addsi3_compareV_upper): New patterns to support signed
	builtin overflow add operations.
	(uaddv<mode>4, add<mode>3_compareC, addsi3_compareV_upper):
	New patterns to support unsigned builtin add overflow operations.
	(subv<mode>4, sub<mode>3_compare1): New patterns to support signed
	builtin overflow subtract operations,
	(usubv<mode>4): New patterns to support unsigned builtin subtract
	overflow operations.
	(negvsi3, negvdi3, negdi2_compare, negsi2_carryin_compare): New patterns
	to support builtin overflow negate operations.
	* gcc.target/arm/builtin_saddl.c: New testcase.
	* gcc.target/arm/builtin_saddll.c: New testcase.
	* gcc.target/arm/builtin_uaddl.c: New testcase.
	* gcc.target/arm/builtin_uaddll.c: New testcase.
	* gcc.target/arm/builtin_ssubl.c: New testcase.
	* gcc.target/arm/builtin_ssubll.c: New testcase.
	* gcc.target/arm/builtin_usubl.c: New testcase.
	* gcc.target/arm/builtin_usubll.c: New testcase.


Co-Authored-By: Michael Collison <michael.collison@arm.com>

From-SVN: r239739
2016-08-24 19:31:20 +00:00
Uros Bizjak
d5b5d21260 re PR target/77270 (Flag -mprftchw is shared with 3dnow for -march=k8)
PR target/77270
	* gcc.dg/tree-ssa/loop-28.c: Also compile on 32bit x86 targets.
	(dg-options): Use -march=amdfam10 instead of -march=athlon.
	* gcc.dg/tree-ssa/update-unroll-1.c: Ditto.
	* gcc.dg/tree-ssa/prefetch-3.c: Ditto.
	* gcc.dg/tree-ssa/prefetch-4.c: Ditto.
	* gcc.dg/tree-ssa/prefetch-5.c: Ditto.
	* gcc.dg/tree-ssa/prefetch-6.c: Ditto.  Do not require sse2
	effective target.  Remove scan-assembler-times directives.
	* gcc.dg/tree-ssa/prefetch-7.c: Ditto.
	* gcc.dg/tree-ssa/prefetch-8.c: Ditto.
	* gcc.dg/tree-ssa/prefetch-9.c: Ditto.

From-SVN: r239737
2016-08-24 16:59:43 +02:00
Andreas Krebbel
b9553e20ad Revert "Drop excess size used for run time allocated stack variables."
This patch caused a bootstrap failure on AIX.

2016-08-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Revert
	2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* explow.c (get_dynamic_stack_size): Take known alignment of stack
	pointer + STACK_DYNAMIC_OFFSET into account when calculating the
	size needed.

From-SVN: r239735
2016-08-24 10:56:37 +00:00
Thomas Preud'homme
0630b8ec3d fragments.texi (MULTILIB_REUSE): Mention that only options in MULTILIB_OPTIONS should be used.
2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * doc/fragments.texi (MULTILIB_REUSE): Mention that only options in
    MULTILIB_OPTIONS should be used.  Small wording fixes.
    * genmultilib: Memorize set of all option combinations in
    combination_space.  Detect if RHS of MULTILIB_REUSE uses an option not
    found in MULTILIB_OPTIONS by checking if option set is listed in
    combination_space.  Output new and existing error message to stderr.

From-SVN: r239734
2016-08-24 09:51:35 +00:00
Thomas Preud'homme
0ba81bbe65 t-aprofile (MULTILIB_MATCHES): Add mapping for -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.
2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping for
    -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.
    Fix typo in -mfpu=vfpv3-d16-fp16 mapping.
    (MULTILIB_REUSE): Remove reuse rules for option set including
    -mfpu=fp-armv8 and -mfpu=vfpv4

From-SVN: r239733
2016-08-24 09:51:26 +00:00
Senthil Kumar Selvaraj
d118868932 Fix bogus testsuite failures for avr.
gcc/testsuite/

2016-08-24  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

        * gcc.c-torture/execute/pr71083.c: Use UINT32_TYPE instead
        of unsigned int.
        * gcc.dg/zero_sign_ext_test.c: Require int32plus.

From-SVN: r239732
2016-08-24 08:36:56 +00:00
Aditya Kumar
9a38acdfdc Remove trailing whitespace in C++ headers
2016-08-24  Aditya Kumar  <hiraditya@msn.com>

	* include/bits/algorithmfwd.h: Remove trailing whitespace.
	* include/bits/shared_ptr_base.h: Likewise.

From-SVN: r239731
2016-08-24 09:03:01 +01:00
Robert Suchanek
0b6b8f85a3 re PR testsuite/77317 (x86_64 --target_board=''unix/ unix/-m32'' parallel testrun gives inconsistent results in gcc.dg/vect)
Fix PR testsuite/77317

gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_vect_aligned_arrays): Don't cache the result.
	(check_effective_target_vect_natural_alignment): Ditto.
	(check_effective_target_vector_alignment_reachable): Ditto.
	(check_effective_target_vector_alignment_reachable_for_64bit): Ditto.

From-SVN: r239730
2016-08-24 07:53:07 +00:00
Sebastian Huber
a4892ab4f8 [RTEMS] Add vfp multilib for ARM
gcc/

	* config/arm/t-rtems: Add vfp multilib.

From-SVN: r239727
2016-08-24 06:05:04 +00:00
GCC Administrator
f5e9814bb4 Daily bump.
From-SVN: r239726
2016-08-24 00:16:22 +00:00