]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years agocall update_ssa once
spop [Mon, 23 Nov 2015 19:28:06 +0000 (19:28 +0000)] 
call update_ssa once

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

8 years ago PR tree-optimization/68455
mpolacek [Mon, 23 Nov 2015 17:18:36 +0000 (17:18 +0000)] 
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.

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

8 years agoAdd uaddv4_optab and usubv4_optab
rth [Mon, 23 Nov 2015 15:55:58 +0000 (15:55 +0000)] 
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.

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

8 years ago2015-11-23 Richard Biener <rguenther@suse.de>
rguenth [Mon, 23 Nov 2015 15:21:32 +0000 (15:21 +0000)] 
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.

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

8 years ago[ARM] PR target/68059 libgcc should not use __write for printing fatal error
nsz [Mon, 23 Nov 2015 15:17:55 +0000 (15:17 +0000)] 
[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.

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

8 years ago[AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop
ktkachov [Mon, 23 Nov 2015 14:56:03 +0000 (14:56 +0000)] 
[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.

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

8 years agoCorrect graphite*.c ISL header file inclusion order.
dje [Mon, 23 Nov 2015 14:23:59 +0000 (14:23 +0000)] 
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.

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

8 years ago[AARCH64] Adding constant folding for __builtin_fmulx* with scalar 32 and 64 bit...
jgreenhalgh [Mon, 23 Nov 2015 14:23:20 +0000 (14:23 +0000)] 
[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.

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

8 years agoPR c++/68001
kyukhin [Mon, 23 Nov 2015 12:58:12 +0000 (12:58 +0000)] 
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.

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

8 years ago[Patch] Drop constant overflow flag in adjust_range_with_scev when possible
jiwang [Mon, 23 Nov 2015 12:14:05 +0000 (12:14 +0000)] 
[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.

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

8 years ago2015-11-23 Olivier Hainque <hainque@adacore.com>
hainque [Mon, 23 Nov 2015 11:31:24 +0000 (11:31 +0000)] 
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.

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

8 years ago2015-11-23 Olivier Hainque <hainque@adacore.com>
hainque [Mon, 23 Nov 2015 11:20:34 +0000 (11:20 +0000)] 
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.

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

8 years ago * zh_CN.po: Update.
jsm28 [Mon, 23 Nov 2015 11:03:21 +0000 (11:03 +0000)] 
* zh_CN.po: Update.

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

8 years agogcc/
ienkovich [Mon, 23 Nov 2015 10:01:51 +0000 (10:01 +0000)] 
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.

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

8 years agoAlways call free_stmt_vec_info_vec in gather_scalar_reductions
vries [Mon, 23 Nov 2015 09:45:38 +0000 (09:45 +0000)] 
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.

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

8 years agolibsanitizer merge from upstream r253555, compiler part.
chefmax [Mon, 23 Nov 2015 09:15:13 +0000 (09:15 +0000)] 
libsanitizer merge from upstream r253555, compiler part.

gcc/

* opts.c (finish_options): Allow -fsanitize-recover=address for
userspace sanitization.
* asan.c (asan_expand_check_ifn): Redefine recover_p.
* doc/invoke.texi (fsanitize-recover): Update documentation.

gcc/testsuite/

* c-c++-common/asan/halt_on_error-1.c: New test.
* c-c++-common/asan/halt_on_error-2.c: Likewise.

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

8 years ago2015-11-23 Richard Biener <rguenther@suse.de>
rguenth [Mon, 23 Nov 2015 09:11:00 +0000 (09:11 +0000)] 
2015-11-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68482
* gcc.dg/vect/pr68482.c: New testcase.

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

8 years agolibsanitizer merge from upstream r253555.
chefmax [Mon, 23 Nov 2015 09:07:18 +0000 (09:07 +0000)] 
libsanitizer merge from upstream r253555.

libsanitizer/

2015-11-23  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

* All source files: Merge from upstream r253555.
* configure.tgt: Enable LSan on aarch64-*-linux* targets. Add new
dependences for TSan for aarch64-*-linux* targets.
* tsan/Makefile.am: Add new source files.
* configure: Regenerate.
* tsan/Makefile.in: Likewise.

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

8 years agoMark by_ref mem_ref in build_receiver_ref as non-trapping
vries [Mon, 23 Nov 2015 08:56:49 +0000 (08:56 +0000)] 
Mark by_ref mem_ref in build_receiver_ref as non-trapping

2015-11-23  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping.

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

8 years ago2015-11-23 Richard Biener <rguenther@suse.de>
rguenth [Mon, 23 Nov 2015 08:36:59 +0000 (08:36 +0000)] 
2015-11-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68445
* tree-vect-slp.c (vect_create_mask_and_perm): Properly use
two different strides.

* gcc.dg/vect/pr68445.c: New testcase.

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

8 years agoS/390: Fix symbol ref alignment
krebbel [Mon, 23 Nov 2015 08:05:33 +0000 (08:05 +0000)] 
S/390: Fix symbol ref alignment

This patch fixes the treatment of symbol ref alignments for
arrays and structs in S390. Until now, the NOT_NATURALLY_ALIGNED flag
was not correctly set for array elements and structs larger than 8
bytes. Therefore, load relative instructions that require a specific
alignment would not always be generated. This patch uses separate flags
for 2-, 4-, and 8-byte alignment to fix the problem.

gcc/testsuite/ChangeLog:

2015-11-23  Robin Dapp  <rdapp@linux.vnet.ibm.com>

        * gcc.target/s390/load-relative-check.c: New test to check
        generation of load relative instructions.

gcc/ChangeLog:

2015-11-23  Robin Dapp  <rdapp@linux.vnet.ibm.com>

        * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc.
        * config/s390/s390.c (s390_check_symref_alignment): Use new
        symref flags, early abort on wrong alignment
        (s390_secondary_reload): Use new symref flags.
        (s390_encode_section_info): Likewise.
        * config/s390/predicates.md: Likewise.

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

8 years ago2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Mon, 23 Nov 2015 00:40:51 +0000 (00:40 +0000)] 
2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/52251
* io/transfer.c (formatted_transfer_scalar_write): Reset skips count.
(finalize_transfer): For ADVANCE_NO, emit pending spaces and reset the
skip count.

2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/fmt_t_8.f90: New test.

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

8 years agoDaily bump.
gccadmin [Mon, 23 Nov 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

8 years agogcc/ChangeLog:
kugan [Sun, 22 Nov 2015 23:07:58 +0000 (23:07 +0000)] 
gcc/ChangeLog:

2015-11-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR target/68390
* config/arm/arm.c (arm_function_ok_for_sibcall): Get function type
for indirect function call.

gcc/testsuite/ChangeLog:

2015-11-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR target/68390
* gcc/testsuite/gcc.c-torture/execute/pr68390.c: New test.

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

8 years ago2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 22 Nov 2015 22:17:52 +0000 (22:17 +0000)] 
2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/fmt_g0_1.f08: Update test. Leading zero.

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

8 years ago2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 22 Nov 2015 22:14:46 +0000 (22:14 +0000)] 
2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* io/write_float.def (output_float): Move block determining
room for leading zero to before checkng g0 formatting.

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

8 years agolibitm: Fix recent changes to allocations log.
torvald [Sun, 22 Nov 2015 20:56:20 +0000 (20:56 +0000)] 
libitm: Fix recent changes to allocations log.

libitm/
* libitm_i.h (gtm_alloc_action): Remove union.
* testsuite/libitm.c/alloc-1.c: New.

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

8 years ago2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 22 Nov 2015 19:41:20 +0000 (19:41 +0000)] 
2015-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68486
* simplify.c (gfc_simplify_cshift):  Add EXPR_OP to mix.

2015-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68486
* gfortran.dg/simplify_cshift_2.f90: New test.

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

8 years ago gcc/fortran/
jnorris [Sun, 22 Nov 2015 19:25:29 +0000 (19:25 +0000)] 
gcc/fortran/
* openmp.c (match_oacc_clause_gang): Fix uninitialized variable.
(gfc_resolve_oacc_declare): Fix comparision.

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

8 years ago gcc/fortran/
jnorris [Sun, 22 Nov 2015 16:45:38 +0000 (16:45 +0000)] 
gcc/fortran/
* dump-parse-tree.c (show_namespace): Handle declares.
* gfortran.h (struct symbol_attribute): New fields.
(enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK.
(OMP_LIST_LINK): New enum.
(struct gfc_oacc_declare): New structure.
(gfc_get_oacc_declare): New definition.
(struct gfc_namespace): Change type.
(enum gfc_exec_op): Add EXEC_OACC_DECLARE.
(struct gfc_code): New field.
* module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE,
AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR,
AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK
(attr_bits): Add new initializers.
(mio_symbol_attribute): Handle new atributes.
* openmp.c (gfc_free_oacc_declare_clauses): New function.
(gfc_match_oacc_clause_link: Likewise.
(OMP_CLAUSE_LINK): New definition.
(gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK.
(OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK
(gfc_match_oacc_declare): Add checking and module handling.
(resolve_omp_clauses): Add array initializer.
(gfc_resolve_oacc_declare): Reimplement.
* parse.c (case_decl): Add ST_OACC_DECLARE.
(parse_spec): Remove handling.
(parse_progunit): Remove handling.
* parse.h (struct gfc_state_data): Change type.
* resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE.
* st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE.
* symbol.c (check_conflict): Add conflict checks.
(gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin,
gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident):
New functions.
(gfc_copy_attr): Handle new symbols.
* trans-decl.c (add_clause, find_module_oacc_declare_clauses,
finish_oacc_declare): New functions.
(gfc_generate_function_code): Replace with call.
* trans-openmp.c (gfc_trans_oacc_declare): Reimplement.
(gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE.
* trans-stmt.c (gfc_trans_block_construct): Replace with call.
* trans-stmt.h (gfc_trans_oacc_declare): Remove argument.
* trans.c (trans_code): Handle EXEC_OACC_DECLARE.

gcc/testsuite
* gfortran.dg/goacc/declare-1.f95: Update test.
* gfortran.dg/goacc/declare-2.f95: New test.

libgomp/
* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.

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

8 years ago[AARCH64][PATCH 2/3] Implementing vmulx_lane NEON intrinsic variants
jgreenhalgh [Sun, 22 Nov 2015 15:15:20 +0000 (15:15 +0000)] 
[AARCH64][PATCH 2/3] Implementing vmulx_lane NEON intrinsic variants

gcc/

* config/aarch64/arm_neon.h (vmulx_lane_f32): New.
(vmulx_lane_f64): Likewise.
(vmulxq_lane_f32): Refactored & moved.
(vmulxq_lane_f64): Likewise.
(vmulx_laneq_f32): New.
(vmulx_laneq_f64): Likewise.
(vmulxq_laneq_f32): Likewise.
(vmulxq_laneq_f64): Likewise.
(vmulxs_lane_f32): Likewise.
(vmulxs_laneq_f32): Likewise.
(vmulxd_lane_f64): Likewise.
(vmulxd_laneq_f64): Likewise.
* config/aarch64/aarch64-simd.md
(*aarch64_mulx_elt_<vswap_width_name><mode>, VDQSF): New pattern.
(*aarch64_mulx_elt<mode>, VDQF): Likewise.
(*aarch64_mulx_elt_to_64v2df): Likewise.
(*aarch64_vgetfmulx<mode>, VDQF_DF): Likewise.

gcc/testsuite/

* gcc.target/aarch64/simd/vmulx_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulx_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulx_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxq_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxq_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxq_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxq_laneq_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxd_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: New.

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

8 years agoDaily bump.
gccadmin [Sun, 22 Nov 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
hubicka [Sat, 21 Nov 2015 23:59:49 +0000 (23:59 +0000)] 
* lto.c (iterative_hash_canonical_type): Always recurse for pointers.
(gimple_register_canonical_type_1): Check that pointers do not get
canonical types.
(gimple_register_canonical_type): Do not register pointers.

* tree.c (build_pointer_type_for_mode,build_reference_type_for_mode):
In LTO we do not compute TYPE_CANONICAL of pointers.
(gimple_canonical_types_compatible_p): Improve coments; sanity check
that pointers do not have canonical type that would make us believe
they are different.
* alias.c (get_alias_set): Do structural type equality on pointers;
enable pointer path for LTO; also glob pointer to vector with pointer
to vector element; glob pointers and references for LTO; do more strict
sanity checking about build_pointer_type returning the canonical type
which is also the main variant.
(record_component_aliases): When component type is pointer and we
do LTO; record void_type_node alias set.

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

8 years ago * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
hubicka [Sat, 21 Nov 2015 22:30:28 +0000 (22:30 +0000)] 
* lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
flag for types that are not ODR; fix loop walking parameters.

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

8 years ago2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sat, 21 Nov 2015 20:06:17 +0000 (20:06 +0000)] 
2015-11-21  Steven G. Kargl  <kargl@gcc.gnu.org>

* simplify.c (gfc_simplify_cshift): Work around bootstrap issues
due to inappropriate warning options.

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

8 years ago2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sat, 21 Nov 2015 16:25:23 +0000 (16:25 +0000)] 
2015-11-21  Steven G. Kargl  <kargl@gcc.gnu.org>

* simplify.c (gfc_simplify_cshift): Implement simplification of CSHIFT.
(gfc_simplify_spread): Remove a FIXME and add error condition.
* intrinsic.h: Prototype for gfc_simplify_cshift
* intrinsic.c (add_functions): Use gfc_simplify_cshift.

2015-11-21  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.dg/simplify_cshift_1.f90: New test.

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

8 years ago * gcc.dg/atomic-generic.c: Include <string.h>.q
nathan [Sat, 21 Nov 2015 14:08:44 +0000 (14:08 +0000)] 
* gcc.dg/atomic-generic.c: Include <string.h>.q

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

8 years ago * gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto.
dje [Sat, 21 Nov 2015 14:02:45 +0000 (14:02 +0000)] 
    * gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto.

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

8 years ago * config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type.
nathan [Sat, 21 Nov 2015 14:01:05 +0000 (14:01 +0000)] 
* config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type.

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

8 years ago * config/nvptx/nvptx.c (write_function_decl_and_comment): Print
nathan [Sat, 21 Nov 2015 13:57:09 +0000 (13:57 +0000)] 
* config/nvptx/nvptx.c (write_function_decl_and_comment): Print
leading blank line.
(write_func_decl_from_insn): Likewise.
(init_output_initializer, nvptx_assemble_undefined_decl): Likewise.
(nvptx_file_end): Likewise.
(nvptx_function_end): Undent output.
(nvptx_expand_call): Fix formatting.
(nvptx_output_call_insn): Indent output.
* config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line.

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

8 years ago * g++.dg/init/vbase1.C: Also run on i?86-*-*.
uros [Sat, 21 Nov 2015 12:20:56 +0000 (12:20 +0000)] 
* g++.dg/init/vbase1.C: Also run on i?86-*-*.

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

8 years ago PR debug/66432
jakub [Sat, 21 Nov 2015 08:24:13 +0000 (08:24 +0000)] 
PR debug/66432
* tree-inline.c (copy_debug_stmt): If
gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL
in decl_debug_args, don't call remap_gimple_op_r on it.

* gcc.dg/debug/pr66432.c: New test.

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

8 years ago* testsuite/23_containers/vector/profile/vector.cc: Add maxdata option on AIX.
dje [Sat, 21 Nov 2015 05:38:25 +0000 (05:38 +0000)] 
* testsuite/23_containers/vector/profile/vector.cc: Add maxdata option on AIX.

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

8 years ago PR go/66378
ian [Sat, 21 Nov 2015 04:43:50 +0000 (04:43 +0000)] 
PR go/66378
    syscall: Fix initial offset value in syscall.Sendfile.

    Bug reported in https://gcc.gnu.org/PR66378.

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

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

8 years ago * ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL;
hubicka [Sat, 21 Nov 2015 03:57:48 +0000 (03:57 +0000)] 
* ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL;
do not check AGGREGATE_TYPE_P when adding TYPE_MODE;
Check that all record types are complete.
* ipa-icf-gimple.c (func_checker::compatible_types_p): Do not
compare alias sets for types w/o alias sets.

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

8 years ago PR go/66406
ian [Sat, 21 Nov 2015 01:47:13 +0000 (01:47 +0000)] 
PR go/66406
* go.test/go-test.exp (go-gc-tests): Skip nilptr.go if PIE.

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

8 years ago PR go/65785
ian [Sat, 21 Nov 2015 01:41:24 +0000 (01:41 +0000)] 
PR go/65785
    net: don't run multicast listen test on nil interface in short mode

    This is a backport of https://golang.org/cl/17154.

    The gccgo bug report https://gcc.gnu.org/PR65785 points out that the
    multicast listen tests will use the network even with -test.short.
    Fix test by checking testing.Short with a nil interface.

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

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

8 years ago PR go/66574
ian [Sat, 21 Nov 2015 01:27:44 +0000 (01:27 +0000)] 
PR go/66574
    runtime: Use clock_gettime to get current time.

    Fetch the current time in nanoseconds, not microseconds, by using
    clock_gettime rather than gettimeofday.

    Update golang/go#11222.

    Fixes https://gcc.gnu.org/PR66574.

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

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

8 years agoDaily bump.
gccadmin [Sat, 21 Nov 2015 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago PR go/68141
ian [Fri, 20 Nov 2015 23:44:25 +0000 (23:44 +0000)] 
PR go/68141
    compiler: Use references in Archive_iterator comparison functions.

    Fixes minor performance problem pointed out in
    https://gcc.gnu.org/PR68141 .

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

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

8 years ago PR go/68072
ian [Fri, 20 Nov 2015 22:48:47 +0000 (22:48 +0000)] 
PR go/68072
    cmd/cgo: ignore vars with no name or type if they have a AttrSpecification

    Backport of master CL https://golang.org/cl/17151.

    Fixes https://gcc.gnu.org/PR/68072.

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

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

8 years ago * g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
mrs [Fri, 20 Nov 2015 22:12:28 +0000 (22:12 +0000)] 
* g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
isn't portable.

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

8 years ago * config/sparc/sparc.md (umulxhi_vis): Move around.
ebotcazou [Fri, 20 Nov 2015 22:01:46 +0000 (22:01 +0000)] 
* config/sparc/sparc.md (umulxhi_vis): Move around.
(*umulxhi_sp64): Likewise.
(umulxhi_v8plus): Likewise.
(xmulx_vis): Likewise.
(*xmulx_sp64): Likewise.
(xmulx_v8plus): Likewise.
(xmulxhi_vis): Likewise.
(*xmulxhi_sp64): Likewise.
(xmulxhi_v8plus): Likewise.

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

8 years ago cmd: Use correct install tool dir with gccgo
ian [Fri, 20 Nov 2015 21:30:16 +0000 (21:30 +0000)] 
cmd: Use correct install tool dir with gccgo

    When using the go command built from gccgo to build and
    install a go tool, use the value from runtime GCCGOTOOLDIR as
    the install directory.

    This also fixes the output from 'go tool' when used with the
    gccgo-built go command, to only include the go tools and not
    other binaries found in the same directory.

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

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

8 years agoAdd testcase erroneously omitted from r230638
dmalcolm [Fri, 20 Nov 2015 20:36:03 +0000 (20:36 +0000)] 
Add testcase erroneously omitted from r230638

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

8 years agoPR 62314: add ability to add fixit-hints to a diagnostic
dmalcolm [Fri, 20 Nov 2015 20:08:47 +0000 (20:08 +0000)] 
PR 62314: add ability to add fixit-hints to a diagnostic

This is the combination of two patches:
  [PATCH 01/02] PR/62314: add ability to add fixit-hints
  [PATCH 02/02] C FE: add fix-it hint for . vs ->

gcc/ChangeLog:
PR 62314
* diagnostic-show-locus.c (colorizer::set_fixit_hint): New.
(class layout): Update comment
(layout::print_any_fixits): New method.
(layout::move_to_column): New method.
(diagnostic_show_locus): Add call to layout.print_any_fixits.

gcc/c/ChangeLog:
PR 62314
* c-typeck.c (should_suggest_deref_p): New function.
(build_component_ref): Special-case POINTER_TYPE when
generating a "not a structure of union"  error message, and
suggest a "->" rather than a ".", providing a fix-it hint.

gcc/testsuite/ChangeLog:
PR 62314
* gcc.dg/fixits.c: New file.
* gcc.dg/plugin/diagnostic-test-show-locus-ascii-bw.c
(test_fixit_insert): New.
(test_fixit_remove): New.
(test_fixit_replace): New.
* gcc.dg/plugin/diagnostic-test-show-locus-ascii-color.c
(test_fixit_insert): New.
(test_fixit_remove): New.
(test_fixit_replace): New.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Add tests of rendering fixit hints.

libcpp/ChangeLog:
PR 62314
* include/line-map.h (source_range::intersects_line_p): New
method.
(rich_location::~rich_location): New.
(rich_location::add_fixit_insert): New method.
(rich_location::add_fixit_remove): New method.
(rich_location::add_fixit_replace): New method.
(rich_location::get_num_fixit_hints): New accessor.
(rich_location::get_fixit_hint): New accessor.
(rich_location::MAX_FIXIT_HINTS): New constant.
(rich_location::m_num_fixit_hints): New field.
(rich_location::m_fixit_hints): New field.
(class fixit_hint): New class.
(class fixit_insert): New class.
(class fixit_remove): New class.
(class fixit_replace): New class.
* line-map.c (source_range::intersects_line_p): New method.
(rich_location::rich_location): Add initialization of
m_num_fixit_hints to both ctors.
(rich_location::~rich_location): New.
(rich_location::add_fixit_insert): New method.
(rich_location::add_fixit_remove): New method.
(rich_location::add_fixit_replace): New method.
(fixit_insert::fixit_insert): New.
(fixit_insert::~fixit_insert): New.
(fixit_insert::affects_line_p): New.
(fixit_remove::fixit_remove): New.
(fixit_remove::affects_line_p): New.
(fixit_replace::fixit_replace): New.
(fixit_replace::~fixit_replace): New.
(fixit_replace::affects_line_p): New.

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

8 years ago PR middle-end/68221
jakub [Fri, 20 Nov 2015 19:50:46 +0000 (19:50 +0000)] 
PR middle-end/68221
* omp-low.c (lower_rec_input_clauses): If C/C++ array reduction
has non-zero bias, subtract it in integer type instead of
pointer plus of negated bias.

* testsuite/libgomp.c/reduction-11.c: Remove xfail.
* testsuite/libgomp.c/reduction-12.c: Likewise.
* testsuite/libgomp.c++/reduction-11.C: Likewise.
* testsuite/libgomp.c++/reduction-12.C: Likewise.

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

8 years ago PR middle-end/68339
jakub [Fri, 20 Nov 2015 19:49:47 +0000 (19:49 +0000)] 
PR middle-end/68339
* omp-low.c (expand_simd_clones): Call node->get_body () before
allocating stuff in GC.

* gcc.dg/vect/pr68339.c: New test.

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

8 years ago PR libstdc++/68448
jkratoch [Fri, 20 Nov 2015 19:00:51 +0000 (19:00 +0000)] 
PR libstdc++/68448
* python/hook.in: Call register_libstdcxx_printers.
* python/libstdcxx/v6/__init__.py: Wrap it to
register_libstdcxx_printers.

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

8 years agoFix cygwin performance loss on linpack.
wilson [Fri, 20 Nov 2015 16:27:17 +0000 (16:27 +0000)] 
Fix cygwin performance loss on linpack.

gcc/
* tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS.

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

8 years ago[AArch64] Add attribute for compatibility with ARM pipeline models
jgreenhalgh [Fri, 20 Nov 2015 16:15:57 +0000 (16:15 +0000)] 
[AArch64] Add attribute for compatibility with ARM pipeline models

gcc/

* config/aarch64/aarch64.md (predicated): Copy attribute from
"arm.md".
* config/arm/arm.md (predicated): Added description.

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

8 years ago * c-common.c (shorten_compare): But look through macros from
jason [Fri, 20 Nov 2015 15:51:35 +0000 (15:51 +0000)] 
* c-common.c (shorten_compare): But look through macros from
system headers.

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

8 years ago[ARM] Do not expand movmisalign pattern if not in 32-bit mode
ktkachov [Fri, 20 Nov 2015 15:19:09 +0000 (15:19 +0000)] 
[ARM] Do not expand movmisalign pattern if not in 32-bit mode

* config/arm/arm.c (arm_option_override): Require TARGET_32BIT
for unaligned_access.
* config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT
from matching condition.
(unaligned_loadhis): Likewise.
(unaligned_loadhiu): Likewise.
(unaligned_storesi): Likewise.
(unaligned_storehi): Likewise.

* gcc.target/arm/armv6-unaligned-load-ice.c: New test.

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

8 years ago[ARM] PR 68149 Fix ICE in unaligned_loaddi split
ktkachov [Fri, 20 Nov 2015 15:15:31 +0000 (15:15 +0000)] 
[ARM] PR 68149 Fix ICE in unaligned_loaddi split

PR target/68149
* config/arm/arm.md (unaligned_loaddi): Delete.
(unaligned_storedi): Likewise.
* config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate
unaligned DImode memory ops.  Instead perform two back-to-back
unaligned SImode ops.

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

8 years agoFix wrong attribution in gfortran ChangeLog
pault [Fri, 20 Nov 2015 15:01:34 +0000 (15:01 +0000)] 
Fix wrong attribution in gfortran ChangeLog

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

8 years ago2015-11-20 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 20 Nov 2015 14:50:35 +0000 (14:50 +0000)] 
2015-11-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68237
* decl.c (gfc_match_submod_proc): Test the interface symbol
before accessing its attributes.

2015-11-20  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66762
(gfc_get_symbol_decl): Test for attr.used_in_submodule as well
as attr.use_assoc (twice).
(gfc_create_module_variable): Ditto.

2015-11-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68237
* gfortran.dg/submodule_12.f90: New test

PR fortran/66762
* gfortran.dg/submodule_6.f90: Add compile option -flto.

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

8 years agoSync top level configure with binutils-gdb.
gingold [Fri, 20 Nov 2015 14:24:07 +0000 (14:24 +0000)] 
Sync top level configure with binutils-gdb.

2015-11-20  Tristan Gingold  <gingold@adacore.com>

* configure.ac: Add aarch64-*-darwin* and arm-*-darwin*.
* configure: Regenerate.

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

8 years ago * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
nathan [Fri, 20 Nov 2015 14:23:18 +0000 (14:23 +0000)] 
* config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.

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

8 years ago2015-11-20 Alan Hayward <alan.hayward@arm.com>
alahay01 [Fri, 20 Nov 2015 14:20:24 +0000 (14:20 +0000)] 
2015-11-20  Alan Hayward <alan.hayward@arm.com>

PR tree-optimization/68413
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache
evolution base
(vectorizable_reduction): Use cached base

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

8 years ago compiler: Use receiver name in hash/equal for type within method.
ian [Fri, 20 Nov 2015 13:23:02 +0000 (13:23 +0000)] 
compiler: Use receiver name in hash/equal for type within method.

    Test case sent as https://golang.org/cl/17081.

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

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

8 years agoFix typo and trailing whitespace in dump-file strings in parloops
vries [Fri, 20 Nov 2015 12:48:17 +0000 (12:48 +0000)] 
Fix typo and trailing whitespace in dump-file strings in parloops

2015-11-20  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (build_new_reduction): Fix trailing whitespace in
dump-file string.
(try_create_reduction_list): Same.  Fix typo in dump-file string.

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

8 years agoclang-format: split content of a list to multiple lines
marxin [Fri, 20 Nov 2015 12:24:34 +0000 (12:24 +0000)] 
clang-format: split content of a list to multiple lines

* clang-format: Split content of a list to multiple
lines.

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

8 years ago[ARM] Disable neon testing for armv7-m
ktkachov [Fri, 20 Nov 2015 11:49:23 +0000 (11:49 +0000)] 
[ARM] Disable neon testing for armv7-m

2015-11-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add check
for M profile.

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

8 years ago * doc/md.texi (Standard Names): Move entry for addptr3 around,
ebotcazou [Fri, 20 Nov 2015 11:04:43 +0000 (11:04 +0000)] 
* doc/md.texi (Standard Names): Move entry for addptr3 around,
add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
glitch in entries for cbranch4 and jump.

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

8 years agoDo final value replacement in try_create_reduction_list
vries [Fri, 20 Nov 2015 10:25:26 +0000 (10:25 +0000)] 
Do final value replacement in try_create_reduction_list

2015-11-20  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/68373
* tree-scalar-evolution.c (final_value_replacement_loop): Factor out of ...
(scev_const_prop): ... here.
* tree-scalar-evolution.h (final_value_replacement_loop): Declare.
* tree-parloops.c (try_create_reduction_list): Call
final_value_replacement_loop.

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

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

8 years ago * ChangeLog: Fix whitespace.
uros [Fri, 20 Nov 2015 10:00:24 +0000 (10:00 +0000)] 
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

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

8 years agoFix up misplaced ChangeLog entry.
jakub [Fri, 20 Nov 2015 09:05:53 +0000 (09:05 +0000)] 
Fix up misplaced ChangeLog entry.

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

8 years ago PR tree-optimization/52272
amker [Fri, 20 Nov 2015 09:05:08 +0000 (09:05 +0000)] 
PR tree-optimization/52272
* tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct.
(struct iv_common_cand_hasher): New struct.
(iv_common_cand_hasher::hash): New function.
(iv_common_cand_hasher::equal): New function.
(struct ivopts_data): New fields, iv_common_cand_tab and
iv_common_cands.
(tree_ssa_iv_optimize_init): Initialize above fields.
(record_common_cand, common_cand_cmp): New functions.
(add_iv_candidate_derived_from_uses): New function.
(add_iv_candidate_for_use): Record iv_common_cands derived from
iv use in hash table, instead of adding candidates directly.
(add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses.
(record_important_candidates): Add important candidates to iv uses'
related_cands.  Always keep related_cands for future use.
(try_add_cand_for): Use iv uses' related_cands.
(free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields
in struct ivopts_data, iv_common_cand_tab and iv_common_cands.

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

8 years ago PR c++/67354
jakub [Fri, 20 Nov 2015 09:03:45 +0000 (09:03 +0000)] 
PR c++/67354
* cp-tree.h (defer_mangling_aliases): Declare.
(generate_mangling_aliases): New prototype.
* decl2.c (defer_mangling_aliases): New variable.
(note_mangling_alias): Use !defer_mangling_aliases
instead of at_eof.
(generate_mangling_aliases): No longer static. Clear
defer_mangling_aliases.
* optimize.c (maybe_thunk_body): Defer emitting mangling aliases
if !defer_mangling_aliases until the fns are put into the same
comdat group.

* g++.dg/abi/mangle67.C: New test.

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

8 years agoS/390: Add bswaphi2 pattern
krebbel [Fri, 20 Nov 2015 07:42:04 +0000 (07:42 +0000)] 
S/390: Add bswaphi2 pattern

gcc/testsuite/ChangeLog:
* gcc.target/s390/bswap-1.c: New test.

gcc/ChangeLog:
* config/s390/s390.md ("bswaphi2"): New pattern.

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

8 years agoS/390: Clobber r1 in patterns resulting in pfpo instruction.
krebbel [Fri, 20 Nov 2015 07:36:07 +0000 (07:36 +0000)] 
S/390: Clobber r1 in patterns resulting in pfpo instruction.

gcc/ChangeLog

* config/s390/s390.md (GPR1_REGNUM): New constant.
("*trunc<BFP:mode><DFP_ALL:mode>2")
("*trunc<DFP_ALL:mode><BFP:mode>2")
("trunc<BFP:mode><DFP_ALL:mode>2")
("trunc<DFP_ALL:mode><BFP:mode>2")
("*extend<BFP:mode><DFP_ALL:mode>2")
("*extend<DFP_ALL:mode><BFP:mode>2")
("extend<BFP:mode><DFP_ALL:mode>2")
("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.

gcc/testsuite/ChangeLog

* gcc.target/s390/pfpo.c: New test.

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

8 years agogcc/testsuite/
kyukhin [Fri, 20 Nov 2015 05:42:41 +0000 (05:42 +0000)] 
gcc/testsuite/
* c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error.
* c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86.

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

8 years agoC++ FE: offer suggestions for misspelled field names
dmalcolm [Fri, 20 Nov 2015 01:26:00 +0000 (01:26 +0000)] 
C++ FE: offer suggestions for misspelled field names

gcc/c/ChangeLog:
* c-typeck.c (lookup_field_fuzzy): Move determination of closest
candidate into a new function, find_closest_identifier.

gcc/cp/ChangeLog:
* cp-tree.h (lookup_member_fuzzy): New decl.
* search.c: Include spellcheck.h.
(class lookup_field_fuzzy_info): New class.
(lookup_field_fuzzy_info::fuzzy_lookup_fnfields): New.
(lookup_field_fuzzy_info::fuzzy_lookup_field): New.
(lookup_field_fuzzy_r): New.
(lookup_member_fuzzy): New.
* typeck.c (finish_class_member_access_expr): When issuing
a "has no member named" error, call lookup_member_fuzzy, and
offer any result as a suggestion.

gcc/ChangeLog:
* spellcheck-tree.c (find_closest_identifier): New function, taken
from c/c-typeck.c:lookup_field_fuzzy, with NULL corrected to
NULL_TREE in two places.
* spellcheck.h (find_closest_identifier): New decl.

gcc/testsuite/ChangeLog:
* g++.dg/spellcheck-fields.C: New file.

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

8 years agoDaily bump.
gccadmin [Fri, 20 Nov 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

8 years agoSupport __cxa_free_exception and fix exception handling.
torvald [Fri, 20 Nov 2015 00:10:08 +0000 (00:10 +0000)] 
Support __cxa_free_exception and fix exception handling.

gcc/cp/
* except.c (do_free_exception): Use transactional wrapper.

libitm/
* testsuite/libitm.c++/eh-5.C: New.
* libitm.h (_ITM_cxa_free_exception): New.
* libitm.map (_ITM_cxa_free_exception): Add it.
* libitm.texi: Update ABI docs.
* libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
(gtm_transaction_cp::cxa_uncaught_count): Add.
(gtm_thread::cxa_unthrown): Remove.
(gtm_thread::cxa_uncaught_count_ptr): Add.
(gtm_thread::cxa_uncaught_count): Add.
(gtm_thread::drop_references_allocations): Rename to...
(gtm_thread::discard_allocation): ... this and adapt.
(gtm_thread::init_cpp_exceptions): New.
* beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
(gtm_thread::begin_transaction): Likewise.
(gtm_transaction_cp::save): Likewise.
(gtm_thread::trycommit): Likewise.
* eh_cpp.cc: Add overview comments.
(__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
(free_any_exception, _ITM_cxa_free_exception): New.
(gtm_thread::init_cpp_exceptions): Define.
(_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
(_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
(gtm_thread::revert_cpp_exceptions): Likewise.

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

8 years ago* config/msp430/lib2hw_mul.S: Fix alignment.
dj [Fri, 20 Nov 2015 00:08:50 +0000 (00:08 +0000)] 
* config/msp430/lib2hw_mul.S: Fix alignment.

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

8 years agofix PR68428: ignore bb dominated by the scop->exit
spop [Thu, 19 Nov 2015 23:06:18 +0000 (23:06 +0000)] 
fix PR68428: ignore bb dominated by the scop->exit

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

8 years agofix PR68341: correctly compute the insertion point for close phi nodes
spop [Thu, 19 Nov 2015 22:56:42 +0000 (22:56 +0000)] 
fix PR68341: correctly compute the insertion point for close phi nodes

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

8 years agoadd testcase for PR68335
spop [Thu, 19 Nov 2015 22:47:48 +0000 (22:47 +0000)] 
add testcase for PR68335

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

8 years ago PR c++/68422
jason [Thu, 19 Nov 2015 22:29:08 +0000 (22:29 +0000)] 
PR c++/68422

* cp-tree.h (PACK_EXPANSION_SIZEOF_P): New.
* parser.c (cp_parser_sizeof_pack): Set it.
* pt.c  (tsubst_copy) [SIZEOF_EXPR]: Likewise.
(tsubst_pack_expansion): Improve T... shortcut for expression packs.

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

8 years ago gcc/
nathan [Thu, 19 Nov 2015 22:05:03 +0000 (22:05 +0000)] 
gcc/
* config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
* config/nvptx/nvptx.c (nvptx_write_function_decl): Support
DECL_WEAK.
(nvptx_declare_objec_name): Likewise.

gcc/testsuite/
* lib/target-supports.exp (check_weak_available): Add nvptx-*-*.
* gcc.dg/attr-weakref-1.c: Skip for nvptx-*-*
* gcc.dg/special/weak-2.c: Likewise.
* gcc.dg/weak/weak-12.c: Likewise.
* gcc.dg/weak/weak-15.c: Likewise.
* gcc.dg/weak/weak-16.c: Likewise.
* gcc.dg/weak/weak-1.c: Likewise.
* gcc.dg/weak/weak-2.c: Likewise.
* gcc.dg/weak/weak-4.c: Likewise.
* gcc.dg/torture/pr53922.c: Likewise.
* gcc.dg/torture/pr60092.c: Likewise.

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

8 years ago PR c/68412
mpolacek [Thu, 19 Nov 2015 22:04:00 +0000 (22:04 +0000)] 
PR c/68412
* c-typeck.c (parser_build_binary_op): Properly handle
C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.

* gcc.dg/pr68412-2.c: New test.
* gcc.dg/pr68412.c: New test.

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

8 years agofix bootstrap without ISL on old linkers
spop [Thu, 19 Nov 2015 20:35:12 +0000 (20:35 +0000)] 
fix bootstrap without ISL on old linkers

With and without this patch passes bootstrap on x86_64-linux with and without ISL.
The problem occurs on systems with older linkers that do not remove dead symbols.

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

8 years ago * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
nathan [Thu, 19 Nov 2015 18:58:39 +0000 (18:58 +0000)] 
* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
* libgomp.oacc-c-c++-common/reduction-flt.c: New.
* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
and fix.
* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.

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

8 years ago PR c++/68396
jason [Thu, 19 Nov 2015 18:25:38 +0000 (18:25 +0000)] 
PR c++/68396

2015-11-19  Ryan Burn  <contact@rnburn.com>

* pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing
the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false.

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

8 years ago2015-11-19 David Edelsohn <dje.gcc@gmail.com>
dje [Thu, 19 Nov 2015 17:37:12 +0000 (17:37 +0000)] 
2015-11-19  David Edelsohn  <dje.gcc@gmail.com>

        Revert
2015-11-18  Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
type-limits warning.

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

8 years ago[Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode
law [Thu, 19 Nov 2015 17:30:24 +0000 (17:30 +0000)] 
[Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode

* tree.h (desired_pro_or_demotion_p): New function.
* tree-vrp.c (simplify_cond_using_ranges): Call it.

* gcc.dg/tree-ssa/vrp98.c: New testcase.
* gcc.target/avr/uint8-single-reg.c: New testcase.

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

8 years ago2015-11-19 Bob Duff <duff@adacore.com>
charlet [Thu, 19 Nov 2015 16:40:37 +0000 (16:40 +0000)] 
2015-11-19  Bob Duff  <duff@adacore.com>

* sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
change: correctly handle generic formals/actuals that look like
renamings.

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

8 years agoliboffloadmic/
iverbin [Thu, 19 Nov 2015 16:22:13 +0000 (16:22 +0000)] 
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New.
(ImgDescMap): New typedef.
(image_descriptors): New static var.
(init): Allocate image_descriptors.
(offload): Remove vars2 argument.  Pass NULL to __offload_offload1
instead of vars2.
(unregister_main_image): New static function.
(register_main_image): Call unregister_main_image at exit.
(GOMP_OFFLOAD_init_device): Print device number, fix offload args.
(GOMP_OFFLOAD_fini_device): Likewise.
(get_target_table): Remove vd1g and vd2g, don't pass them to offload.
(offload_image): Remove declaration of the struct TargetImage.
Free table.  Insert new descriptor into image_descriptors.
(GOMP_OFFLOAD_unload_image): Call __offload_unregister_image, free
the corresponding descriptor, and remove it from address_table and
image_descriptors.
(GOMP_OFFLOAD_alloc): Print device number, remove vd1g.
(GOMP_OFFLOAD_free): Likewise.
(GOMP_OFFLOAD_host2dev): Print device number, remove vd1g and vd2g.
(GOMP_OFFLOAD_dev2host): Likewise.
(GOMP_OFFLOAD_run): Print device number, remove vd1g.
* plugin/offload_target_main.cpp (__offload_target_table_p1): Remove
vd2, don't pass it to __offload_target_enter.
(__offload_target_table_p2): Likewise.
(__offload_target_alloc): Likewise.
(__offload_target_free): Likewise.
(__offload_target_host2tgt_p1): Likewise.
(__offload_target_host2tgt_p2): Likewise.
(__offload_target_tgt2host_p1): Likewise.
(__offload_target_tgt2host_p2): Likewise.
(__offload_target_run): Likewise.
(__offload_target_tgt2tgt): Remove vd1g, don't pass it to
__offload_target_enter.

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

8 years ago PR c++/67409
jakub [Thu, 19 Nov 2015 16:18:39 +0000 (16:18 +0000)] 
PR c++/67409
* decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call
emit_diagnostic instead of permerror.
(check_previous_goto_1): Adjust identify_goto callers, treat all
cases but crossing initialization and entering scope of decl with
non-trivial dtor as unconditional hard errors.
(check_goto): Use identify_goto.  Treat all cases but crossing
initialization and entering scope of decl with non-trivial dtor
as unconditional hard errors.

* g++.dg/eh/goto3.C: New test.

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