Commit Graph

140966 Commits

Author SHA1 Message Date
Manuel López-Ibáñez
41d9f1e039 PR pretty-print/67567 do not pass NULL as a string
Fortran passes NULL where a non-null string is expected by the pretty-printer,
which causes a sanitizer warning. This could have been found earlier by using
gcc_checking_assert. Even if the assertion is false, the result is just an
incomplete diagnostic, thus it seems more user-friendly to assert only when
checking. I do not have any idea how to properly fix the Fortran bug, thus this
patch simply works-around it.

gcc/fortran/ChangeLog:

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

	PR pretty-print/67567
	* resolve.c (resolve_fl_procedure): Work-around when iface->module
	== NULL.

gcc/ChangeLog:

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

	PR pretty-print/67567
	* pretty-print.c (pp_string): Add gcc_checking_assert.
	* pretty-print.h (output_buffer_append_r): Likewise.

From-SVN: r228131
2015-09-25 14:24:11 +00:00
Oleg Endo
f700c7caef re PR target/67675 ([SH] Improve __builtin_strcmp alignment test)
gcc/
	PR target/67675
	* config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
	addr2 individually.  Don't emit logical or insn if one is known to
	be aligned approriately.
	(sh_expand_cmpnstr): Likewise.

gcc/testsuite/
	PR target/67675
	* gcc.target/sh/pr67675.c: New.

From-SVN: r228118
2015-09-25 13:09:04 +00:00
Richard Sandiford
e6cf8d65b5 [AArch64] Force __builtin_aarch64_fp[sc]r argument into a REG
The testcase triggered an ICE because the builtin expansion
code passed the output of expand_normal directly to the SET_FP[SC]R
generator, without forcing it into a register first.

gcc/
	* config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
	__builtin_aarch64_fp[sc]r arguments into a register.

gcc/testsuite/
	* gcc.target/aarch64/fpcr_fpsr_1.c: New file.

From-SVN: r228116
2015-09-25 11:54:22 +00:00
H.J. Lu
2d6b2e2831 Rename IA MCU processor lakemount to lakemont
IA MCU processor name is lakemont, not lakemount.

gcc/

	* config.gcc (x86_archs): Replace lakemount with lakemont.
	(with_cpu): Likewise.
	(with_arch): Likewise.
	* config/i386/i386-c.c (ix86_target_macros_internal): Replace
	PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT.  Replace
	__tune_lakemount__ with __tune_lakemont__.
	* config/i386/i386.c (lakemount_cost): Renamed to ...
	(lakemont_cost): This.
	(m_LAKEMOUNT): Renamed to ...
	(m_LAKEMONT): This.
	(initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
	(processor_target_table): Replace "lakemount" with "lakemont".
	(processor_alias_table): Likewise.
	(ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
	PROCESSOR_LAKEMONT.
	(ix86_adjust_cost): Likewise.
	(ia32_multipass_dfa_lookahead): Likewise.
	* config/i386/i386.h (processor_type): Likewise.
	* config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
	* doc/invoke.texi: Replace lakemount with lakemont.  Replace
	Lakemount with Lakemont.

gcc/testsuite/

	* gcc.target/i386/pr66749.c (dg-options): Replace
	-mtune=lakemount with -mtune=lakemont.
	* gcc.target/i386/pr66821.c (dg-options): Likewise.
	* gcc.target/i386/pr67329.c (dg-options): Likewise.

From-SVN: r228115
2015-09-25 04:24:07 -07:00
Marek Polacek
974348eec7 c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
* c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
	(ubsan_instrument_shift): Likewise.

	* c-c++-common/ubsan/bounds-11.c: New test.
	* c-c++-common/ubsan/bounds-12.c: New test.

From-SVN: r228114
2015-09-25 11:19:11 +00:00
Marek Polacek
15dbc1a6df re PR sanitizer/64906 (-fsanitize=integer-divide-by-zero creates false -Wmaybe-uninitialized warning)
PR sanitizer/64906
	* c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.

	* c-c++-common/ubsan/pr64906.c: New test.

From-SVN: r228112
2015-09-25 09:50:29 +00:00
H.J. Lu
89e5941d8c Change IA MCU processor from iamcu to lakemount
The first IA MCU processor will be Lakemount.  This patch changes IA MCU
processor name from iamcu to lakemount.

gcc/

	* config.gcc (x86_archs): Replace iamcu with lakemount.
	(with_cpu): Likewise.
	(with_arch): Likewise.
	* doc/invoke.texi: Likewise.
	* config/i386/i386-c.c (ix86_target_macros_internal): Replace
	PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT.  Replace
	__tune_iamcu__ with __tune_lakemount__.
	* config/i386/i386.c (iamcu_cost): Renamed to ...
	(lakemount_cost): This.
	(m_IAMCU): Renamed to ...
	(m_LAKEMOUNT): This.
	(initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
	(processor_target_table): Replace "iamcu" with "lakemount".
	(processor_alias_table): Likewise.
	(ix86_issue_rate): Replace PROCESSOR_IAMCU with
	PROCESSOR_LAKEMOUNT.
	(ix86_adjust_cost): Likewise.
	(ia32_multipass_dfa_lookahead): Likewise.
	* config/i386/i386.h (processor_type): Likewise.
	* config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.

gcc/testsuite/

	* gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu
	with -mtune=lakemount.
	* gcc.target/i386/pr66821.c (dg-options): Likewise.
	* gcc.target/i386/pr67329.c (dg-options): Likewise.

From-SVN: r228109
2015-09-24 17:18:21 -07:00
GCC Administrator
925f700af2 Daily bump.
From-SVN: r228108
2015-09-25 00:16:11 +00:00
John David Anglin
7e7c9d40d1 pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
* config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
	* config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
	Declare.
	* config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
	(pa_expand_compare_and_swap_loop): New.
	(pa_maybe_emit_compare_and_swap_exchange_loop): New.
	* config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
	atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
	(atomic_loaddf_1, atomic_storedf_1): New insn patterns.
	(atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
	Revise.

From-SVN: r228104
2015-09-25 00:01:34 +00:00
Michael Collison
4fe017f67a re PR other/57195 (Mode attributes with specific mode iterator can not be used as mode iterators in *.md files)
2015-09-24  Michael Collison  <michael.collison@linaro.org>

	PR other/57195
	* read-md.c (read_name): Allow mode iterators inside angle
	brackets in rtl expressions.

From-SVN: r228102
2015-09-24 23:26:50 +00:00
Vladimir Makarov
86f0bef373 re PR target/61578 (Code size increase for ARM thumb compared to 4.8.x when compiling with -Os)
2015-09-24  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/61578
	* ira-color.c (update_allocno_cost): Add parameter.
	(update_costs_from_allocno): Decrease conflict cost.  Pass the new
	parameter.

From-SVN: r228097
2015-09-24 20:40:30 +00:00
Manuel López-Ibáñez
3563212292 fdiagnostics-color=never does not disable color for some diagnostics
Actually, I was trying to reject non-warning options as argument to
-Werror=. However, the new test fails because -fdiagnostics-color=never is
always placed by the driver after the warning options when calling the compiler
proper. This patch prunes all -fdiagnostics-color from the command-line but the
last one, which is moved to the first position.

gcc/ChangeLog:

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

	PR driver/67640
	* opts-common.c (prune_options): Discard all -fdiagnostics-color
	but the last one, which is moved to the front to be processed
	first.
	* opts.c (enable_warning_as_error): Reject options that do not
	control warnings.

gcc/testsuite/ChangeLog:

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

	PR driver/67640
	* gcc.dg/Werror-13.c: New test.

From-SVN: r228094
2015-09-24 16:37:43 +00:00
Jiong Wang
2af16a7c1e [AArch64] Handle const address in aarch64_print_operand
2015-09-24  Jiong Wang  <jiong.wang@arm.com>

	* config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.

From-SVN: r228093
2015-09-24 16:04:12 +00:00
Jiong Wang
a6e0bfa7ca [AArch64] Delete aarch64_symbol_context which is not used
2015-09-24  Jiong Wang  <jiong.wang@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
	* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
	(aarch64_cannot_force_const_mem): Likewise.
	(aarch64_classify_address): Likewise.
	(aarch64_classify_symbolic_expression): Likewise.
	(aarch64_print_operand): Likewise.
	(aarch64_classify_symbol): Likewise.
	(aarch64_mov_operand_p): Likewise.
	* config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
	(aarch64_mov_operand): Likewise.

From-SVN: r228092
2015-09-24 16:02:08 +00:00
Jonathan Wakely
9bc5028273 Leave moved-from std::deque in a valid state
PR libstdc++/67707
	* include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
	empty object.
	* testsuite/23_containers/deque/allocator/move.cc: Check moved-from
	deque.

From-SVN: r228090
2015-09-24 16:46:24 +01:00
Szabolcs Nagy
4f761179ed Fix aarch64/target_attr_10 test following r227997.
gcc/testsuite/ChangeLog:

	* gcc.target/aarch64/target_attr_10.c (foo): Use dg-message for note.

From-SVN: r228088
2015-09-24 13:41:52 +00:00
Ian Lance Taylor
055db850c6 runtime: Fix recent lfstack change on Solaris.
Reviewed-on: https://go-review.googlesource.com/14922

From-SVN: r228087
2015-09-24 13:33:20 +00:00
Segher Boessenkool
f08e13f110 rs6000: Fix -mdebug=stack code for spe_gp_offset
2015-09-23  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.c (debug_stack_info): Invert the test
	for info->spe_gp_size.

From-SVN: r228086
2015-09-24 14:43:43 +02:00
Richard Biener
760e1bb7e2 re PR lto/67699 (ICE (segfault) compiling a const array with -flto)
2015-09-24  Richard Biener  <rguenther@suse.de>

	PR lto/67699
	* lto-cgraph.c (compute_ltrans_boundary): Do not stream
	abstract origins.

	* g++.dg/pr67699.C: New testcase.

From-SVN: r228084
2015-09-24 11:01:14 +00:00
Richard Earnshaw
4dfe21acc2 ARM: fp16 Fix PR 67624 - Incorrect conversion of float Infinity to __fp16
PR libgcc/67624
	libgcc:
	* config/arm/fp16.c (__gnu_f2h_internal): Handle infinity correctly.
	gcc/testsuite:
	* gcc.target/arm/fp16-inf.c: New test.

From-SVN: r228082
2015-09-24 09:40:06 +00:00
Thomas Schwinge
60dd79ca89 Additional changes to switch from gimple to gimple *
gcc/
	* tree-object-size.c (plus_stmt_object_size)
	(cond_expr_object_size): Change the formal parameters from gimple
	to gimple *.
	* tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
	* tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
	* tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.

From-SVN: r228080
2015-09-24 11:27:12 +02:00
Kirill Yukhin
bc6e483f76 avx512vbmi-check.h (main): Fix register name while checking for AVX-512VBMI presence.
gcc/testsuite/
	* gcc.target/i386/avx512vbmi-check.h (main): Fix register
	name while checking for AVX-512VBMI presence.

From-SVN: r228079
2015-09-24 09:03:57 +00:00
Rainer Orth
df2a1cc48b Support PIE on Solaris
gcc/testsuite:
	* lib/target-supports.exp (check_effective_target_pie): Check for
	PIE support on Solaris 11.x and 12.

	libgcc:
	* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
	Add crtbeginS.o, crtendS.o to extra_parts if libgcc_cv_solaris_crts.
	* config/sol2/gmon.c: (monstartup): Don't write trailing NUL of
	messages.
	(internal_mcount): Likewise.
	* config/sol2/t-sol2 (crtp.o, crtpg.o, gmon.o): Compile with
	crt_compile, add CRTSTUFF_T_CFLAGS_S.

	gcc:
	* configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
	Check for ld -type pie on Solaris 11.x and 12.
	* configure: Regenerate.
	* config.in: Regenerate.

	* gcc.c (LD_PIE_SPEC): Allow redefinition.

	* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
	(STARTFILE_SPEC): Use it.
	(ENDFILE_CRTEND_SPEC): Define.
	(ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
	(SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
	ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
	[HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
	(!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
	* config/i386/sol2.h (ENDFILE_SPEC): Remove.
	(ENDFILE_ARCH_SPEC): Define.
	* config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.

From-SVN: r228078
2015-09-24 09:00:22 +00:00
Rainer Orth
2d11044217 Use CRTs provided by Solaris
gcc:
	* configure.ac (gcc_cv_solaris_crts): New test.
	* configure. Regenerate.
	* config.in: Regenerate.
	* config/sol2.h (STARTFILE_SPEC): Simplify, provide
	HAVE_SOLARIS_CRTS variant.

	libgcc:
	* configure.ac (libgcc_cv_solaris_crts): New test.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/sol2/crtp.c, config/sol2/crtpg.c: New files.
	* config/gmon-sol2.c: Rename to ...
	* config/sol2/gmon.c: ... this.
	Include auto-target.h.
	(internal_mcount): Wrap setup handling in !HAVE_SOLARIS_CRTS.
	* config/t-sol2: Rename to ...
	* config/sol2/t-sol2: ... this.
	(gmon.o): Reflect renaming.
	(crtp.o, crtpg.o): New rules.
	* config.host (*-*-solaris2*): Reflect renaming.
	Use system CRTs if present.
	Remove default CRT case.

From-SVN: r228077
2015-09-24 08:51:39 +00:00
Kyrylo Tkachov
fcb901cdfa [tree-inline][obvious] Delete redundant count_insns_seq
* tree-inline.h (count_insns_seq): Delete prototype.
	(estimate_num_insns_seq): Define prototype.
	* tree-inline.c (count_insns_seq): Delete.
	(estimate_num_insns_seq): Remove static qualifier.
	* tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
	with estimate_num_insns_seq.

From-SVN: r228075
2015-09-24 08:25:13 +00:00
Richard Biener
1fefbb66c8 tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base members.
2015-09-24  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
	members.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
	and base for MEM_REF and TARGET_MEM_REF.  Handle BIT_FIELD_REF
	offset.
	(ao_ref_init_from_vn_reference): Record clique and base in the
	built base.
	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise

	* g++.dg/tree-ssa/restrict3.C: New testcase.

From-SVN: r228074
2015-09-24 07:35:55 +00:00
Richard Biener
0a28fdcaf7 re PR c/48885 (missed optimization with restrict qualifier?)
2015-09-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/48885
	* tree-ssa-structalias.c (visit_loadstore): Handle default defs
	as not including any restrict tags from other pointers.

	* gcc.dg/tree-ssa/restrict-6.c: New testcase.

From-SVN: r228073
2015-09-24 07:34:47 +00:00
Uros Bizjak
761d6f4eec ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r228072
2015-09-24 08:30:52 +02:00
Patrick Palka
6b95d7cc2d Fix a -Wmisleading-indentation false-negative
gcc/c-family/ChangeLog:

	* c-indentation.c (should_warn_for_misleading_indentation):
	Compare next_stmt_vis_column with guard_line_first_nws instead
	of with guard_line_vis_column.

gcc/testsuite/ChangeLog:

	* c-c++-common/Wmisleading-indentation.c: Augment test.

From-SVN: r228071
2015-09-24 01:55:59 +00:00
GCC Administrator
3d5cda1290 Daily bump.
From-SVN: r228070
2015-09-24 00:16:15 +00:00
John David Anglin
d572e4397d linux-atomic.c (__kernel_cmpxchg2): Reorder error checks.
* config/pa/linux-atomic.c (__kernel_cmpxchg2): Reorder error checks.
	(__sync_fetch_and_##OP##_##WIDTH): Change result to match type of
	__kernel_cmpxchg2.
	(__sync_##OP##_and_fetch_##WIDTH): Likewise.
	(__sync_val_compare_and_swap_##WIDTH): Likewise.
	(__sync_bool_compare_and_swap_##WIDTH): Likewise.
	(__sync_lock_test_and_set_##WIDTH): Likewise.
	(__sync_lock_release_##WIDTH): Likewise.
	(__sync_fetch_and_##OP##_4): Change result to match type of
	__kernel_cmpxchg.
	(__sync_##OP##_and_fetch_4): Likewise.
	(__sync_val_compare_and_swap_4): Likewise.
	(__sync_bool_compare_and_swap_4): likewise.
	(__sync_lock_test_and_set_4): Likewise.
	(__sync_lock_release_4): Likewise.
	(FETCH_AND_OP_2): Add long long variants.
	(OP_AND_FETCH_2): Likewise.
	(COMPARE_AND_SWAP_2 ): Likewise.
	(SYNC_LOCK_TEST_AND_SET_2): Likewise.
	(SYNC_LOCK_RELEASE_2): Likewise.
	(__sync_bool_compare_and_swap_##WIDTH): Correct return.

From-SVN: r228065
2015-09-23 23:27:15 +00:00
Ian Lance Taylor
9f59bddfbf re PR go/67695 (Please improve POSIX shell compatibility of libgo/mksysinfo.sh)
PR go/67695
    mksysinfo.sh: Use = with test rather than ==.
    
    Fixes GCC PR 67695.

    Reviewed-on: https://go-review.googlesource.com/14858

From-SVN: r228064
2015-09-23 20:43:46 +00:00
Ville Voutilainen
99474f812e Fix small typos in the coding rule enforcement warnings.
/cp
2015-09-23  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Fix small typos in the coding rule enforcement warnings.
	* parser.c (cp_parser_namespace_definition): Replace 'namepace'
	with 'namespace'.

/testsuite
2015-09-23  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Fix small typos in the coding rule enforcement warnings.
	* g++.dg/diagnostic/disable.C: Replace 'namepace'
	with 'namespace'.

From-SVN: r228061
2015-09-23 21:22:21 +03:00
Ian Lance Taylor
46efdbbc01 runtime: rewrite lfstack packing/unpacking to look more like that in Go
Reviewed-on: https://go-review.googlesource.com/13037

From-SVN: r228057
2015-09-23 17:07:15 +00:00
Thomas Schwinge
a9c238108b Fix --enable-offload-targets/-foffload handling, pt. 2
gcc/
	* gcc.c (handle_foffload_option): Don't lose the trailing NUL
	character when appending to offload_targets.

From-SVN: r228054
2015-09-23 16:52:57 +02:00
Thomas Schwinge
64186aad5a Fix --enable-offload-targets/-foffload handling, pt. 1
gcc/
	* configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
	offload targets by commas, not colons.
	* config.in: Regenerate.
	* configure: Likewise.
	* gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
	instead of setting up the default offload targets here...
	(process_command): ..., do it here.
	libgomp/
	* plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
	targets are separated by commas.
	* config.h.in: Regenerate.

From-SVN: r228053
2015-09-23 16:52:50 +02:00
Thomas Schwinge
f2c9f71da9 Refactor omp_reduction_init: omp_reduction_init_op
gcc/
	* omp-low.h (omp_reduction_init_op): Declare.
	* omp-low.c (omp_reduction_init_op): New, broken out of ...
	(omp_reduction_init): ... here.  Call it.
	* tree-parloops.c (initialize_reductions): Use
	omp_reduction_init_op.

Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>

From-SVN: r228052
2015-09-23 16:46:55 +02:00
Richard Biener
ef537cc859 re PR middle-end/67662 (-fsanitize=undefined cries wolf for X - 1 + X when X is 2**30)
2015-09-23   Richard Biener  <rguenther@suse.de>

	PR middle-end/67662
	* fold-const.c (fold_binary_loc): Do not reassociate two vars with
	undefined overflow unless they will cancel out.

	* gcc.dg/ubsan/pr67662.c: New testcase.

From-SVN: r228051
2015-09-23 14:09:48 +00:00
Kirill Yukhin
9e07d08d78 AVX-512. Fix emit in '*<mshift><mode>3' pattern.
gcc/
	 * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
	 insn emit.

From-SVN: r228050
2015-09-23 13:28:12 +00:00
Manuel López-Ibáñez
c1822f9c9b [c-family/49654/49655] reject invalid options in pragma diagnostic
Use find_opt instead of linear search through options in
handle_pragma_diagnostic (PR 49654) and reject non-warning options and
options not valid for the current language (PR 49655).

gcc/testsuite/ChangeLog:

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

	PR c/49655
	* gcc.dg/pragma-diag-6.c: New test.

gcc/ChangeLog:

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

	PR c/49655
	* opts.h (write_langs): Declare.
	* opts-global.c (write_langs): Make it extern.

gcc/c-family/ChangeLog:

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

	PR c/49654
	PR c/49655
	* c-pragma.c (handle_pragma_diagnostic): Detect non-warning
	options and options not valid for the current language.

From-SVN: r228049
2015-09-23 13:07:07 +00:00
Oleg Endo
9ea4e88f17 re PR target/67391 ([SH] Convert clrt addc to normal add insn)
gcc/
	PR target/67391
	* config/sh/sh.md (addsi3, *addsi3_compact): Don't check for overlapping
	regs when matching the pattern.

From-SVN: r228046
2015-09-23 11:55:45 +00:00
James Greenhalgh
d5d27976c8 [AArch64] Fix vcvt_high_f64_f32 and vcvt_figh_f32_f64 intrinsics.
gcc/

	* config/aarch64/aarch64-simd.md
	(aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
	(aarch64_float_truncate_hi_v4sf_le): New.
	(aarch64_float_truncate_hi_v4sf_be): Likewise.

gcc/testsuite/

	* gcc.target/aarch64/advsimd-intrinsics/vcvt_high_1.c: New.

From-SVN: r228044
2015-09-23 11:39:48 +00:00
Jonathan Wakely
07dc170b6f Limit number of symlinks that canonical() will resolve
* src/filesystem/ops.cc (canonical): Simplify error handling and
	limit number of symlinks that can be resolved.

From-SVN: r228043
2015-09-23 12:26:50 +01:00
Jonathan Wakely
429ee11aa3 Fix semantics of Filesystem TS directory iterators
[class.directory_iterator] p4 and [directory_iterator.members] p4
require that only the default constructor and ignored permission denied
errors can create the end iterator.

	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
	prefix from HAVE_STRUCT_DIRENT_D_TYPE.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/experimental/fs_dir.h (operator==, operator==):
	Use owner_before instead of pointer equality.
	(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
	* src/filesystem/dir.cc (ErrorCode): Remove.
	(_Dir::advance): Change ErrorCode parameter to error_code*, add
	directory_options parameter and check it on error.
	(opendir): Rename to open_dir to avoid clashing with macro. Change
	ErrorCode parameter to error_code*.
	(make_shared_dir): Remove.
	(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
	(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
	(directory_iterator(const path&, directory_options, error_code*)):
	Pass options to _Dir::advance and create non-end iterator on error.
	(recursive_directory_iterator(const path&, directory_options,
	error_code*)): Clear error_code on ignored error, create non-end
	iterator otherwise.
	(recursive_directory_iterator::increment): Pass _M_options to
	_Dir::advance.
	(recursive_directory_iterator::pop): Likewise.
	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
	New.
	* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: New.

From-SVN: r228042
2015-09-23 12:26:45 +01:00
Jonathan Wakely
366703118c Fix filesystem::create_directories() function
* src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
	(create_directories): Fix error handling.
	* testsuite/experimental/filesystem/operations/create_directories.cc:
	New.

From-SVN: r228041
2015-09-23 12:25:59 +01:00
Richard Biener
be6e26f995 tree-ssa-structalias.c (intra_create_variable_infos): Build representatives for all restrict qualified pointer destinations.
2015-09-23  Richard Biener  <rguenther@suse.de>

	* tree-ssa-structalias.c (intra_create_variable_infos): Build
	representatives for all restrict qualified pointer destinations.

	* g++.dg/tree-ssa/restrict2.C: Un-XFAIL testcase.

From-SVN: r228040
2015-09-23 11:11:48 +00:00
Kirill Yukhin
40f1d2ab26 AVX-512. Add kshift[lr][bwdq]. Fix iterator.
gcc/
	* config/i386/i386.md (define_code_attr mshift): New.
	(define_mode_iterator SWI1248_AVX512BW): Rename ...
	(SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
	only.
	(define_insn "*k<logic><mode>"): Use new iterator name.
	(define_insn "*<mshift><mode>3"): New.

From-SVN: r228034
2015-09-23 07:08:56 +00:00
Mikhail Maltsev
0c6126b47d Fix use of valgrind API
gcc/
	PR middle-end/67649
	* memory-block.h (memory_block_pool::allocate): Use valgrind API to
	mark the block as accessible.

From-SVN: r228033
2015-09-23 02:31:14 +00:00
GCC Administrator
dbfc22a470 Daily bump.
From-SVN: r228031
2015-09-23 00:16:13 +00:00
Patrick Palka
d53980585b Fix -Wmisleading-indentation false-positive
gcc/c-family/ChangeLog:

	* c-indentation.c (should_warn_for_misleading_indentation):
	Float out and consolidate the calls to get_visual_column that
	are passed guard_exploc as an argument.  Compare
	next_stmt_vis_column with guard_line_first_nws instead of with
	body_line_first_nws.

gcc/testsuite/ChangeLog:

	* c-c++-common/Wmisleading-indentation.c: Augment test.

From-SVN: r228027
2015-09-22 23:06:31 +00:00