Commit Graph

140850 Commits

Author SHA1 Message Date
John David Anglin 5877e54ea0 pa-protos.h (pa_cint_ok_for_move): Change argument type to unsigned.
* config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
	unsigned.
	(pa_ldil_cint_p): Likewise.
	* config/pa/pa.c (pa_cint_ok_for_move): likewise.
	(pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
	Update callers.
	* config/pa/pa.md: Likewise.

From-SVN: r227920
2015-09-18 18:56:10 +00:00
David Malcolm 57eb2d70a6 Move diagnostic_show_locus and friends out into a new source file
gcc/ChangeLog:
	* Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
	* diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
	(diagnostic_show_locus): Likewise.
	(diagnostic_print_caret_line): Likewise.
	* diagnostic-show-locus.c: New file.

From-SVN: r227915
2015-09-18 18:27:44 +00:00
David Edelsohn 54f0c25b30 Update copyright.
From-SVN: r227912
2015-09-18 14:14:45 -04:00
David Edelsohn 7e704eb4d6 dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to "back" parameter.
* dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
        "back" parameter. Declare label in #if block.

From-SVN: r227911
2015-09-18 14:03:26 -04:00
Uros Bizjak dcd7a7dfce re PR middle-end/67619 (ICE at -O1 and above on x86_64-linux-gnu in int_mode_for_mode, at stor-layout.c:425)
PR middle-end/67619
	* except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
	the address to a register.

testsuite/ChangeLog:

	PR middle-end/67619
	* gcc.dg/torture/pr67619.c: New test.

From-SVN: r227909
2015-09-18 18:27:51 +02:00
Jeff Law a502f7b6e4 [PATCH] Break out phi-only cprop into its own file
PR tree-optimization/47679
	* Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
	* tree-ssa-dom.c: Remove unnecessary header includes.
	(remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
	(get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
	(propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
	(eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
	(pass_phi_only_cprop::execute): Likewise.
	(make_pass_phi_only_cprop): Likewise.
	* tree-ssa-phionlycprop.c: New file with moved code.  Eliminate
	uses of file scoped statics by passing the required objects
	as parameters wherever needed.

From-SVN: r227908
2015-09-18 09:29:01 -06:00
Andrew Dixie e707a2dd66 aix61.h (STARTFILE_SPEC): Add crtdbase.o.
* config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
        * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
        Declare.
        (rs6000_asm_output_dwarf_datarel): Declare.

Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>

From-SVN: r227907
2015-09-18 10:20:01 -04:00
Andrew Dixie 04218b3564 config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
libgcc/
        * config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
        * config/rs6000/crtdbase.S: New file.
        * config/rs6000/t-aix-cxa: Build crtdbase.o.

gcc/
        * defaults.h (EH_FRAME_SECTION_NAME): Depend on
        EH_FRAME_THROUGH_COLLECT2.
        * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
        DW_EH_PE_datarel.
        * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.  Restrict special
        collect2 labels to EH_FRAME_THROUGH_COLLECT2.
        * except.c (switch_to_exception_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.
        * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
        * collect2.c (write_c_file_stat): Provide dbase on AIX.
        (scan_prog_file): Don't export __dso_handle nor
        __gcc_unwind_dbase.
        * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        (ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_OUTPUT_DWARF_DATAREL): Define.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_FRAME_IN_DATA_SECTION): Delete.
        * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
        (rs6000_aix_asm_output_dwarf_datarel): New.
        (rs6000_xcoff_asm_init_sections): Don't set exception_section.
        * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): New.
        (ASM_OUTPUT_DWARF_DATAREL): New.
        * doc/tm.texi: Regenerate.

Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>

From-SVN: r227906
2015-09-18 10:10:36 -04:00
Richard Biener 8cd60b238b dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert we're in early phase.
2015-09-18  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
	we're in early phase.
	(schedule_generic_params_dies_gen): Likewise.
	(gen_remaining_tmpl_value_param_die_attribute): Do only as much
	work as possible, retaining unhandled cases.
	(gen_scheduled_generic_parms_dies): Set early-dwarf flag and
	clear out generic_type_instances at the end.
	(dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
	(dwarf2out_early_finish): ... here.  Do most of
	gen_remaining_tmpl_value_param_die_attribute here.

From-SVN: r227905
2015-09-18 12:59:32 +00:00
Jonathan Wakely 7215aaedd6 Fix errors due to extra includes in extc++.h
* include/precompiled/extc++.h: Fix bootstrap error due to
	unconditional inclusion of <ext/enc_filebuf.h>.
	* include/ext/random: Check for definition of UINT32_C.

From-SVN: r227902
2015-09-18 12:21:05 +01:00
Alan Lawrence d0f4e7fcdb completely_scalarize arrays as well as records.
gcc/:
    
	PR tree-optimization/67283
	* tree-sra.c (type_consists_of_records_p): Rename to...
	(scalarizable_type_p): ...this, add case for ARRAY_TYPE.
	(completely_scalarize_record): Rename to...
	(completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
	(scalarize_elem): New.
	(analyze_all_variable_accesses): Follow renamings.
    
gcc/testsuite/:
    
	* gcc.dg/tree-ssa/sra-15.c: New.
	* gcc.dg/tree-ssa/sra-16.c: New.

From-SVN: r227901
2015-09-18 10:55:11 +00:00
Richard Biener f5916470c4 dwarf2out.c (add_location_or_const_value_attribute): Do nothing in early-dwarf.
2015-09-18  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (add_location_or_const_value_attribute): Do nothing
	in early-dwarf.

From-SVN: r227899
2015-09-18 08:42:34 +00:00
Richard Biener a0f79fcc43 re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)
2015-09-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66142
	* fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
	treat MEM[&x] and x the same.
	* tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
	* tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
	when we simplified sth.
	(vn_reference_maybe_forwprop_address): Likewise.
	(valueize_refs_1): When we simplified through
	vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
	set valueized_anything to true.
	(vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
	one ref kills the other instead of just a offset-based test.
	* tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
	for the operand_equal_p test to compare bases and also compare
	sizes.

From-SVN: r227896
2015-09-18 07:57:00 +00:00
GCC Administrator 9ace6a8733 Daily bump.
From-SVN: r227892
2015-09-18 00:16:14 +00:00
Catherine Moore 05c0e3eb54 debug.cc: Include <cstdio>.
2015-09-17  Catherine Moore  <clm@codesourcery.com>

        * src/c++11/debug.cc: Include <cstdio>.

From-SVN: r227888
2015-09-17 19:16:53 -04:00
Gerald Pfeifer 0b546684ad Include <cerrno> in src/c++11/random.cc
2015-09-17  Gerald Pfeifer  <gerald@pfeifer.com>

	* src/c++11/random.cc: Include <cerrno>.

From-SVN: r227887
2015-09-17 22:28:00 +01:00
Bernd Edlinger e9db0d1b40 re PR sanitizer/64078 (FAIL: c-c++-common/ubsan/object-size-9.c)
2015-09-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR sanitizer/64078
        * c-c++-common/ubsan/object-size-9.c (s): Add alignment attribute.
        (f2, f3): Make the function static.
        * c-c++-common/ubsan/object-size-10.c (a, b): Add alignment attribute.

From-SVN: r227886
2015-09-17 19:43:00 +00:00
François Dumont 814e52ca21 2015-09-17 François Dumont <fdumont@gcc.gnu.org>
* include/debug/formatter.h
	(_Error_formatter::_Parameter::_M_print_field): Deprecate.
	(_Error_formatter::_Parameter::_M_print_description): Likewise.
	(_Error_formatter::_M_format_word): Likewise.
	(_Error_formatter::_M_print_word): Likewise.
	(_Error_formatter::_M_print_string): Likewise.
	(_Error_formatter::_M_get_max_length): Likewise.
	(_Error_formatter::_M_max_length): Delete.
	(_Error_formatter::_M_indent): Likewise.
	(_Error_formatter::_M_column): Likewise.
	(_Error_formatter::_M_first_line): Likewise.
	(_Error_formatter::_M_wordwrap): Likewise.
	* src/c++11/debug.cc: Adapt.

From-SVN: r227885
2015-09-17 19:23:26 +00:00
Andrew Sutton 378b307d0d Implement N4295 fold-expressions.
* cp-tree.def: Add UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR,
	BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR.
	* cp-objcp-common.c (cp_common_init_ts): Handle them.
	* cp-tree.h (FOLD_EXPR_CHECK, BINARY_FOLD_EXPR_CHECK, FOLD_EXPR_P)
	(FOLD_EXPR_MODIFY_P, FOLD_EXPR_OP, FOLD_EXPR_PACK, FOLD_EXPR_INIT): New.
	* parser.c (cp_parser_skip_to_closing_parenthesis): Split out...
	(cp_parser_skip_to_closing_parenthesis_1): This function.  Change
	or_comma parameter to or_ttype.
	(cp_parser_fold_operator, cp_parser_fold_expr_p)
	(cp_parser_fold_expression): New.
	(cp_parser_primary_expression): Use them.
	* pt.c (expand_empty_fold, fold_expression, tsubst_fold_expr_pack)
	(tsubst_fold_expr_init, expand_left_fold, tsubst_unary_left_fold)
	(tsubst_binary_left_fold, expand_right_fold)
	(tsubst_unary_right_fold, tsubst_binary_right_fold): New.
	(tsubst_copy): Use them.
	(type_dependent_expression_p): Handle fold-expressions.
	* semantics.c (finish_unary_fold_expr)
	(finish_left_unary_fold_expr, finish_right_unary_fold_expr)
	(finish_binary_fold_expr): New.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r227883
2015-09-17 14:26:06 -04:00
Ian Lance Taylor 750cdaf713 posix.c (backtrace_open): Cast second argument of open() to int.
2015-09-17  Ian Lance Taylor  <iant@google.com>

        * posix.c (backtrace_open): Cast second argument of open() to int.

From-SVN: r227881
2015-09-17 13:08:04 -04:00
Christian Bruel 1eb50e95fb arm.md (*call_value_symbol): Fix operand for interworking.
2015-09-17  Christian Bruel  <christian.bruel@st.com>

	* config/arm/arm.md (*call_value_symbol): Fix operand for interworking.

From-SVN: r227880
2015-09-17 17:57:59 +02:00
Eric Botcazou 4e9a8214b8 * gcc-interface/trans.c (emit_check): Do not touch TREE_SIDE_EFFECTS.
From-SVN: r227879
2015-09-17 15:51:40 +00:00
Jonathan Wakely 310055e7b4 Handle alignment in __atomic_is_lock_free
gcc:

2015-09-17  Richard Henderson  <rth@redhat.com>

	PR libstdc++/65913
	* builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
	pointers that encode the alignment of the object.

libstdc++-v3:

2015-09-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/65913
	* include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
	__atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
	immediate pointer value, not a variable.
	* include/std/atomic (atomic<T>::is_lock_free()): Likewise.
	* testsuite/29_atomics/atomic/65913.cc: New.

From-SVN: r227878
2015-09-17 16:46:04 +01:00
Eric Botcazou 308fbc4290 re PR rtl-optimization/66790 (Invalid uninitialized register handling in REE)
PR rtl-optimization/66790
	* df-problems.c (LIVE): Amend documentation.

From-SVN: r227874
2015-09-17 15:35:24 +00:00
Jonathan Wakely 01610fec49 Remove non-deterministic part of canonical() test
* testsuite/experimental/filesystem/operations/canonical.cc: Remove
	non-deterministic part of the test.

From-SVN: r227873
2015-09-17 16:33:20 +01:00
Jonathan Wakely a2b4d73daf Make std::random_device retry after short reads
PR libstdc++/65142
	* src/c++11/random.cc (random_device::_M_getval()): Retry after short
	reads.

From-SVN: r227872
2015-09-17 16:06:42 +01:00
Jonathan Wakely 2eb57e545b Remove redundant conditional expressions in <system_error>
* include/std/system_error (error_code::operator bool(),
	error_condition::operator bool()): Remove redundant conditional
	expression.

From-SVN: r227871
2015-09-17 15:56:50 +01:00
Jonathan Wakely 99f04955ed Only do shrink_to_fit() when exceptions enabled
* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
	Do nothing if exceptions are disabled.
	* include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.

From-SVN: r227870
2015-09-17 15:56:46 +01:00
Richard Sandiford 385399a875 Split up optabs.[hc]
optabs.[hc] is a bit of a behemoth.  It includes basic functions for querying
what a target can do, related tree- and gimple-level query functions,
related rtl-level query functions, and the functions that actually
generate code.  Some gimple optimisations therefore need:

#include "insn-config.h"
#include "expmed.h"
#include "dojump.h"
#include "explow.h"
#include "emit-rtl.h"
#include "varasm.h"
#include "stmt.h"
#include "expr.h"

purely to query whether the target has support for a particular operation.

This patch splits optabs up as follows:

      - optabs-query.[hc]: IL-independent functions for querying what a target
          can do natively.
      - optabs-tree.[hc]: tree and gimple query functions (an extension of
          optabs-query.[hc]).
      - optabs-libfuncs.[hc]: optabs-specific libfuncs (an extension of
          libfuncs.h)
      - optabs.h: For now includes optabs-query.h and optabs-libfuncs.h.

Only two files outside optabs need to include both optabs.h and
optabs-tree.h: expr.c and function.c.  I think that's expected given
that both are related to expand.

It might be good to split optabs.h further, but this is already quite
a big patch.

I changed can_conditionally_move_p from returning an int to returning
a bool and fixed a few formatting glitches.  There should be no other
changes to the functions themselves.

gcc/
	* Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
	and optabs-tree.o.
	(GTFILES): Replace optabs.c with optabs-libfunc.c.
	* genopinit.c (main): Add an include guard to insn-opinit.h.
	Protect the rtx_code parts with NUM_RTX_CODE.
	* optabs.h: Split parts out to...
	* optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these
	new files.
	* optabs.c: Split parts out to...
	* optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these
	new files.
	* cilk-common.c: Include optabs-query.h rather than optabs.h.
	* fold-const.c: Likewise.
	* target-globals.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-math-opts.c: Include optabs-tree.h rather than
	optabs.h.  Remove unncessary include files.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vrp.c: Likewise.
	* toplev.c: Include optabs-query.h and optabs-libfuncs.h
	rather than optabs.h.
	* expr.c: Include optabs-tree.h.
	* function.c: Likewise.

From-SVN: r227865
2015-09-17 14:28:59 +00:00
Ian Lance Taylor a78eb72ac0 compiler: Issue channel type errors earlier.
When asking for the type of a receive operation, the compiler would
    return an error type if the receive operator was being used on an
    invalid channel type and the error would be reported in a later pass.
    There are several ways that the type checking pass would not see
    the original node and fail to issue the error.  This patch modifies
    receive operations to give an error immediately once it is known that
    the channel type is invalid.
    
    Fixes golang/go#12323.
    
    Reviewed-on: https://go-review.googlesource.com/13987

From-SVN: r227863
2015-09-17 13:57:40 +00:00
Eric Botcazou 4fb94ef9aa re PR middle-end/65958 (-fstack-check breaks alloca on architectures using generic stack checking)
PR middle-end/65958
	* config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
	* config/arm/arm-protos.h (output_probe_stack_range): Declare.
	* config/arm/arm.c: Include common/common-target.h.
	(use_return_insn): Return 0 if the static chain register was saved
	above a non-APCS frame.
	(arm_compute_static_chain_stack_bytes): Adjust for stack checking.
	(struct scratch_reg): New.
	(get_scratch_register_on_entry): New function.
	(release_scratch_register_on_entry): Likewise.
	(arm_emit_probe_stack_range): Likewise.
	(output_probe_stack_range): Likewise.
	(arm_expand_prologue): Factor out code dealing with the IP register
	for nested function and adjust it for stack checking.
	Invoke arm_emit_probe_stack_range if static builtin stack checking
	is enabled.
	(thumb1_expand_prologue): Sorry out if static builtin stack checking
	is enabled.
	(arm_expand_epilogue): Add the saved static chain register, if any, to
	the amount of pre-pushed registers to pop.
	(arm_frame_pointer_required): Return true if static stack checking is
	enabled and we want to catch the exception with the EABI unwinder.
	* config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
	(UNSPEC_PROBE_STACK_RANGE): Likewise.
	* config/arm/arm.md (probe_stack): New insn.
	(probe_stack_range): Likewise.

From-SVN: r227860
2015-09-17 11:06:57 +00:00
Richard Biener 2e96ac06b2 genmatch.c (parser::parse_expr): Improve error message for mis-placed flags.
2015-09-17  Richard Biener  <rguenther@suse.de>

	* genmatch.c (parser::parse_expr): Improve error message
	for mis-placed flags.

From-SVN: r227859
2015-09-17 11:02:11 +00:00
Richard Biener bf2dbec420 passes.c (rest_of_decl_compilation): Always call early_global_decl debug hook when we created a varpool node.
2015-09-17  Richard Biener  <rguenther@suse.de>

	* passes.c (rest_of_decl_compilation): Always call early_global_decl
	debug hook when we created a varpool node.
	* dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
	dwarf2out_early_global_decl, when not just add location or
	value attributes to existing DIEs.

From-SVN: r227857
2015-09-17 09:47:43 +00:00
Paul Thomas e3b5d7bae1 re PR fortran/52846 ([F2008] Support submodules)
2015-09-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/52846
	PR fortran/67588
	* module.c : Add static no_module_procedures.
	(gfc_match_submodule): Correct memory leakage caused during the
	freeing of use_lists.
	(mio_symbol_attribute): Reset above if module procedure is
	encountered.
	(gfc_dump_module): Set above and exit without writing smod file
	if it reset.
	* gfortran.texi : Add section on submodule support.

2015-09-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/52846
	* gfortran.dg/public_private_module_5.f90: Add module procedure
	trigger_smod to ensure that the smod file is written.

From-SVN: r227855
2015-09-17 09:09:34 +00:00
James Greenhalgh fb0f04feaa [AArch64] Implement copysign[ds]f3
gcc/

	* config/aarch64/aarch64.md (copysigndf3): New.
	(copysignsf3): Likewise.

gcc/testsuite/

	* gcc.target/aarch64/copysign_1.c: New.
	* gcc.target/aarch64/copysign_2.c: New.

From-SVN: r227849
2015-09-17 08:23:05 +00:00
David S. Miller bb6b3973cc Fix LRA regressions on 64-bit SPARC.
gcc/
	* config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
	Declare.
	* config/sparc/sparc.c (sparc_secondary_memory_needed): New
	function.
	* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
	(HARD_REGNO_CALLER_SAVE_MODE): Define.
	* config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
	(setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
	(embmedany_losum, embmedany_brsum, embmedany_textuhi)
	(embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
	provide when flag_pic.

From-SVN: r227847
2015-09-17 00:54:07 -07:00
Richard Biener b5415a9ebc cp-tree.h (note_decl_for_pch): Remove.
2015-09-17  Richard Biener  <rguenther@suse.de>

	* cp-tree.h (note_decl_for_pch): Remove.
	* class.c (build_clone): Do not call note_decl_for_pch.
	* semantics.c (finish_member_declaration): Likewise.
	(note_decl_for_pch): Remove.
	* decl2.c (c_parse_final_cleanups): Mangle all globals before
	writing the PCH.

From-SVN: r227846
2015-09-17 07:48:09 +00:00
Kaz Kojima 8c464611a3 Fix build failure for SH.
* config/sh/sh.c (label_ref_list_d_pool): Adjust to object_allocator change.

From-SVN: r227845
2015-09-17 07:45:41 +00:00
Bin Cheng e414252910 re PR tree-optimization/66388 (Test gcc.target/i386/pr49781-1.c failed because of recent scev overflow patches.)
PR tree-optimization/66388
	* tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New
	fields.
	(dump_iv): Dump no_overflow information.
	(alloc_iv): Initialize new field for struct iv.
	(mark_bivs): Count number of no_overflow bivs.
	(find_deriving_biv_for_expr, record_biv_for_address_use): New
	functions.
	(idx_find_step): Call new functions above.
	(add_candidate_1, add_candidate): New paramter.
	(add_iv_candidate_for_biv): Add sizetype cand for BIV.
	(get_computation_aff): Simplify convertion of cand for BIV.
	(get_computation_cost_at): Step cand's base if necessary.

From-SVN: r227844
2015-09-17 03:40:18 +00:00
Bin Cheng f3c5f3a325 tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New parameter.
* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
	parameter.
	(tree_simplify_using_condition): Ditto.
	(simplify_using_initial_conditions): Ditto.
	(loop_exits_before_overflow): Pass new argument to function
	simplify_using_initial_conditions.  Remove case for type conversions
	simplification.
	* tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
	parameter.
	* tree-scalar-evolution.c (simple_iv): Simplify type conversions
	in iv base using loop initial conditions.

	gcc/testsuite/ChangeLog
	* gcc.dg/tree-ssa/loop-bound-2.c: New test.
	* gcc.dg/tree-ssa/loop-bound-4.c: New test.
	* gcc.dg/tree-ssa/loop-bound-6.c: New test.

From-SVN: r227843
2015-09-17 03:08:41 +00:00
Jeff Law e8ae63bb6c [PATCH] Pass in avail_expr_stack and setup edge_infos earlier
PR tree-optimization/47679
	* tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
	(free_all_edge_infos): Use it.
	(allocate_edge_info): Free preexisting edge info data.
	(pass_dominator::execute): Set up initial edge info structures.
	(dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
	thread_across_edge.
	* tree-ssa-threadedge.c (thread_across_edge): Accept new argument.  If
	non-null, then push/pop markers appropriately.
	* tree-ssa-threadedge.h (thread_across_edge): Update prototype.
	* tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
	thread-across_edge.

From-SVN: r227842
2015-09-16 21:01:03 -06:00
James Bowman a481f93b12 [FT32] Fix memory address space predicate.
gcc/

	* config/ft32/ft32.c Fix the memory address space predicate.

From-SVN: r227841
2015-09-17 02:29:25 +00:00
GCC Administrator f0f51b9f2a Daily bump.
From-SVN: r227840
2015-09-17 00:16:12 +00:00
Kaz Kojima a9a421e199 re PR target/67573 ([SH] wrong code generated for libstdc++-v3/src/c++11/cxx11-shim_facets.cc at -mlra)
PR target/67573
* config/sh/sh.md: Add early clobber to scratch	operand of *call_*pcrel
insn_and_split so not to CSE scratch reg.

From-SVN: r227837
2015-09-17 00:12:57 +00:00
Jonathan Wakely 3036299861 Implement filesystem::canonical() without realpath
PR libstdc++/67173
	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
	and PATH_MAX for _GLIBCXX_USE_REALPATH.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
	alternative implementation.
	* testsuite/experimental/filesystem/operations/canonical.cc: New.
	* testsuite/experimental/filesystem/operations/exists.cc: Add more
	tests.
	* testsuite/experimental/filesystem/operations/absolute.cc: Add test
	variables.
	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
	* testsuite/experimental/filesystem/operations/current_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
	* testsuite/experimental/filesystem/operations/status.cc: Likewise.
	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
	Likewise.

From-SVN: r227836
2015-09-16 23:50:28 +01:00
Manuel López-Ibáñez 4ec39494ac Move check_global_declaration from toplev.c to cgraphunit.c
Unfortunately, toplev.c is a kitchen sink of things that do not belong anywhere
in particular. For example, check_global_declarations is only used in
cgraphunit.c. Moving it there allows us to make it static and remove one call
to symtab_node::get.

gcc/ChangeLog:

2015-09-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* toplev.h (check_global_declaration): Remove declaration.
	* toplev.c (check_global_declaration): Move to ...
	* cgraphunit.c: ... here. Make it static and pass a symtab_node *.
	(analyze_functions): Update call.

From-SVN: r227835
2015-09-16 21:25:28 +00:00
Ian Lance Taylor ca2fe289df compiler: Don't crash on erroneous channel reads.
Fixes golang/go#12320.
    
    Reviewed-on: https://go-review.googlesource.com/13932

From-SVN: r227834
2015-09-16 18:04:22 +00:00
David S. Miller ea09f50d91 Fix endianness assumption in LRA.
gcc/
	* lra-constraints.c (simplify_operand_subreg): Do not assume that
	lowpart of a SUBREG has offset zero.

From-SVN: r227833
2015-09-16 10:46:21 -07:00
John Marino 35187a744c read_dir.f90: XFAIL this testcase on DragonFly.
2015-09-16  John Marino  <gnugcc@marino.st>

	* gfortran.dg/read_dir.f90: XFAIL this testcase on DragonFly.

From-SVN: r227832
2015-09-16 17:32:36 +00:00
Jeff Law d31398011e [PATCH] Move code out of tree-ssa-dom into tree-ssa-scopedtables
PR tree-optimization/47679
	* tree-ssa-dom.c (enum expr_kind): Moved from here to
	tree-ssa-scopedtables.h.
	(struct hashable_expr, class expr_hash_elt): Likewise.
	(struct expr_elt_hasher, class avail_exprs_stack): Likewise.
	Move associated methods into tree-ssa-scopedtables.c.
	(avail_expr_hash, initialize_expr_from_cond): Similarly.
	(hashable_expr_equal_p, add_expr_commutative): Likewise.
	(add_hashable_expr): Likewise.
	(record_cond): Delete element directly.
	* tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
	private copy ctor and assignment operator methods.
	(expr_elt_hasher): Inline trivial methods.
	(initialize_expr_from_cond): Prototype.
	* tree-ssa-scopedtables.c: Add necessary includes, functions and
	methods that were previously in tree-ssa-dom.c.  Improve various
	comments.

From-SVN: r227831
2015-09-16 11:25:51 -06:00