Commit Graph

142643 Commits

Author SHA1 Message Date
Paolo Carlini
a3be0c83f8 re PR c++/67313 (ICE: in vague_linkage_p, at cp/decl2.c:1878 with -fno-weak and variadic template)
2015-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67313
	* g++.dg/cpp0x/no-weak1.C: New.

From-SVN: r230934
2015-11-26 10:37:33 +00:00
Jakub Jelinek
1a80d6b87d re PR tree-optimization/68128 (A huge regression in Parboil v2.5 OpenMP CUTCP test (2.5 times lower performance))
PR tree-optimization/68128
	* tree.h (OMP_CLAUSE_SHARED_READONLY): Define.
	* gimplify.c: Include gimple-walk.h.
	(enum gimplify_omp_var_data): Add GOVD_WRITTEN.
	(omp_notice_variable): Set flags to n->value if n already
	exists in target region, but we need to jump to do_outer.
	(omp_shared_to_firstprivate_optimizable_decl_p,
	omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New
	functions.
	(gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY
	on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
	not modified in the body.  Call omp_mark_stores for outer
	contexts on OMP_CLAUSE_SHARED clauses if they could be written
	in the body or on OMP_CLAUSE_LASTPRIVATE.
	(gimplify_adjust_omp_clauses): Add body argument, call
	omp_find_stores_{stmt,op} on the body through walk_gimple_seq.
	Set OMP_CLAUSE_SHARED_READONLY
	on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
	not modified in the body.  Call omp_mark_stores for outer
	contexts on OMP_CLAUSE_SHARED clauses if they could be written
	in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR
	without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION.
	(gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task,
	gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update,
	gimplify_expr): Adjust gimplify_adjust_omp_clauses callers.
	* tree-nested.c (convert_nonlocal_omp_clauses,
	convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on
	non-local vars or local vars referenced from nested routines.
	* omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY
	attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE.  Even for
	TREE_READONLY, don't call use_pointer_for_field with non-NULL
	second argument until we are sure we are keeping OMP_CLAUSE_SHARED.

	* gcc.dg/gomp/pr68128-1.c: New test.
	* gcc.dg/gomp/pr68128-2.c: New test.

From-SVN: r230932
2015-11-26 11:18:50 +01:00
Paolo Bonzini
a37a22da2d implement-c.texi (Integers Implementation): Make GCC's promises about signed left shift stronger and clarify the cases when...
2015-11-26  Paolo Bonzini <bonzini@gnu.org>

	* doc/implement-c.texi (Integers Implementation): Make GCC's promises
	about signed left shift stronger and clarify the cases when they're
	broken.

From-SVN: r230931
2015-11-26 10:16:56 +00:00
Kyrylo Tkachov
b3877860a8 [calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when checking stack offsets for sibcall optimisation
2015-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
            Bernd Schmidt  <bschmidt@redhat.com>

	PR rtl-optimization/67226
	* calls.c (store_one_arg): Take into account
	crtl->args.pretend_args_size when checking for overlap between
	arg->value and argblock + arg->locate.offset during sibcall
	optimization.

	* gcc.c-torture/execute/pr67226.c: New test.


Co-Authored-By: Bernd Schmidt <bernds@redhat.com>

From-SVN: r230929
2015-11-26 09:58:28 +00:00
Jakub Jelinek
62775f0d9a re PR c++/68508 (Internal compiler error with parentheses around return value in C++14 with ASan enabled)
PR c++/68508
	* cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument.
	* cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise.  Use
	it instead of or in addition to TREE_TYPE (op).  Use
	is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and
	TREE_TYPE (type) are the same type minus qualifiers.
	* typeck.c (build_static_cast_1): Adjust callers.

	* g++.dg/ubsan/pr68508.C: New test.

From-SVN: r230928
2015-11-26 10:52:48 +01:00
Wilco Dijkstra
bf8e1b52f7 [AArch64] Update patterns to support FP zero
2015-11-26  Wilco Dijkstra  <wdijkstr@arm.com>

	* config/aarch64/aarch64.md (cbranch<mode>4): Use
	aarch64_fp_compare_operand.
	(store_pairsf): Use aarch64_reg_or_fp_zero.
	(store_pairdf): Likewise.
	(cstore<mode>4): Use aarch64_fp_compare_operand.
	(cmov<mode>6): Likewise.
	* config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero.

From-SVN: r230927
2015-11-26 09:46:34 +00:00
Jakub Jelinek
0e65fd7d19 * testsuite/libgomp.c/target-35.c: New test.
From-SVN: r230926
2015-11-26 10:44:49 +01:00
Martin Sebor
e82f9ef748 PR c++/67876 - [6 Regression] ICE when compiling Firefox 38
gcc/cp
	* pt.c (convert_template_argument): Make sure number of tree
	operands is greater than zero before attempting to extract one.

gcc/testsuite/
	* g++.dg/pr67876.C: New test.

From-SVN: r230924
2015-11-25 18:52:04 -07:00
Ian Lance Taylor
ae026741df re PR go/61303 (gccgo: segfault, regression since 4.8.2)
PR go/61303
    runtime: don't overallocate in select code
    
    If we've already allocated an fd_set, don't allocate another one.
    
    Also, don't bother to read from rdwake if it wasn't returned in select.
    
    Fixes https://gcc.gnu.org/PR61303.
    
    Reviewed-on: https://go-review.googlesource.com/17243

From-SVN: r230922
2015-11-26 00:24:21 +00:00
GCC Administrator
1a5d8ff69c Daily bump.
From-SVN: r230921
2015-11-26 00:16:12 +00:00
Aditya Kumar
d6416b3800 fix PR68453: recursively add phi nodes to merge points
The patch adds close phi nodes to every outer loop exit, and to every loop
guard.  For loop guards it computes an initial value that determines where we
stop inserting phi nodes.  When the initial value is a constant, the initial
value is considered to be defined in the entry of the code gen region.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230918
2015-11-26 00:07:43 +00:00
Martin Sebor
91f6ec2fc6 PR c/66516 - missing diagnostic on taking the address of a builtin function
PR c/66516 - missing diagnostic on taking the address of a builtin function
	* g++.dg/addr_builtin-1.C: New test (accidentally omitted from
	initial commit).
	* gcc.dg/addr_builtin-1.c: Same.

From-SVN: r230916
2015-11-25 16:29:57 -07:00
Jan Hubicka
1ff9ed6fb2 re PR lto/67548 (LTO drops weak binding with "ld -r")
PR lto/67548
	* lto-plugin.c (linker_output, linker_output_set): New statics.
	(all_symbols_read_handler): Add -flinker-output option.
	(onload): Record linker_output info.

	* ipa-visibility.c (cgraph_externally_visible_p,
	varpool_node::externally_visible_p): When doing incremental linking,
	hidden symbols may be still used later.
	(update_visibility_by_resolution_info): Do not drop weak during
	incremental link.
	(function_and_variable_visibility): Fix formating.
	* flag-types.h (lto_linker_output): Declare.
	* common.opt 9flag_incremental_link): New flag.

	* lto-lang.c (lto_post_options): Process flag_lto_linker_output.
	* lang.opt (lto_linker_output): New enum.
	(flinker_output): New flag.

From-SVN: r230915
2015-11-25 23:05:07 +00:00
Michael Meissner
c9d82fb023 update changelog
From-SVN: r230914
2015-11-25 23:01:59 +00:00
Michael Meissner
d5906efcaa <patch #10>
[gcc]
2015-11-25  Michael Meissner  <meissner@linux.vnet.ibm.com>

	<patch #10>
	* config/rs6000/constraints.md (wb constraint): New constraint for
	ISA 3.0 d-form scalar addressing.

	* config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support
	for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into
	Altivec registers.  Add wb constraint for Altivec registers with
	D-form addressing.  If we have ISA 3.0 d-form support, undo
	secondary reload support for using FPR registers if we want to do
	D-form addressing.
	(rs6000_debug_reg_global): Likewise.
	(rs6000_setup_reg_addr_masks): Likewise.
	(rs6000_init_hard_regno_mode_ok): Likewise.
	(rs6000_secondary_reload): Likewise.
	(rs6000_preferred_reload_class): Likewise.
	(rs6000_secondary_reload_class): Likewise.

	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb
	constraint.

	* config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support
	for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers.
	(f32_lm2): Likewise.
	(f32_li2): Likewise.
	(f32_sr2): Likewise.
	(f32_sm2): Likewise.
	(f32_si2): Likewise.
	(f64_p9): Likewise.
	(extendsfdf2_fpr): Likewise.
	(mov<mode>_hardfloat): Likewise.
	(mov<mode>_hardfloat32): Likewise.
	(mov<mode>_hardfloat64): Likewise.

	* doc/md.texi (RS/6000 constraints): Document wb constraint.
	Fixup we constraint documentation.

[gcc/testsuite]
2015-11-25  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/dform-1.c: New test.
	* gcc.target/powerpc/dform-2.c: Likewise.

From-SVN: r230913
2015-11-25 22:49:41 +00:00
Jan Hubicka
22bea0be95 lto-symtab.c: Include alias.h
* lto-symtab.c: Include alias.h
	(warn_type_compatibility_p): Replace types_compatible_p checks by
	TBAA and size checks; set bit 2 if locations are TBAA incompatible.
	(lto_symtab_merge): Compare DECL sizes.
	(lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
	* gfortran.dg/lto/bind_c-6_0.f90: New testcase.
	* gfortran.dg/lto/bind_c-6_1.c: New testcase.

From-SVN: r230911
2015-11-25 22:22:37 +00:00
Jason Merrill
c74f743ae4 * g++.dg/init/self1.C: Remove dg-do run.
From-SVN: r230910
2015-11-25 17:13:28 -05:00
Ryan Burn
a0c0e716fa re PR c++/68434 ([concepts] function tsubst sets TYPE_CANONICAL before setting a type's PLACEHOLDER_TYPE_CONSTRAINTS)
PR c++/68434

	* pt.c (tsubst): Set PLACEHOLDER_TYPE_CONSTRAINTS before
	calling canonical_type_parameter.

From-SVN: r230909
2015-11-25 17:13:23 -05:00
Jason Merrill
75729cff1e lambda.c (maybe_add_lambda_conv_op): Only set no_sanitize_undefined if SANITIZE_NULL.
* lambda.c (maybe_add_lambda_conv_op): Only set
	no_sanitize_undefined if SANITIZE_NULL.

From-SVN: r230908
2015-11-25 16:34:00 -05:00
Tom de Vries
b5f34b425a Add pass_oacc_kernels pass group in passes.def
2015-11-25  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (pass_expand_omp_ssa::clone): New function.
	* passes.def: Add pass_oacc_kernels pass group.
	* tree-ssa-loop-ch.c (pass_ch::clone): New function.

	* g++.dg/tree-ssa/copyprop-1.C: Update after adding new dce1.
	* gcc.dg/pr23911.c: Same.
	* gcc.dg/tree-ssa/20030709-2.c: Same.
	* gcc.dg/tree-ssa/20030731-2.c: Same.
	* gcc.dg/tree-ssa/20040729-1.c: Same.
	* gcc.dg/tree-ssa/cfgcleanup-1.c: Same.
	* gcc.dg/tree-ssa/loop-36.c: Same.
	* gcc.dg/tree-ssa/pr21086.c: Same.
	* gcc.dg/tree-ssa/ssa-dce-1.c: Same.
	* gcc.dg/tree-ssa/ssa-dce-2.c: Same.
	* gcc.dg/vect/pr26359.c: Same.
	* c-c++-common/restrict-2.c: Update after adding new lim1.
	* c-c++-common/restrict-4.c: Same.
	* g++.dg/tree-ssa/pr33615.C: Same.
	* g++.dg/tree-ssa/restrict1.C: Same.
	* gcc.dg/tm/pub-safety-1.c: Same.
	* gcc.dg/tm/reg-promotion.c: Same.
	* gcc.dg/tree-ssa/20050314-1.c: Same.
	* gcc.dg/tree-ssa/loop-32.c: Same.
	* gcc.dg/tree-ssa/loop-33.c: Same.
	* gcc.dg/tree-ssa/loop-34.c: Same.
	* gcc.dg/tree-ssa/loop-35.c: Same.
	* gcc.dg/tree-ssa/loop-7.c: Same.
	* gcc.dg/tree-ssa/pr23109.c: Same.
	* gcc.dg/tree-ssa/restrict-3.c: Same.
	* gcc.dg/tree-ssa/restrict-5.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-1.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-10.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-11.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-12.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-2.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-3.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-6.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-7.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-8.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-9.c: Same.
	* gcc.dg/tree-ssa/structopt-1.c: Same.
	* gfortran.dg/pr32921.f: Same.
	* g++.dg/tree-ssa/pr19637.C: Update after adding new dom1.
	* g++.dg/tree-ssa/pr61009.C: Same.
	* g++.dg/tree-ssa/ssa-dom.C: Same.
	* gcc.dg/pr20115-1.c: Same.
	* gcc.dg/tree-prof/20050826-2.c: Same.
	* gcc.dg/tree-prof/cmpsf-1.c: Same.
	* gcc.dg/tree-ssa/20030821-1.c: Same.
	* gcc.dg/tree-ssa/20030922-2.c: Same.
	* gcc.dg/tree-ssa/20031022-1.c: Same.
	* gcc.dg/tree-ssa/20040615-1.c: Same.
	* gcc.dg/tree-ssa/20040624-1.c: Same.
	* gcc.dg/tree-ssa/pr21417.c: Same.
	* gcc.dg/tree-ssa/pr61607.c: Same.
	* gcc.dg/tree-ssa/slsr-27.c: Same.
	* gcc.dg/tree-ssa/slsr-28.c: Same.
	* gcc.dg/tree-ssa/slsr-29.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-cse-3.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-5.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same.
	* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
	* gcc.dg/tree-ssa/ssa-thread-12.c: Same.
	* gcc.dg/tree-ssa/vrp47.c: Same.
	* gcc.dg/tree-ssa/copy-headers.c: Update after adding ch1.
	* gcc.dg/tree-ssa/foldconst-2.c: Same.
	* gcc.dg/tree-ssa/loop-40.c: Same.
	* gcc.dg/gomp/notify-new-function-3.c: Update after adding ompexpssa1.

From-SVN: r230907
2015-11-25 21:26:37 +00:00
Tom de Vries
896522eec5 Add pass_oacc_kernels
2015-11-25  Tom de Vries  <tom@codesourcery.com>

	* tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2):
	Declare.
	* tree-ssa-loop.c (gate_oacc_kernels): New static function.
	(pass_data_oacc_kernels, pass_data_oacc_kernels2): New pass_data.
	(class pass_oacc_kernels, class pass_oacc_kernels2): New pass.
	(make_pass_oacc_kernels, make_pass_oacc_kernels2): New function.

From-SVN: r230906
2015-11-25 21:26:24 +00:00
Paolo Carlini
faadf84ceb constexpr-array13.C: Fix.
2015-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/constexpr-array13.C: Fix.

From-SVN: r230903
2015-11-25 20:46:25 +00:00
Jan Hubicka
ed7dc894d7 timevar.def (TV_IPA_LTO_DECOMPRESS, [...]): New.
* timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS,
	TV_IPA_LTO_OUTPUT): New.
	* lto-compress.c: Include timevar.h
	(lto_end_compression, lto_end_uncompression): Add timers.
	* langhooks.c: Include timevar.h
	(lhd_append_data): Add timer.

From-SVN: r230902
2015-11-25 20:00:47 +00:00
David Edelsohn
72ad6d3339 * gfortran.dg/nint_p7.f90: New testcase.
From-SVN: r230898
2015-11-25 14:39:19 -05:00
Jason Merrill
5546e16045 re PR sanitizer/67941 (calls on function pointer from a captureless lambda cause ubsan warning)
PR c++/67941
	* lambda.c (maybe_add_lambda_conv_op): Mark _FUN as
	no_sanitize_undefined.

From-SVN: r230897
2015-11-25 13:58:11 -05:00
Jason Merrill
917124c302 cp-ubsan.c (cp_ubsan_instrument_vptr_p): Use do_ubsan_in_current_function.
* cp-ubsan.c (cp_ubsan_instrument_vptr_p): Use
	do_ubsan_in_current_function.

From-SVN: r230896
2015-11-25 13:58:06 -05:00
Jan Hubicka
c217bac5d4 varasm.c (default_elf_asm_output_limited_string, [...]): Replace fprintf by putc.
* varasm.c (default_elf_asm_output_limited_string,
	default_elf_asm_output_ascii): Replace fprintf by putc.

From-SVN: r230895
2015-11-25 18:12:51 +00:00
Vladimir Makarov
6c051d60a9 re PR rtl-optimization/67954 (internal compiler error: in patch_jump_insn, at cfgrtl.c:1303)
2015-11-25  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/67954
	* lra-constraints.c (curr_insn_transform): Add check on scratch
	pseudo when change class to NO_REGS.  Add an assert.

From-SVN: r230894
2015-11-25 17:58:35 +00:00
Nathan Sidwell
df1bddedd4 nvptx.md (load_arg_reg<mode>): Arg number constraint is 'n'.
* config/nvptx/nvptx.md (load_arg_reg<mode>): Arg number
	constraint is 'n'.
	* config/nvptx/nvptx.c (write_one_arg): Use 'i' directly as arg
	number.
	(nvptx_write_function_decl): Number args from 0.
	(nvptx_declare_function_name): Likewise.
	(nvptx_function_incoming_arg): Likewise.
	(nvptx_output_call_insn): Correct formatting.

From-SVN: r230889
2015-11-25 17:33:30 +00:00
David Sherwood
ccb57bb090 optabs.def: Add new optabs fmax_optab/fmin_optab.
2015-11-25  David Sherwood  <david.sherwood@arm.com>

        * optabs.def: Add new optabs fmax_optab/fmin_optab.
        * internal-fn.def: Add new fmax/fmin internal functions.
        * doc/md.texi: Add fmin and fmax patterns.

From-SVN: r230888
2015-11-25 17:12:28 +00:00
Markus Trippelsdorf
c2127564ef re PR c++/68087 (ICE with constexpr in array with negative index)
/cp
2015-11-25  Markus Trippelsdorf  <markus@trippelsdorf.de>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68087
	* constexpr.c (cxx_eval_array_reference): Use tree_fits_shwi_p before
	tree_to_shwi to avoid ICEs.

/testsuite
2015-11-25  Markus Trippelsdorf  <markus@trippelsdorf.de>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68087
	* g++.dg/cpp0x/constexpr-array13.C: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r230886
2015-11-25 16:40:16 +00:00
Arnaud Charlet
8e2d104ba2 [multiple changes]
2015-11-25  Eric Botcazou  <ebotcazou@adacore.com>

	* gnatlink.adb (Gnatlink): Do not reinstate -fsjlj for the linker
	from the switches saved in the ALI file but from the exception
	settings.

2015-11-25  Arnaud Charlet  <charlet@adacore.com>

	* lib-xref-spark_specific.adb
	(Add_SPARK_Scope): Take entry families into account.
	* a-exetim.ads, a-exetim-default.ads, a-exetim-mingw.ads (Clock,
	Clock_For_Interrupts): preconditions added.
	* a-extiin.ads (Clock): preconditions added.
	* par-ch3.adb (P_Declarative_Items): In case of misplaced
	aspect specifications, ensure that flag Done is properly set to
	continue parsing.

From-SVN: r230879
2015-11-25 16:30:09 +01:00
Arnaud Charlet
7b52257cfa [multiple changes]
2015-11-25  Arnaud Charlet  <charlet@adacore.com>

	* exp_util.adb (Remove_Side_Effects): Minimize extra temporaries
	and use of 'Reference when needed.

2015-11-25  Doug Rupp  <rupp@adacore.com>

	* sigtramp-vxworks-target.inc (__x86_64__): Restore context for the
	sake of uniformity.
	* init.c (__gnat_inum_to_ivec): Add some casting to avoid
	warnings when sizeof(long) != sizeof(int)

2015-11-25  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb (SPARK_Entities): Add entries for
	consideration.
	(Add_SPARK_Scope): Take tasks into account.
	(Detect_And_Add_SPARK_Scope): Take tasks into account.
	(Enclosing_Subprogram_Or_Library_Package): Take tasks into account.

From-SVN: r230878
2015-11-25 16:16:44 +01:00
Arnaud Charlet
e9c12b91f4 [multiple changes]
2015-11-25  Bob Duff  <duff@adacore.com>

	* sem_elab.adb (Check_Internal_Call_Continue): Code clean ups.

2015-11-25  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.ads (Has_Compatible_Alignment): Add Layout_Done
	parameter.
	* sem_util.adb (Has_Compatible_Alignment): Likewise.
	(Has_Compatible_Alignment_Internal): Likewise.	Do not set the
	result to Unknown for packed types if Layout_Done is true.
	* checks.adb (Apply_Address_Clause_Check): Adjust call and
	pass False to Has_Compatible_Alignment.
	* sem_ch13.adb (Validate_Address_Clauses): Likewise but pass True.

From-SVN: r230877
2015-11-25 16:14:27 +01:00
Arnaud Charlet
3429710e69 [multiple changes]
2015-11-25  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: When <target>-gnat is called with switch -P
	and a GPR tool is invoked, invoke the GPR tool with switch
	--target=<target>.

2015-11-25  Hristian Kirtchev  <kirtchev@adacore.com>

	* opt.adb, bcheck.adb: Minor reformatting.

From-SVN: r230876
2015-11-25 16:10:52 +01:00
Arnaud Charlet
ccaca7e9f0 [multiple changes]
2015-11-25  Jerome Lambourg  <lambourg@adacore.com>

	* init.c: Enable the signal trampoline on x86_64-vx7
	* sigtramp-vxworks-target.inc: Implement the signal trampoline
	for x86_64
	* tracebak.c: Remove the hook to use the generic
	unwinder on x86_64-vx7.

2015-11-25  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: When "gnat name -P" is called, invoke gprname
	directly if available.

From-SVN: r230875
2015-11-25 16:09:38 +01:00
Tristan Gingold
d75a7b1f32 init.c (__gnat_is_stack_guard): Do not use mach calls for IOS simulator.
2015-11-25  Tristan Gingold  <gingold@adacore.com>

	* init.c (__gnat_is_stack_guard): Do not use mach calls for
	IOS simulator.

From-SVN: r230874
2015-11-25 16:07:12 +01:00
Steven G. Kargl
55250ed79f re PR fortran/68227 (ICE on using variable limit in forall header (gfc_do_allocate))
2015-11-25  Steven G. Kargl  <kargl@gcc.gnu.org>

    PR fortran/68227
    * trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into 
    into part of conditional statement.

From-SVN: r230873
2015-11-25 15:04:33 +00:00
Ilmir Usmanov
aa81272c9f re PR fortran/63858 (fixed form OpenACC directive ICE with -fopenacc -fopenmp)
PR fortran/63858

	gcc/fortran/
	* scanner.c (skip_oacc_attribute): Remove continue_flag parameter.
	Rename as ...
	(skip_free_oacc_sentinel): ... this.
	(skip_omp_attribute): Remove continue_flag parameter. Rename as ...
	(skip_free_omp_sentinel): ... this.
	(skip_free_comments): Update to call skip_free_oacc_sentinel and
	skip_free_omp_sentinel.
	(skip_fixed_omp_sentinel): New function.
	(skip_fixed_oacc_sentinel): New function.
	(skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in
	continuation.

	gcc/testsuite/
	* goacc/omp-fixed.f: New test.
	* goacc/omp.f95: Add check for mis-matched omp and acc continuations.


Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r230872
2015-11-25 06:37:36 -08:00
Jason Merrill
af11fcfdcf re PR c++/68385 (ICE building libstdc++ on arm-none-eabi)
PR c++/68385

	* tree.c (integer_zerop, integer_onep, integer_each_onep)
	(integer_all_onesp, integer_minus_onep, integer_pow2p)
	(integer_nonzerop, integer_truep, tree_log2, tree_floor_log2)
	(real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS.

From-SVN: r230871
2015-11-25 09:35:24 -05:00
Richard Biener
7dd663f547 re PR middle-end/68528 ([5 Only] Wrong constant folding)
2015-11-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/68528
	* fold-const.c (fold_binary_loc): Do not call negate_expr_p
	on stripped operands.

	* gcc.dg/torture/pr68528.c: New testcase.

From-SVN: r230870
2015-11-25 14:21:25 +00:00
Nathan Sidwell
5ab662d507 nvptx.c (walk_args_for_params): Delete.
* config/nvptx/nvptx.c (walk_args_for_params): Delete.
	(nvptx_declare_function_name): Move assignments next to register
	declarations, and process params here.

From-SVN: r230869
2015-11-25 14:03:44 +00:00
Jonathan Wakely
75837d7b13 Improve tests for valid values of iostream bitmask types
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly
	check minimum and maximum values, and size of underlying type.
	* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
	* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.

From-SVN: r230868
2015-11-25 13:49:06 +00:00
David Edelsohn
7f085cafa4 rs6000.c (rs6000_declare_alias): Rename and globalize both the symbol and the "dot" symbol for function descriptors.
* config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
both the symbol and the "dot" symbol for function descriptors.  Fix
inversion for rename of symbols with dollar sign.

From-SVN: r230867
2015-11-25 07:52:50 -05:00
Tom de Vries
b81b8bcadb Improve verification of loop->latch in verify_loop_structure
2015-11-25  Tom de Vries  <tom@codesourcery.com>

	* cfgloop.c (find_single_latch): New function, factored out of ...
	(flow_loops_find): ... here.
	(verify_loop_structure): Improve verification of loop->latch.
	* cfgloop.h (find_single_latch): Declare.
	* omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.

From-SVN: r230866
2015-11-25 11:28:49 +00:00
Rainer Orth
e5ef217c3e Port libvtv to Solaris
libstdc++-v3:
	* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
	-Wl,-R in VTV_CXXLINKFLAGS.
	* configure: Regenerate.

	* testsuite/18_support/bad_exception/23591_thread-1.c: Use
	-fvtable-verify=none on Solaris 12+.

	libgcc:
	* Makefile.in (VTV_CFLAGS): New variable.
	(vtv_start$(objext), vtv_end$(objext), vtv_end$(objext))
	(vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it.
	* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
	Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o
	to extra_parts if $enable_vtable_verify = yes.

	libvtv:
	* configure.tgt (*-*-solaris2.[1-9]*): Declare supported.
	* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
	<*-*-solaris2*>: Check for init priority support.
	Check for getexecname, __fortify_fail, _obstack_begin.
	(VTV_NO_OBSTACK): New conditional.
	* configure: Regenerate.
	* Makefile.am [VTV_NO_OBSTACK] (obstack.c): Use new condition.
	Create empty config.h
	* Makefile.in: Regenerate.

	* vtv_rts.cc [HAVE_GETEXECNAME] (program_invocation_name): New
	variable.
	(read_section_offset_and_length) [HAVE_GETEXECNAME]: Set it.
	(dl_iterate_phdr_callback) [HAVE_GETEXECNAME]: Set it.

	(__fortify_fail): Wrap in HAVE___FORTIFY_FAIL
	[!HAVE___FORTIFY_FAIL]: Provide non-Cygwin implementation.

	(read_section_offset_and_length): Assert sh_size >= VTV_PAGE_SIZE.
	(iterate_modules): Fix typo.
	Use VTV_PAGE_SIZE.
	(dl_iterate_phdr_callback): Fix typo.
	Use VTV_PAGE_SIZE.
	(__VLTChangePermission): Fix typos.

	include:
	* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
	__sparc__]: Define.

	gcc:
	* config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
	(STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
	(STARTFILE_SPEC): Use %(startfile_vtv).
	(ENDFILE_SPEC): Use %(endfile_vtv).
	(SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
	ENDFILE_VTV_SPEC.

	* gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.

From-SVN: r230865
2015-11-25 10:30:25 +00:00
Bernd Schmidt
70927cae31 Remove broken ifcvt code for speculating memory writes
* ifcvt.c (noce_mem_write_may_trap_or_fault_p,
	noce_can_store_speculate): Delete.
	(noce_process_if_block): Don't try to handle single MEM stores.
	* rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
	* alias.c (memory_must_be_modified_in_insn_p): Delete.

From-SVN: r230864
2015-11-25 10:23:28 +00:00
Paolo Carlini
136108a158 re PR c++/58910 (std::Tuple_impl is non constexpr when using identical userdefined structs as template-args)
2015-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58910
	* g++.dg/cpp0x/constexpr-tuple2.C: New.

From-SVN: r230860
2015-11-25 10:00:02 +00:00
Kyrylo Tkachov
9b71b2ab84 [RTL-ifcvt] PR rtl-optimization/68435 Allow (c ? x++ : x--) form
PR rtl-optimization/68435
	* ifcvt.c (noce_try_cmove_arith): Skip final insn when checking
	for conflicts between a, b and the set destinations.

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

From-SVN: r230859
2015-11-25 09:48:29 +00:00
Richard Biener
514c0e7c12 re PR tree-optimization/68517 (ICE in tree-vect-data-refs.c:2751)
2015-11-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68517
	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
	Properly handle zero-sized types.

	* gcc.dg/torture/pr68517.c: New testcase.

From-SVN: r230858
2015-11-25 09:22:47 +00:00