* xvasprintf.c: New file.
	* vprintf-support.h: Likewise.
	* vprintf-support.c: Likewise.
	* Makefile.in (CFILES): Add vprintf-support.c, xvasprintf.c.
	(REQUIRED_OFILES): Add vprintf-support.$(objext), xvasprintf.$(objext).
	(vprintf-support.$(objext), xvasprintf.$(objext)): New targets.
	(vasprintf.$(objext)): Depend on $(srcdir)/vprintf-support.h.
	* functions.texi: Regenerate.
	* vasprintf.c (int_vasprintf): Use libiberty_vprintf_buffer_size.

include/ChangeLog:

	* libiberty.h (xvasprintf): Declare.

libcpp/ChangeLog:

	* directives.c (cpp_define_formatted): Use xvasprintf.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218618 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-11  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
        * diagnostic.c (get_terminal_width): Renamed from
        * getenv_columns,
        removed static, and additionally use ioctl to get width.
        (diagnostic_set_caret_max_width): Update call.
        * diagnostic.h (get_terminal_width): Add prototype.
        * opts.c (print_specific_help): Use it for x_help_columns.
        * doc/invoke.texi (fdiagnostics-show-caret): Document how the
        width is set.

gcc/fortran/
        * error.c (gfc_get_terminal_width): Renamed from
        get_terminal_width and use same-named common function.
        (gfc_error_init_1): Update call.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218619 138bc75d-0d04-0410-961f-82ee72b054a4
[testsuite][1/2] Move ${tool}_check_unsupported_p into separate file

	* lib/target-utils.exp: New file.
	* lib/gcc-defs.exp (${tool}_check_unsupported_p): Delete.
	Include target-utils.exp.
	* lib/objc.exp: Likewise.
	* lib/mike-gcc.exp: Load target-utils.exp.
	* lib/mike-g++.exp: Likewise.
	* lib/go-torture.exp: Likewise.
	* lib/fortran-torture.exp: Likewise.
	* lib/c-torture.exp: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218620 138bc75d-0d04-0410-961f-82ee72b054a4
	* fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.
	(extract_muldiv_1): Likewise.
	(maybe_canonicalize_comparison_1): Likewise.
	(fold_comparison): Likewise.
	(tree_binary_nonnegative_warnv_p): Likewise.
	(tree_binary_nonzero_warnv_p): Likewise.
	* gimple-ssa-strength-reduction.c (legal_cast_p_1): Likewise.
	* tree-scalar-evolution.c (simple_iv): Likewise.
	(scev_const_prop): Likewise.
	* tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
	* tree-vect-generic.c (expand_vector_operation): Likewise.
	* tree.h (ANY_INTEGRAL_TYPE_CHECK): Define.
	(ANY_INTEGRAL_TYPE_P): Define.
	(TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED, TYPE_OVERFLOW_TRAPS):
	Add ANY_INTEGRAL_TYPE_CHECK.
	(any_integral_type_check): New function.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218621 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32

	* config/arm/arm_neon.h (vrndqn_f32): Rename to...
	(vrndnq_f32): ... this.
	(vrndqa_f32): Rename to...
	(vrndaq_f32): ... this.
	(vrndqp_f32): Rename to...
	(vrndpq_f32): ... this.
	(vrndqm_f32): Rename to...
	(vrndmq_f32): ... this.
	(vrndx_f32): New intrinsic.
	(vrndxq_f32): Likewise.

	* config/arm/arm_neon.h (vrndqn_f32): Rename to...
	(vrndnq_f32): ... this.
	(vrndqa_f32): Rename to...
	(vrndaq_f32): ... this.
	(vrndqp_f32): Rename to...
	(vrndpq_f32): ... this.
	(vrndqm_f32): Rename to...
	(vrndmq_f32): ... this.
	(vrndx_f32): New intrinsic.
	(vrndxq_f32): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218622 138bc75d-0d04-0410-961f-82ee72b054a4
	* combine.c (try_combine): Do not allow combining a PARALLEL I2
	with a register move I3 if that I2 is an asm.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218623 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-11  Andrew MacLeod  <amacleod@redhat.com>

	* config/tilepro/gen-mul-tables.cc: Add insn-codes.h to include list
	for generator file.  Add comment indicating it is a generated file.
	* config/tilepro/mul-tables.c: Update generated file.
	* config/tilegx/mul-tables.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218624 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Fix usage of +no in error message for aarch64_parse_extension

	* config/aarch64/aarch64.c (aarch64_parse_extension): Update error
	message to say +no only when removing extension.


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

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR fortran/44054
	* diagnostic.c (diagnostic_action_after_output): Make it extern.
	Take diagnostic_t argument instead of diagnostic_info. Count also
	DK_WERROR towards max_errors.
	(diagnostic_report_diagnostic): Update call according to the above.
	(error_recursion): Likewise.
	* diagnostic.h (diagnostic_action_after_output): Declare.
	* pretty-print.c (pp_formatted_text_data): Delete.
	(pp_append_r): Call output_buffer_append_r.
	(pp_formatted_text): Call output_buffer_formatted_text.
	(pp_last_position_in_text): Call output_buffer_last_position_in_text.
	* pretty-print.h (output_buffer_formatted_text): New.
	(output_buffer_append_r): New.
	(output_buffer_last_position_in_text): New.

gcc/testsuite/ChangeLog:

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * gfortran.dg/do_iterator.f90: Remove bogus dg-warning.

gcc/fortran/ChangeLog:

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR fortran/44054
	* error.c (pp_error_buffer): New static variable.
	(pp_warning_buffer): Make it a pointer.
	(gfc_output_buffer_empty_p): New.
	(gfc_error_init_1): Call gfc_buffer_error.
	(gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the
	buffered_p flag.
	(gfc_clear_warning): Likewise.
	(gfc_warning_check): Call gfc_clear_warning. Only check the new
	pp_warning_buffer if the old warning_buffer was empty. Call
	diagnostic_action_after_output.
	(gfc_error_1): Renamed from gfc_error.
	(gfc_error): New.
	(gfc_clear_error): Clear also pp_error_buffer.
	(gfc_error_flag_test): Check also pp_error_buffer.
	(gfc_error_check): Likewise. Only check the new pp_error_buffer
	if the old error_buffer was empty.
	(gfc_move_output_buffer_from_to): New.
	(gfc_push_error): Use it here. Take also an output_buffer as argument.
	(gfc_pop_error): Likewise.
	(gfc_free_error): Likewise.
	(gfc_diagnostics_init): Use XNEW and placement-new to init
	pp_error_buffer and pp_warning_buffer. Set flush_p to false for
	both pp_warning_buffer and pp_error_buffer.

	* Update gfc_push_error, gfc_pop_error and gfc_free_error calls
	according to the above changes.
	* Use gfc_error_1 for all gfc_error calls that use multiple
	locations.
	* Use %qs instead of '%s' for many gfc_error calls.




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

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * gfortran.dg/do_iterator.f90: Remove bogus dg-warning.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218628 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* typeck.c (maybe_warn_about_useless_cast): Remove unnecessary
	conditional.


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

	PR tree-optimization/42108
	* trans-stmt.c (gfc_trans_do): Execute the division computing
	countm1 before the loop entry check.

	* gfortran.dg/pr42108.f90: Amend.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218630 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64]Use AARCH64_FL_FPSIMD flags for all cores in aarch64-cores.def

gcc/

2014-12-11  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64-cores.def: Change all AARCH64_FL_FPSIMD to
	AARCH64_FL_FOR_ARCH8.
	* config/aarch64/aarch64.c (all_cores): Use FLAGS from
	aarch64-cores.def file only.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218635 138bc75d-0d04-0410-961f-82ee72b054a4
Document gccjit::context::set_str_option

gcc/jit/ChangeLog:
	* docs/cp/topics/contexts.rst (gccjit::context::set_str_option):
	Document new function.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218636 138bc75d-0d04-0410-961f-82ee72b054a4
Move changelog entries from r218617 from gcc/ChangeLog to gcc/jit/ChangeLog



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218637 138bc75d-0d04-0410-961f-82ee72b054a4
	* testsuite/30_threads/condition_variable/members/3.cc: Only use
	a thread_local when __cxa_thread_atexit_impl is available.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218638 138bc75d-0d04-0410-961f-82ee72b054a4
	* dwarf2out.c (gen_lexical_block_die): Remove unused `depth'
	parameter.
	(gen_inlined_subroutine_die): Same.
	(gen_block_die): Same.
	(decls_for_scope): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218639 138bc75d-0d04-0410-961f-82ee72b054a4
	PR ipa/61324
	* testsuite/g++.dg/pr61324.C: New testcase by Trevor Saunders.
	* testsuite/g++.dg/tm/pr51411-2.C: Update se the extern function is
	not eliminated early.
	* testsuite/gcc.target/i386/pr57756.c: Turn extern inline into static
	inline.

	* passes.c (execute_todo): Update call of remove_unreachable_nodes.
	* ipa-chkp.c (chkp_produce_thunks): Use TODO_remove_functions.
	* cgraphunit.c (symbol_table::process_new_functions): Add
	IPA_SSA_AFTER_INLINING.
	(ipa_passes): Update call of remove_unreachable_nodes.
	(symbol_table::compile): Remove call of remove_unreachable_nodes.
	* ipa-inline.c (inline_small_functions): Do not ICE with
	-flto-partition=none
	(ipa_inline): Update symtab->state; fix formatting
	update call of remove_unreachable_nodes.
	* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
	* cgraph.h (enum symtab_state): Add IPA_SSA_AFTER_INLINING.
	(remove_unreachable_nodes): Update.
	* ipa.c (process_references): Keep external references only
	when optimizing.
	(walk_polymorphic_call_targets): Keep possible polymorphic call
	target only when devirtualizing.
	(symbol_table::remove_unreachable_nodes): Remove BEFORE_INLINING_P
	parameter.
	(ipa_single_use): Update comment.
	* ipa-pure-const.c (cdtor_p): New function.
	(propagate_pure_const): Track if some cdtor was turned pure/const.
	(execute): Return TODO_remove_functions if needed.
	* ipa-comdats.c (ipa_comdats): Update comment.
	
	* lto.c (read_cgraph_and_symbols): Update call of
	remove_unreachable_nodes.
	(do_whole_program_analysis): Remove call of
	symtab->remove_unreachable_nodes


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218640 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/builtin-arith-overflow-1.c (fn2): Take signed char.
	(fn3): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218641 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/md.texi (Insn Lengths): Fix description of (pc).


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