Commit Graph

142567 Commits

Author SHA1 Message Date
Szabolcs Nagy
16a21ab326 [AArch64] Documentation fix for -fpic
gcc/
	* doc/invoke.texi (-fpic): Add the AArch64 limit.
	(-fPIC): Add AArch64.

From-SVN: r230819
2015-11-24 16:06:30 +00:00
Michael Matz
f5c345fc41 re PR rtl-optimization/68392 (ICE: SIGSEGV in update_uses (fwprop.c:896) with -fno-checking)
PR rtl-optimization/68392
	* g++.dg/pr68392.C: New test.

From-SVN: r230818
2015-11-24 16:00:51 +00:00
Tom de Vries
9c37629fe0 Allow pass_lim to run outside pass_tree_loop
2015-11-24  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-loop-im.c (tree_ssa_lim): Make static.
	(pass_lim::execute): Allow to run outside pass_tree_loop.

From-SVN: r230815
2015-11-24 14:47:55 +00:00
Wilco Dijkstra
4e55c7c347 [PATCH][AArch64] Improve add immediate expansion
gcc/

	* gcc/config/aarch64/aarch64.md (add<mode>3):
	Block early expansion into 2 add instructions.
	(add<mode>3_pluslong): New pattern to combine complex
	immediates into 2 additions.

From-SVN: r230814
2015-11-24 14:46:05 +00:00
Segher Boessenkool
6b2f9bb622 rs6000: Fix for and_operand oversight (PR68332, PR67677)
Calling rs6000_is_valid_and_mask on a reg instead of on a const_int is
not a good idea, as PR68332 and PR67677 as well as testing with
--enable-checking=yes,rtl show.  Fix this.


	PR target/66217
	PR target/67677
	PR target/68332
	* config/rs6000/predicates.md (and_operand): Check that the operand
	is a const_int before calling rs6000_is_valid_and_mask.

From-SVN: r230811
2015-11-24 15:04:11 +01:00
Nathan Sidwell
f768642887 * gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.
From-SVN: r230810
2015-11-24 13:53:31 +00:00
Kyrylo Tkachov
a4fb29bc4d Testcase for PR rtl-optimization/68381
PR rtl-optimization/68381
	* gcc.c-torture/execute/pr68381.c: New test.

From-SVN: r230809
2015-11-24 13:35:56 +00:00
Rainer Orth
ef3a75060e Handle C++11 <math.h> overloads on Solaris 12
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
	* configure.ac: Use it.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	* include/c_global/cmath [__cplusplus >= 201103L]
	(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
	(std::isfinite): Likewise.
	(std::isinf): Likewise.
	(std::isnan): Likewise.
	(std::isnormal): Likewise.
	(std::signbit): Likewise.
	(std::isgreater): Likewise.
	(std::isgreaterequal): Likewise.
	(std::isless): Likewise.
	(std::islessequal): Likewise.
	(std::islessgreater): Likewise.
	(std::isunordered): Likewise.
	(std::acosh): Likewise.
	(std::asinh): Likewise.
	(std::atanh): Likewise.
	(std::cbrt): Likewise.
	(std::copysign): Likewise.
	(std::erf): Likewise.
	(std::erfc): Likewise.
	(std::exp2): Likewise.
	(std::expm1): Likewise.
	(std::fdim): Likewise.
	(std::fma): Likewise.
	(std::fmax): Likewise.
	(std::fmin): Likewise.
	(std::hypot): Likewise.
	(std::ilogb): Likewise.
	(std::lgamma): Likewise.
	(std::llrint): Likewise.
	(std::llround): Likewise.
	(std::log1p): Likewise.
	(std::log2): Likewise.
	(std::logb): Likewise.
	(std::lrint): Likewise.
	(std::lround): Likewise.
	(std::nearbyint): Likewise.
	(std::nextafter): Likewise.
	(std::nexttoward): Likewise.
	(std::remainder): Likewise.
	(std::remquo): Likewise.
	(std::rint): Likewise.
	(std::round): Likewise.
	(std::scalbln): Likewise.
	(std::scalbn): Likewise.
	(std::tgamma): Likewise.
	(std::trunc): Likewise.
	* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
	Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
	(std::tr1::asinh): Likewise.
	(std::tr1::atanh): Likewise.
	(std::tr1::cbrt): Likewise.
	(std::tr1::copysign): Likewise.
	(std::tr1::erf): Likewise.
	(std::tr1::erfc): Likewise.
	(std::tr1::exp2): Likewise.
	(std::tr1::expm1): Likewise.
	(std::tr1::fabs): Likewise.
	(std::tr1::fdim): Likewise.
	(std::tr1::fma): Likewise.
	(std::tr1::fmax): Likewise.
	(std::tr1::fmin): Likewise.
	(std::tr1::hypot): Likewise.
	(std::tr1::ilogb): Likewise.
	(std::tr1::lgamma): Likewise.
	(std::tr1::llrint): Likewise.
	(std::tr1::llround): Likewise.
	(std::tr1::log1p): Likewise.
	(std::tr1::log2): Likewise.
	(std::tr1::logb): Likewise.
	(std::tr1::lrint): Likewise.
	(std::tr1::lround): Likewise.
	(std::tr1::nearbyint): Likewise.
	(std::tr1::nextafter): Likewise.
	(std::tr1::nexttoward): Likewise.
	(std::tr1::remainder): Likewise.
	(std::tr1::remquo): Likewise.
	(std::tr1::rint): Likewise.
	(std::tr1::scalbln): Likewise.
	(std::tr1::scalbn): Likewise.
	(std::tr1::tgamma): Likewise.
	(std::tr1::trunc): Likewise.
	(std::tr1::pow): Likewise.

	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.

From-SVN: r230807
2015-11-24 13:15:43 +00:00
Kyrylo Tkachov
714e1b3b4f [AArch64][v2] Improve comparison with complex immediates followed by branch/cset
* config/aarch64/aarch64.md (*condjump): Rename to...
	(condjump): ... This.
	(*compare_condjump<mode>): New define_insn_and_split.
	(*compare_cstore<mode>_insn): Likewise.
	(*cstore<mode>_insn): Rename to...
	(cstore<mode>_insn): ... This.
	* config/aarch64/iterators.md (CMP): Handle ne code.
	* config/aarch64/predicates.md (aarch64_imm24): New predicate.

	* gcc.target/aarch64/cmpimm_branch_1.c: New test.
	* gcc.target/aarch64/cmpimm_cset_1.c: Likewise.

From-SVN: r230805
2015-11-24 13:08:56 +00:00
Max Ostapenko
9211bbb278 Move ptrace.h to appropriate place.
libsanitizer/

	* include/system/linux/asm/ptrace.h: Move to ...
	* include/system/asm/ptrace.h: ... this.

From-SVN: r230804
2015-11-24 14:24:46 +02:00
Mikhail Maltsev
db92ed3685 Fix PR68497 (ICE with -fno-checking)
gcc/

	PR target/68497
	* config/i386/i386.c (output_387_binary_op): Fix assertion for
	-fno-checking case.

gcc/testsuite/

	PR target/68497
	* gcc.target/i386/pr68497.c: New test.

From-SVN: r230803
2015-11-24 12:18:21 +00:00
Trevor Saunders
5205ae6e27 remove val_ssa_equiv_hash_traits
gcc/ChangeLog:

2015-11-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove.
	(val_ssa_equiv_hash_traits::remove): Likewise.
	(pass_uncprop::execute): Adjust.

From-SVN: r230802
2015-11-24 11:46:18 +00:00
Trevor Saunders
76b6ddbfe2 destroy values as well as keys when removing them from hash maps
gcc/ChangeLog:

2015-11-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* hash-map-traits.h (simple_hashmap_traits ::remove): call
	destructors on values that are being removed.
	* mem-stats.h (hash_map): Pass type of values to
	simple_hashmap_traits.
	* tree-sra.c (sra_deinitialize): Remove work around for hash
	maps not destructing values.
	* genmatch.c (sinfo_hashmap_traits): Adjust.
	* tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise.

From-SVN: r230801
2015-11-24 11:46:10 +00:00
Bilyan Borisov
cfa55545f9 [AARCH64][PATCH 3/3] Adding tests to check proper error reporting of out of...
[AARCH64][PATCH 3/3] Adding tests to check proper error reporting of out
of bounds accesses to vmulx_lane* NEON intrinsics

gcc/testsuite/

	* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxd_lane_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxd_laneq_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxs_lane_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxs_laneq_f32_indices_1.c:
	New.

From-SVN: r230800
2015-11-24 11:22:48 +00:00
Kyrylo Tkachov
895548a571 [cfgloop] PR middle-end/68375: Restructure get_loop_body_in_bfs_order to handle loops with only a header
PR middle-end/68375
	* cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid
	bogus assertion.

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

From-SVN: r230798
2015-11-24 11:03:51 +00:00
Jakub Jelinek
3788cfb513 re PR target/68483 (gcc 5.2: suboptimal code compared to 4.9)
PR target/68483
	* tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
	is valid vec_shr pattern, don't lower it even if can_vec_perm_p
	returns false.
	* optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
	whenever first is nelt or above.  Don't mask expected with
	2 * nelt - 1.

	* gcc.target/i386/pr68483-1.c: New test.
	* gcc.target/i386/pr68483-2.c: New test.

From-SVN: r230797
2015-11-24 11:45:52 +01:00
Ilya Enkovich
3de2a40ecd re PR c/68337 ([MPX] memcpy() for arrays with function pointers results in huge resource usage and binaries)
gcc/

	PR c/68337
	* gimple-fold.c: Include ipa-chkp.h.
	(gimple_fold_builtin_memory_op): Don't fold call if we
	are going to instrument it and it may copy pointers.

gcc/testsuite/

	PR c/68337
	* gcc.target/i386/mpx/pr68337-1.c: New test.
	* gcc.target/i386/mpx/pr68337-2.c: New test.

From-SVN: r230796
2015-11-24 09:45:20 +00:00
Kyrylo Tkachov
8632824e9c [RTL-ree] PR rtl-optimization/68194: Restrict copy instruction in presence of conditional moves
PR rtl-optimization/68194
	PR rtl-optimization/68328
	PR rtl-optimization/68185
	* ree.c (combine_reaching_defs): Reject copy_needed case if
	copies_list is not empty.

	* gcc.c-torture/execute/pr68185.c: New test.
	* gcc.c-torture/execute/pr68328.c: Likewise.

From-SVN: r230795
2015-11-24 09:31:57 +00:00
Gary Dismukes
4404c2826c sem_ch3.adb, [...]: Minor reformatting, rewording, and typo corrections.
2015-11-24  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb, sem_type.adb, sem_ch7.adb, sem_ch9.adb, checks.adb,
	sem_prag.adb, contracts.adb, g-strhas.ads, sem_ch6.adb: Minor
	reformatting, rewording, and typo corrections.

From-SVN: r230794
2015-11-24 10:22:24 +01:00
Richard Biener
8ab1d9d72c re PR middle-end/68221 (libgomp reduction-11/12 failures)
2015-11-24  Richard Biener  <rguenther@suse.de>

	PR middle-end/68221
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
	use mem_ref_offset.

From-SVN: r230793
2015-11-24 09:17:40 +00:00
Eric Botcazou
c4833de125 decl.c (gnat_to_gnu_entity): In ASIS mode, do a minimal translation for root types with discriminants.
* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
	ASIS mode, do a minimal translation for root types with discriminants.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Subunit>: Move around.
	<N_Entry_Body, N_Protected_Body, N_Task_Body>: Likewise.  In ASIS mode,
	process the declarations attached to the body.

From-SVN: r230792
2015-11-24 09:00:45 +00:00
Eric Botcazou
93200f92e5 trans.c (gnat_to_gnu): In type_annotate_only mode, do not build a NULL_EXPR for an N_Expanded_Name.
* gcc-interface/trans.c (gnat_to_gnu): In type_annotate_only mode, do
	not build a NULL_EXPR for an N_Expanded_Name.

From-SVN: r230791
2015-11-24 08:52:54 +00:00
Max Ostapenko
664dd3cfbd Fix libsanitizer build with old kernel headers on ARM after r230739.
libsanitizer/

	* include/system/linux/asm/ptrace.h: New header.

From-SVN: r230790
2015-11-24 10:44:39 +02:00
Eric Botcazou
eae6758d2b decl.c (is_cplusplus_method): Check that the type of the first parameter (indirectly) has C++ convention too.
* gcc-interface/decl.c (is_cplusplus_method): Check that the type of
	the first parameter (indirectly) has C++ convention too.

From-SVN: r230788
2015-11-24 08:42:37 +00:00
Segher Boessenkool
7d906d07ed combine: Handle aborts in is_parallel_of_n_reg_sets (PR68381)
Some users of is_parallel_of_n_reg_sets disregard the clobbers in a
parallel after it has returned "yes, this is a parallel of N sets and
maybe some clobbers".  But combine uses a clobber of const0_rtx to
indicate substitution failure, so this leads to disaster.

Fix this by checking for such special clobbers in is_parallel_of_n_reg_sets.


	PR rtl-optimization/68381
	* combine.c (is_parallel_of_n_reg_sets): Return false if the pattern
	is poisoned.

From-SVN: r230786
2015-11-24 07:43:20 +01:00
Nick Clifton
d2c9e8ed7a [PATCH] Fix invalid redundant extension elimination for rl78 port
* ree.c (add_removable_extension): Avoid mis-optimizing cases where
	the source/dest of the target extension require a different number of
	hard registers.
	(combine_set_extension): Remove #if 0 code.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r230785
2015-11-23 22:11:15 -07:00
Jan Hubicka
267c9702f6 * gcc.c-torture/execute/lto-tbaa-1.c: New testcase.
From-SVN: r230784
2015-11-24 03:58:47 +00:00
GCC Administrator
a52a91ecf2 Daily bump.
From-SVN: r230783
2015-11-24 00:16:13 +00:00
David Edelsohn
08f1627810 Fix missing ChangeLog entry for Graphite head files fix.
From-SVN: r230780
2015-11-23 19:12:21 -05:00
Aditya Kumar
0171d98d77 fix PR68314: revert all patches touching the construction of the original schedule
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230778
2015-11-23 23:28:42 +00:00
Ian Lance Taylor
8c61286797 re PR go/68496 ([libgo] reflect test fails on Linux x86-64)
PR go/68496
    reflect: Allocate space for FFI functions returning a zero-sized type.
    
    The libffi library does not understand zero-sized types.  We represent
    them as a struct with a single field of type void.  If such a type is
    returned from a function, libffi will copy 1 byte of data.  Allocate
    space for that byte, although we won't use it.
    
    Fixes https://gcc.gnu.org/PR68496.

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

From-SVN: r230776
2015-11-23 21:17:45 +00:00
David Malcolm
cbd03aee24 Fix PR objc/68438 (uninitialized source ranges)
gcc/c/ChangeLog:
	PR objc/68438
	* c-parser.c (c_parser_postfix_expression): Set up source ranges
	for various Objective-C constructs: Class.name syntax,
	@selector(), @protocol(), @encode(), and [] message syntax.

gcc/testsuite/ChangeLog:
	PR objc/68438
	* objc.dg/plugin: New subdirectory.
	* objc.dg/plugin/diagnostic-test-expressions-1.m: New test file.
	* objc.dg/plugin/plugin.exp: New file, based on
	gcc.dg/plugin/plugin.exp.

From-SVN: r230775
2015-11-23 21:00:13 +00:00
Matthias Klose
cd9ec14217 2015-11-23 Matthias Klose <doko@ubuntu.com>
* Imported zlib 1.2.8; merged local changes.

From-SVN: r230774
2015-11-23 20:27:57 +00:00
Aditya Kumar
4c93660449 fix PR68493: bail out when codegen_error is set
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230772
2015-11-23 19:31:00 +00:00
Aditya Kumar
36f40be012 fix PR68279: bail out when scev gets instantiated to not_known
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230771
2015-11-23 19:28:13 +00:00
Aditya Kumar
8f29e7f5ea call update_ssa once
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230770
2015-11-23 19:28:06 +00:00
Marek Polacek
78275c8bdb re PR tree-optimization/68455 (ICE: tree check: expected integer_cst, have plus_expr in decompose, at tree.h:5123)
PR tree-optimization/68455
	* tree-vrp.c (extract_range_from_binary_expr_1): Don't call
	extract_range_from_multiplicative_op_1 on symbolic ranges.

	* gcc.dg/tree-ssa/pr68455.c: New test.

From-SVN: r230768
2015-11-23 17:18:36 +00:00
Richard Henderson
cde9d59626 Add uaddv4_optab and usubv4_optab
PR target/67089
    	* optabs.def (uaddv4_optab, usubv4_optab): New.
    	* internal-fn.c (expand_addsub_overflow): Use uaddv4_optab
    	and usubv4_optab in the u +- u -> u case.
    	* doc/md.texi (Standard Names): Document addv{m}4, subv{m}4,
    	mulv{m}4, uaddv{m}4, usubv{m}4, umulv{m}4.

    	* config/i386/i386.md (uaddv<SWI>4, usubv<SWI>4): New.

From-SVN: r230767
2015-11-23 07:55:58 -08:00
Richard Biener
3789bf8412 re PR tree-optimization/68465 (pass_lim doesn't detect identical loop entry conditions)
2015-11-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68465
	* tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children):
	Also record equalities from multiple predecessor blocks if
	only one non-backedge exists.

	* gcc.dg/tree-ssa/ssa-fre-52.c: New testcase.

From-SVN: r230764
2015-11-23 15:21:32 +00:00
Szabolcs Nagy
78cc43a2ab [ARM] PR target/68059 libgcc should not use __write for printing fatal error
libgcc/
	PR target/68059
	* config/arm/linux-atomic-64bit.c (__write): Rename to...
	(write): ...this and fix the return type.

From-SVN: r230762
2015-11-23 15:17:55 +00:00
Kyrylo Tkachov
e322d6e350 [AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop
PR target/68363
	* config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments
	that are not INSN_P.

	* gcc.target/aarch64/pr68363_1.c: New test.

From-SVN: r230760
2015-11-23 14:56:03 +00:00
David Edelsohn
4d77601199 Correct graphite*.c ISL header file inclusion order.
* system.h: Don't poison calloc and strdup if USES_ISL is defined.
* graphite-dependences.c: Define USES_ISL.  Include ISL header files
after GCC header files and before graphite header files.
* graphite-dependences.c: Same.
* graphite-isl-ast-to-gimple.c: Same.
* graphite-optimize-isl.c: Same.
* graphite-poly.c: Same.
* graphite-scop-detection.c: Same.
* graphite-sese-to-poly.c: Same.
* graphite.c: Same.

From-SVN: r230759
2015-11-23 09:23:59 -05:00
Bilyan Borisov
546e500c8f [AARCH64] Adding constant folding for __builtin_fmulx* with scalar 32 and 64 bit arguments
gcc/

	* config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin): Added
	constant folding.

gcc/testsuite/

	* gcc.target/aarch64/simd/vmulx.x: New.
	* gcc.target/aarch64/simd/vmulx_f64_2.c: Likewise.
	* gcc.target/aarch64/simd/vmulxd_f64_2.c: Likewise.
	* gcc.target/aarch64/simd/vmulxs_f32_2.c: Likewise.

From-SVN: r230758
2015-11-23 14:23:20 +00:00
Igor Zamyatin
cc5c522696 re PR c++/68001 ([cilkplus] ICE in cp_gimplify_expr, at cp/cp-gimplify.c:760)
PR c++/68001

gcc/c-family
	PR c++/68001
	* c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
	* cilk.c (recognize_spawn): Determine location in a more precise
	way.
gcc/cp
	* cp-gimplify.c (cp_gimplify_expr): Stop the process if see an error.
gcc/testsuite
	* g++.dg/cilk-plus/CK/pr68001.cc: New test.

From-SVN: r230755
2015-11-23 12:58:12 +00:00
Jiong Wang
f7b492ea50 [Patch] Drop constant overflow flag in adjust_range_with_scev when possible
2015-11-23  Richard Biener  <rguenth@gcc.gnu.com>
            Jiong Wang  <jiong.wang@arm.com>

gcc/
  PR tree-optimization/68317
  PR tree-optimization/68326
  * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the
  final min and max are not infinity.

gcc/testsuite/
  * gcc.dg/pr68317.c: New testcase.

From-SVN: r230754
2015-11-23 12:14:05 +00:00
Olivier Hainque
a789b24062 system-aix.ads: Add Frontend_Exceptions flag.
2015-11-23  Olivier Hainque  <hainque@adacore.com>

	* system-aix.ads: Add Frontend_Exceptions flag.
	* system-aix64.ads: Likewise.
	* system-darwin-ppc.ads: Likewise.
	* system-darwin-ppc64.ads: Likewise.
	* system-darwin-x86.ads: Likewise.
	* system-darwin-x86_64.ads: Likewise.
	* system-dragonfly-x86_64.ads: Likewise.
	* system-freebsd-x86.ads: Likewise.
	* system-freebsd-x86_64.ads: Likewise.
	* system-hpux-ia64.ads: Likewise.
	* system-hpux.ads: Likewise.
	* system-linux-alpha.ads: Likewise.
	* system-linux-armeb.ads: Likewise.
	* system-linux-armel.ads: Likewise.
	* system-linux-hppa.ads: Likewise.
	* system-linux-ia64.ads: Likewise.
	* system-linux-mips.ads: Likewise.
	* system-linux-mips64el.ads: Likewise.
	* system-linux-mipsel.ads: Likewise.
	* system-linux-ppc.ads: Likewise.
	* system-linux-ppc64.ads: Likewise.
	* system-linux-s390.ads: Likewise.
	* system-linux-s390x.ads: Likewise.
	* system-linux-sh4.ads: Likewise.
	* system-linux-sparc.ads: Likewise.
	* system-linux-sparcv9.ads: Likewise.
	* system-linux-x86.ads: Likewise.
	* system-linux-x86_64.ads: Likewise.
	* system-mingw-x86_64.ads: Likewise.
	* system-mingw.ads: Likewise.
	* system-rtems.ads: Likewise.
	* system-solaris-sparc.ads: Likewise.
	* system-solaris-sparcv9.ads: Likewise.
	* system-solaris-x86.ads: Likewise.
	* system-solaris-x86_64.ads: Likewise.
	* system-vxworks-arm.ads: Likewise.
	* system-vxworks-m68k.ads: Likewise.
	* system-vxworks-mips.ads: Likewise.
	* system-vxworks-ppc.ads: Likewise.
	* system-vxworks-sparcv9.ads: Likewise.
	* system-vxworks-x86.ads: Likewise.
	* system.ads: Likewise.

From-SVN: r230753
2015-11-23 11:31:24 +00:00
Olivier Hainque
0ab0bf955a opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ, Back_End_SJLJ and Back_End_ZCX.
2015-11-23  Olivier Hainque  <hainque@adacore.com>
	    Eric Botcazou  <botcazou@adacore.com>

	* opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ,
	Back_End_SJLJ and Back_End_ZCX.
	(Back_End_Exceptions, Front_End_Exceptions, ZCX_Exceptions,
	SJLJ_Exceptions): New functions, reflecting properties of the current
	Exception_Mechanism.
	* opt.adb: Implement the new functions.
	* fe.h: Bind the new Exception_Mechanism and helper functions for gigi.

	* exp_ch11.adb (Expand_At_End_Handler): Replace test on mechanism by
	use of property helper and update comments.
	(Expand_Exception_Handlers): Replace tests on mechanism by use of
	helper. Restrict Abort_Defer to ZCX specifically.
	* exp_ch9.adb (Expand_N_Asynchronous_Select): Replace tests on
	mechanism by calls to helper functions. Abort_Undefer for ZCX only,
	paired with Expand_Exception_Handlers.
	* exp_sel.adb (Build_Abort_Block_Handler): Replace tests on mechanism
	by calls to helper functions. Abort_Undefer for ZCX only, paired with
	Expand_Exception_Handlers.

	* lib-writ.ads (P line documentation): Add entry for "FX",
	representative of unit compiled with Frontend_Exceptions True.
	* lib-writ.adb (Output_Main_Program_Line): Add "FX" on P line if
	compiled with Frontend_Exceptions True.

	* ali.ads (ALIs_Record): Ada a Frontend_Exceptions component, to reflect
	whether the ALI file contained an "FX" indication on the P line.
	(Frontend_Exceptions_Specified): New boolean, to keep track of whether
	at least an FX ALI file is in the closure.
	* ali.adb (Scan_ALI): Handle "FX" on the P line.
	(Initialize_ALI): Initialize Frontend_Exceptions_Specified to False.

	* targparm.ads: Update desription of exception schemes.
	(Frontend_Exceptions_On_Target): New flag, reflect Frontend_Exceptions
	set to True in system.ads, or not set at all.
	* targparm.adb (Targparm_Tags): Add FEX to convey Frontend_Exceptions.
	Rename ZCD to ZCX for consistency.
	(FEX_Str, Targparm_Str, Get_Target_Parameters): Adjust accordingly.

	* gnat1drv.adb (Adjust_Global_Switches): Adjust Exception_Mechanism
	setting, now from combination of Frontend_Exceptions and ZCX_By_Default.

	* bcheck.adb (Check_Consistent_Zero_Cost_Exception_Handling): Rename
	as ...
	(Check_Consistent_Exception_Handling): Check consistency of both
	ZCX_By_Default and Frontend_Exceptions.
	(Check_Configuration_Consistency): Check_Consistent_Exception_Handling
	if either flag was set at least once.

	* make.adb (Check): Remove processing of a possible -fsjlj coming from
	lang-specs.h.
	* gnatlink.adb (Gnatlin): Likewise.

	* gcc-interface/Makefile.in (gnatlib-sjlj/zcx): Now set
	both ZCX_By_Default and Frontend_Exceptions.
	* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable):
	Use eh property helper to test for back-end exceptions. Adjust
	mechanism name when testing for front-end sjlj.
	(case E_Procedure): Likewise.
	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
	Likewise, and rename local variables.
	(Exception_Handler_to_gnu_sjlj): Rename as
	Exception_Handler_to_gnu_fe_sjlj.
	(Exception_Handler_to_gnu_zcx): Rename as
	Exception_Handler_to_gnu_gcc and adjust tests on eh mechanisms
	to use property helpers or correct mechanism name.


Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r230752
2015-11-23 11:20:34 +00:00
Joseph Myers
f119bebb36 * zh_CN.po: Update.
From-SVN: r230750
2015-11-23 11:03:21 +00:00
Ilya Enkovich
c245362b97 re PR tree-optimization/68327 (ICE on valid code at -O3 on x86_64-linux-gnu in vect_is_simple_use, at tree-vect-stmts.c:8562)
gcc/

	PR tree-optimization/68327
	* tree-vect-loop.c (vect_determine_vectorization_factor): Don't
	compute vectype for non-relevant mask producers.
	* gcc/tree-vect-stmts.c (vectorizable_comparison): Check stmt
	relevance earlier.

gcc/testsuite/

	PR tree-optimization/68327
	* gcc.dg/pr68327.c: New test.


Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r230743
2015-11-23 10:01:51 +00:00
Tom de Vries
1cabb20439 Always call free_stmt_vec_info_vec in gather_scalar_reductions
2015-11-23  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/68460
	* tree-parloops.c (gather_scalar_reductions): Also call
	free_stmt_vec_info_vec if simple_loop_info == NULL.

	* gcc.dg/autopar/pr68460.c: New test.

From-SVN: r230742
2015-11-23 09:45:38 +00:00