1. 19 Sep, 2015 1 commit
  2. 18 Sep, 2015 18 commits
    • Misplaced return in previous commit. · eaa797e8
      2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
      
      From-SVN: r227924
      Manuel López-Ibáñez committed
    • Use explicit locations for some warnings in c-pragma.c. · c4914de6
      gcc/cp/ChangeLog:
      
      2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* parser.c (pragma_lex): Add loc argument. Rearrange the code to
      	make it more similar to the C version.
      
      gcc/c-family/ChangeLog:
      
      2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* c-pragma.c (handle_pragma_diagnostic): Use explicit location
      	when warning.
      	* c-pragma.h (pragma_lex): Add optional loc argument.
      
      gcc/c/ChangeLog:
      
      2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* c-parser.c (pragma_lex): Add loc argument.
      
      gcc/testsuite/ChangeLog:
      
      2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* gcc.dg/pragma-diag-5.c: New test.
      
      From-SVN: r227923
      Manuel López-Ibáñez committed
    • [PATCH] const_and_copies is no longer file scoped · edfc9249
              PR tree-optimization/47679
      	* tree-ssa-dom.c (const_and_copies): No longer file scoped.  Move
      	it here ...
      	(dom_opt_dom_walker): New private member holding the const_and_copies
      	object.  Update constructor.
      	(pass_dominator::execute): Corresponding changes to declaration
      	and initialization of const_and_copies.  Update constructor call
      	for the dom_opt_dom_walker object.
      	(record_temporary_equivalences): Accept const_and_copies argument
      	pass it down to children as needed.
      	(record_equality): Likewise.
      	(record_equivalences_from_incoming_edge): Likewise.
      	(cprop_into_successor_phis, optimize_stmt): Likewise.
      	(eliminate_redundant_computations): Likewise.
      	(dom_opt_dom_walker::thread_across_edge): Update access to
      	const_and_copies object and pass it to children as needed.
      	(dom_opt_dom_walker::before_dom_children): Similarly.
      	(dom_opt_dom_walker::after_dom_children): Similarly.
      
      From-SVN: r227922
      Jeff Law committed
    • [PATCH] avail_exprs is no longer file scoped · 1b2fe7d3
      	* tree-ssa-dom.c (avail_exprs): No longer file scoped.  Bury
      	it into the avail_exprs_stack class.
      	(pass_dominator::execute): Corresponding changes to declaration
      	and initialization of avail_exprs.  Pass avail_exprs to
      	dump_dominator_optimization_stats.
      	(record_cond): Extract avail_exprs from avail_exprs_stack.
      	(lookup_avail_expr): Similarly.
      	(htab_staticstics): Remove unnecessary prototype.  Move to earlier
      	position in file.
      	(dump_dominator_optimization_stats): Make static and prototype.
      	Add argument for the hash table to dump.
      	(debug_dominator_optimization_stats): Remove.
      	* tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
      	prototype.
      	(debug_dominator_optimization_stats): Similarly.
      	* tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
      	"void" in prototype for pop_to_marker method.  Add accessor method
      	for the underlying avail_exprs table.
      
      	* tree-ssa-threadedge.c: Remove trailing whitespace.
      
      From-SVN: r227921
      Jeff Law committed
    • pa-protos.h (pa_cint_ok_for_move): Change argument type to unsigned. · 5877e54e
      	* 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
      John David Anglin committed
    • Move diagnostic_show_locus and friends out into a new source file · 57eb2d70
      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
      David Malcolm committed
    • Update copyright. · 54f0c25b
      From-SVN: r227912
      David Edelsohn committed
    • dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to "back" parameter. · 7e704eb4
              * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
              "back" parameter. Declare label in #if block.
      
      From-SVN: r227911
      David Edelsohn committed
    • re PR middle-end/67619 (ICE at -O1 and above on x86_64-linux-gnu in… · dcd7a7df
      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
      Uros Bizjak committed
    • [PATCH] Break out phi-only cprop into its own file · a502f7b6
      	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
      Jeff Law committed
    • aix61.h (STARTFILE_SPEC): Add crtdbase.o. · e707a2dd
              * 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
      Andrew Dixie committed
    • config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts. · 04218b35
      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
      Andrew Dixie committed
    • dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert we're in early phase. · 8cd60b23
      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
      Richard Biener committed
    • Fix errors due to extra includes in extc++.h · 7215aaed
      	* 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
      Jonathan Wakely committed
    • completely_scalarize arrays as well as records. · d0f4e7fc
      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
      Alan Lawrence committed
    • dwarf2out.c (add_location_or_const_value_attribute): Do nothing in early-dwarf. · f5916470
      2015-09-18  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (add_location_or_const_value_attribute): Do nothing
      	in early-dwarf.
      
      From-SVN: r227899
      Richard Biener committed
    • re PR tree-optimization/66142 (Loop is not vectorized because not sufficient… · a0f79fcc
      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
      Richard Biener committed
    • Daily bump. · 9ace6a87
      From-SVN: r227892
      GCC Administrator committed
  3. 17 Sep, 2015 21 commits
    • debug.cc: Include <cstdio>. · 05c0e3eb
      2015-09-17  Catherine Moore  <clm@codesourcery.com>
      
              * src/c++11/debug.cc: Include <cstdio>.
      
      From-SVN: r227888
      Catherine Moore committed
    • Include <cerrno> in src/c++11/random.cc · 0b546684
      2015-09-17  Gerald Pfeifer  <gerald@pfeifer.com>
      
      	* src/c++11/random.cc: Include <cerrno>.
      
      From-SVN: r227887
      Gerald Pfeifer committed
    • re PR sanitizer/64078 (FAIL: c-c++-common/ubsan/object-size-9.c) · e9db0d1b
      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
      Bernd Edlinger committed
    • 2015-09-17 François Dumont <fdumont@gcc.gnu.org> · 814e52ca
      	* 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
      François Dumont committed
    • Implement N4295 fold-expressions. · 378b307d
      	* 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
      Andrew Sutton committed
    • posix.c (backtrace_open): Cast second argument of open() to int. · 750cdaf7
      2015-09-17  Ian Lance Taylor  <iant@google.com>
      
              * posix.c (backtrace_open): Cast second argument of open() to int.
      
      From-SVN: r227881
      Ian Lance Taylor committed
    • arm.md (*call_value_symbol): Fix operand for interworking. · 1eb50e95
      2015-09-17  Christian Bruel  <christian.bruel@st.com>
      
      	* config/arm/arm.md (*call_value_symbol): Fix operand for interworking.
      
      From-SVN: r227880
      Christian Bruel committed
    • Handle alignment in __atomic_is_lock_free · 310055e7
      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
      Jonathan Wakely committed
    • re PR rtl-optimization/66790 (Invalid uninitialized register handling in REE) · 308fbc42
      	PR rtl-optimization/66790
      	* df-problems.c (LIVE): Amend documentation.
      
      From-SVN: r227874
      Eric Botcazou committed
    • Remove non-deterministic part of canonical() test · 01610fec
      	* testsuite/experimental/filesystem/operations/canonical.cc: Remove
      	non-deterministic part of the test.
      
      From-SVN: r227873
      Jonathan Wakely committed
    • Make std::random_device retry after short reads · a2b4d73d
      	PR libstdc++/65142
      	* src/c++11/random.cc (random_device::_M_getval()): Retry after short
      	reads.
      
      From-SVN: r227872
      Jonathan Wakely committed
    • Remove redundant conditional expressions in <system_error> · 2eb57e54
      	* include/std/system_error (error_code::operator bool(),
      	error_condition::operator bool()): Remove redundant conditional
      	expression.
      
      From-SVN: r227871
      Jonathan Wakely committed
    • Only do shrink_to_fit() when exceptions enabled · 99f04955
      	* 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
      Jonathan Wakely committed
    • Split up optabs.[hc] · 385399a8
      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
      Richard Sandiford committed
    • compiler: Issue channel type errors earlier. · a78eb72a
          
          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
      Ian Lance Taylor committed
    • re PR middle-end/65958 (-fstack-check breaks alloca on architectures using generic stack checking) · 4fb94ef9
      	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
      Eric Botcazou committed
    • genmatch.c (parser::parse_expr): Improve error message for mis-placed flags. · 2e96ac06
      2015-09-17  Richard Biener  <rguenther@suse.de>
      
      	* genmatch.c (parser::parse_expr): Improve error message
      	for mis-placed flags.
      
      From-SVN: r227859
      Richard Biener committed
    • passes.c (rest_of_decl_compilation): Always call early_global_decl debug hook… · bf2dbec4
      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
      Richard Biener committed
    • re PR fortran/52846 ([F2008] Support submodules) · e3b5d7ba
      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
      Paul Thomas committed
    • [AArch64] Implement copysign[ds]f3 · fb0f04fe
      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
      James Greenhalgh committed