aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-20Report DejaGnu ERROR messages in compare_testsChristophe Lyon2-2/+7
2016-09-20 Christophe Lyon <christophe.lyon@linaro.org> * compare_tests: Take ERROR messages into account when comparing. From-SVN: r240288
2016-09-20trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through comment.Marek Polacek2-1/+6
* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through comment. From-SVN: r240286
2016-09-20syscall: build export_unix_test.go on solarisIan Lance Taylor2-2/+2
Patch from Rainer Orth. Reviewed-on: https://go-review.googlesource.com/29436 From-SVN: r240285
2016-09-20i386.md (mult->ashift peephole2s): Use pow2p_hwi instead of exact_log2.Uros Bizjak2-4/+10
* config/i386/i386.md (mult->ashift peephole2s): Use pow2p_hwi instead of exact_log2. From-SVN: r240281
2016-09-20re PR go/77625 (go/gofrontend/ast-dump.cc:169:42: error: ‘new’ of type ↵Ian Lance Taylor2-6/+6
‘std::ofstr eam {aka std::basic_ofstream<char>}’ with extended alignment 16) PR go/77625 compiler: allocate std::ofstream as a local variable GCC PR 77625 points out a warning about new std::ofstream. I don't know how that is supposed to work, but in this case the std::ofstream may as well be a local variable anyhow. Reviewed-on: https://go-review.googlesource.com/29435 From-SVN: r240279
2016-09-20re PR tree-optimization/77621 (Internal compiler error for mtune=atom + msse2)Uros Bizjak5-5/+35
PR target/77621 * config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>: Don't return word_mode for !TARGET_VECTORIZE_DOUBLE. (ix86_add_stmt_cost): Penalize DFmode vector operations for !TARGET_VECTORIZE_DOUBLE. testsuite/ChangeLog: PR target/77621 * gcc.target/i386/pr77621.c: New test. * gcc.target/i386/vect-double-2.c: Update scan-tree-dump-times pattern, loop should vectorize with -mtune=atom. From-SVN: r240277
2016-09-20re PR go/77642 (GO Bootstrap fail starting with r239872 splitstack signature ↵Ian Lance Taylor2-7/+15
does not match) PR go/77642 runtime: pass correct type to __splitstack_find The code was passing uintptr* to a function that expected size_t*. Based on patch by Andreas Krebbel. Fixes GCC PR 77642. Reviewed-on: https://go-review.googlesource.com/29433 From-SVN: r240275
2016-09-20invoke.texi (Warning Options): Simplify language.Gerald Pfeifer2-5/+10
* doc/invoke.texi (Warning Options): Simplify language. (Optimize Options): Complete sentence. From-SVN: r240274
2016-09-20* dbxout.c (xcoff_debug_hooks): Add filename parameter to early_finish hook.David Edelsohn2-1/+6
From-SVN: r240273
2016-09-20rs6000.c (rs6000_expand_vector_init): For V4SF inits on power8 and above, ↵Michael Meissner3-5/+40
use the VMRGEW instruction instead of a permute. 2016-09-20 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_expand_vector_init): For V4SF inits on power8 and above, use the VMRGEW instruction instead of a permute. * config/rs6000/altivec.md (UNSPEC_VMRGEW_DIRECT): New unspec. (p8_vmrgew_v4sf_direct): New VMRGEW insn for V4SF floating initialization. From-SVN: r240272
2016-09-20[PATCH] [AArch64] Add missing attributes to arm_neon.hTamar Christina2-0/+19
Committed on behalf of Tamar Christina <tamar.christina@arm.com> gcc/ * config/aarch64/arm_neon.h (vst2_s64, vst2_u64, vst2_f64, vst2_s8): Add missing attributes. (vst3_s64, vst3_u64, vst3_f64, vst3_s8): Likewise. (vst4_s64, vst4_u64, vst4_f64, vst4_s8): Likewise. From-SVN: r240271
2016-09-20vax.h (ELIMINABLE_REGS): Define.Bernd Edlinger2-0/+15
2016-09-20 Bernd Edlinger <bernd.edlinger@hotmail.de> * config/var/vax.h (ELIMINABLE_REGS): Define. (INITIAL_ELIMINATION_OFFSET): Define. From-SVN: r240269
2016-09-20re PR testsuite/63299 (ASan reported alloc-dealloc-mismatch in ↵Maxim Ostapenko2-1/+8
g++.old-deja/g++.jason/init3.C) PR testsuite/63299 * g++.old-deja/g++.jason/init3.C (My_string::~My_string): Use delete[] instead of delete. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r240268
2016-09-20re PR c++/77626 (ICE with -Wall on x86_64-linux-gnu (internal compiler ↵Jakub Jelinek4-9/+26
error: Segmentation fault, byte_from_pos, cxx_fold_indirect_ref)) PR c++/77626 * constexpr.c (cxx_fold_indirect_ref): Don't call byte_position on FIELD_DECLs with error_mark_node type. Remove useless break; after return. * g++.dg/other/pr77626.C: New test. From-SVN: r240267
2016-09-20re PR c++/77638 (ICE on x86_64-linux-gnu (internal compiler error: tree ↵Jakub Jelinek4-1/+17
check: expected tree that contains ‘decl common’ structure, have ‘error_mark’ in cp_parser_template_declaration_after_parameters, at cp/parser.c:25722)) PR c++/77638 * parser.c (cp_parser_template_declaration_after_parameter): For 2 argument operator"" template set ok to false for parm == error_mark_node. * g++.dg/cpp0x/udlit-tmpl-arg-neg2.C: New test. From-SVN: r240266
2016-09-20re PR c++/77637 (ICE on x86_64-linux-gnu (Segmentation fault, tree_check, ↵Jakub Jelinek4-2/+20
cp_parser_std_attribute_list...)) PR c++/77637 * parser.c (cp_parser_std_attribute_list): Reject ... without preceding attribute. * g++.dg/cpp0x/gen-attrs-62.C: New test. From-SVN: r240265
2016-09-20re PR libstdc++/77619 (uninitialized_meow_construct and friends not ↵Ville Voutilainen4-30/+410
exception safe) PR libstdc++/77619 * include/bits/stl_construct.h: (_Construct_novalue): New. (_Destroy_n_aux, _Destroy_n): New. * include/bits/stl_uninitialized.h: (type_traits): New include in C++11 mode. (__uninitialized_default_novalue_1): New. (__uninitialized_default_novalue_n_1): Likewise. (__uninitialized_default_novalue): Likewise. (__uninitialized_default_novalue_n): Likewise. (__uninitialized_copy_n_pair): Likewise. (uninitialized_default_construct): Use __uninitialized_default_novalue. (uninitialized_default_construct_n): Use __uninitialized_default_novalue_n. (uninitialized_value_construct): Use __uninitialized_default. (uninitialized_value_construct_n): Use __uninitialized_default_n. (uninitialized_move): Use uninitialized_copy. (uninitialized_move_n): Use __uninitialized_copy_n_pair. (destroy_at): Use _Destroy. (destroy): Likewise. (destroy_n): Likewise. * testsuite/20_util/specialized_algorithms/ memory_management_tools/1.cc: Add tests for exceptions, add tests for trivial cases for construct and move. From-SVN: r240264
2016-09-20re PR middle-end/77624 (ICE on x86_64-linux-gnu (internal compiler error: in ↵Jakub Jelinek5-2/+56
fold_builtin_atomic_always_lock_free, at builtins.c:5583)) PR middle-end/77624 * builtins.c (fold_builtin_atomic_always_lock_free): Only look through cast to void * if the cast is from some other pointer type. * c-c++-common/pr77624-1.c: New test. * c-c++-common/pr77624-2.c: New test. From-SVN: r240263
2016-09-20coarray_allocate_7.f08: Using + instead of fixed number of digits expected.Andre Vehreschild2-1/+6
2016-09-20 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray_allocate_7.f08: Using + instead of fixed number of digits expected. From-SVN: r240262
2016-09-20re PR tree-optimization/77646 (GCC Segfault with -O3)Richard Biener4-0/+36
2016-09-20 Richard Biener <rguenther@suse.de> PR tree-optimization/77646 * tree-ssa-sccvn.c (visit_reference_op_call): Always value-number a VDEF. * gcc.dg/torture/pr77646.c: New testcase. From-SVN: r240261
2016-09-20Replace casts with floordiv operator in Python xmethodsJonathan Wakely2-3/+8
* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division. From-SVN: r240258
2016-09-20[GCC][PATCH] Add __artificial__ attribute to Aarch64 NEON intrinsicsTamar Christina2-3333/+6644
Committed on behalf of Tamar Christina <tamar.christina@arm.com>. gcc/ * config/aarch64/arm_neon.h: Add gnu_inline and artificial attributes to all inlined functions and make them extern. From-SVN: r240256
2016-09-20debug.h (gcc_debug_hooks): Add filename parameter to early_finish hook.Richard Biener9-36/+49
2016-09-20 Richard Biener <rguenther@suse.de> * debug.h (gcc_debug_hooks): Add filename parameter to early_finish hook. * debug.c (do_nothing_debug_hooks): Adjust. * dbxout.c (dbx_debug_hooks): Likewise. * sdbout.c (sdb_debug_hooks): Likewise. * dwarf2out.c (dwarf2_lineno_debug_hooks): Likewise. (dwarf2out_finish): Move producer, filename and path annotation ... (dwarf2out_early_finish): ... here. Remove in_lto_p special-casing. * cgraphunit.c (symbol_table::finalize_compilation_unit): Adjust. lto/ * lto.c (lto_main): Call early_finish with "<artificial>" as filename. From-SVN: r240255
2016-09-20Daily bump.GCC Administrator1-1/+1
From-SVN: r240254
2016-09-19re PR c++/77434 (warn about suspicious precedence of ternary operator (?:))Bernd Edlinger9-1/+77
gcc: 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/77434 * doc/invoke.texi: Document -Wint-in-bool-context. c-family: 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/77434 * c.opt (Wcond-in-bool-context): New warning. * c-common.c (c_common_truthvalue_conversion): Warn on integer constants in boolean context. cp: 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/77434 * cvt.c (cp_convert_and_check): Suppress Wint-in-bool-context here. testsuite: 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/77434 * c-c++-common/Wint-in-bool-context.c: New test. From-SVN: r240251
2016-09-19re PR other/77421 (Bugs found in GCC with the help of PVS-Studio)Bernd Edlinger2-2/+7
2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/77421 * dwarf2out.c (output_loc_operands): Fix an assertion. From-SVN: r240250
2016-09-19Define TS 18661-1 CR_DECIMAL_DIG in <float.h>.Joseph Myers4-0/+30
TS 18661-1 defines a macro CR_DECIMAL_DIG in <float.h>, for the number of decimal digits for which conversions between decimal character strings and (IEEE) binary formats, in both directions, are correctly rounded. This patch implements support for this macro in GCC's <float.h>. The definition __UINTMAX_MAX__ is the right one for GCC's conversions of floating constants, since I made those use MPFR to make them correctly rounding. The macro also covers standard library functions such as strtod and printf. The definition is also correct for current glibc. If any targets' libcs support correct rounding in a way that conforms to TS 18661-1 with a smaller value of CR_DECIMAL_DIG, making <float.h> reflect that could not be done in isolation without changes to the interpretation of floating constants as well, since a smaller CR_DECIMAL_DIG requires double rounding of floating constants (first to CR_DECIMAL_DIG decimal digits, then to the desired binary format). Boostrapped with no regressions on x86_64-pc-linux-gnu. gcc: * ginclude/float.h [__STDC_WANT_IEC_60559_BFP_EXT__] (CR_DECIMAL_DIG): New macro. gcc/testsuite: * gcc.dg/cr-decimal-dig-1.c: New test. From-SVN: r240249
2016-09-19Make max_align_t respect _Float128.Joseph Myers13-2/+111
The _FloatN, _FloatNx, _DecimalN and _DecimalNx types are specified in such a way that they are basic types, meaning that max_align_t must be at least as aligned as those types. On 32-bit x86, max_align_t is currently 8-byte aligned, but _Decimal128 and _Float128 are 16-byte aligned, so the alignment of max_align_t needs to increase to meet the standard requirements for these types. This patch implements such an increase. Because max_align_t needs to be usable for C++ as well as for C, <stddef.h> can't actually refer to _Float128, but needs to use __float128 (or some other notation for the type) instead. And since __float128 is architecture-specific, there isn't a preprocessor conditional that means "__float128 is available" (whereas one could test __FLT128_MANT_DIG__ to see if _Float128 is available; __SIZEOF_FLOAT128__ is available on x86 only). But I believe the only case that actually has an alignment problem here is 32-bit x86, and <stddef.h> already has lots of conditional specific to particular architectures or OSes, so this patch uses a conditional on __i386__; that also is the minimal change that ensures neither size nor alignment of max_align_t is changed in any case other than where it is necessary. If any other architectures turn out to have such an issue, it will show up as failures of one of the testcases added by this patch. Such an increase is of course an ABI change, but a reasonably safe one, in that max_align_t doesn't tend to appear in library interfaces (rather, it's something to use when writing allocators and similar code; most matches found on codesearch.debian.net look like copies of the gnulib stddef.h module rather than anything actually using max_align_t at all). max_align_t_align has a corresponding change (adding _Float128 to the types considered). (I think glibc malloc alignment should also increase to 16-byte on 32-bit x86 so it works for allocating objects of these types, which is now straightforward given the fix made for 32-bit powerpc.) Bootstrapped with no regressions on x86_64-pc-linux-gnu, and spot-tested with -m32 that the new float128-align.c test now compiles where previously it didn't. gcc: * ginclude/stddef.h (max_align_t) [__i386__]: Add __float128 element. gcc/c-family: * c-common.c (max_align_t_align): Also consider alignment of float128_type_node. gcc/testsuite: * gcc.dg/float128-align.c, gcc.dg/float128x-align.c, gcc.dg/float16-align.c, gcc.dg/float32-align.c, gcc.dg/float32x-align.c, gcc.dg/float64-align.c, gcc.dg/float64x-align.c, gcc.dg/floatn-align.h: New tests. From-SVN: r240248
2016-09-19re PR rtl-optimization/77416 (LRA rematerializing use of CA reg across ↵Vladimir Makarov4-0/+61
function call) 2016-09-19 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/77416 * lra-remat.c (operand_to_remat): Process hard coded insn registers. 2016-09-19 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/77416 * gcc.target/powerpc/pr77416.c: New. From-SVN: r240247
2016-09-19Fix PR c++/77639 (ICE during error recovery)Patrick Palka4-0/+18
gcc/cp/ChangeLog: PR c++/77639 * parser.c (cp_parser_class_head): When processing_template_parmlist, don't assume that the class-head may start an explicit specialization. gcc/testsuite/ChangeLog: PR c++/77639 * g++.dg/template/error-recovery4.C: New test. From-SVN: r240245
2016-09-19libstdc++/77645 fix deque and vector xmethods for Python 3Jonathan Wakely2-3/+8
PR libstdc++/77645 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of division to int to work with Python 3. From-SVN: r240241
2016-09-19pr57558-1.c: Use unsigned int instead of unsigned long.Bin Cheng2-3/+7
gcc/testsuite * gcc.dg/vect/pr57558-1.c: Use unsigned int instead of unsigned long. From-SVN: r240239
2016-09-19[simplify-rtx] (GTU (PLUS a C) (C - 1)) --> (LTU a -C)Kyrylo Tkachov5-0/+47
* simplify-rtx.c (simplify_relational_operation_1): Add transformation (GTU (PLUS a C) (C - 1)) --> (LTU a -C). * gcc.target/aarch64/gtu_to_ltu_cmp_1.c: New test. * gcc.target/aarch64/gtu_to_ltu_cmp_2.c: New test. From-SVN: r240238
2016-09-19Make libstdc++ tests FAIL on Python errorsJonathan Wakely2-0/+8
* testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs. From-SVN: r240237
2016-09-19Fix lra_p textSegher Boessenkool3-2/+7
* target.def (lra_p): Wordsmithing. * doc/tm.texi: Regenerate. From-SVN: r240236
2016-09-19Improve pretty printer for std::variantJonathan Wakely3-12/+120
* python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow display_hint to be set by subclasses. (StdVariantPrinter): Use array for display_hint. Adjust output to be more similar to std::any and std::optional output. (register_type_printers): Add type printers for basic_string_view typedefs and experimental::any. Adjust type printers for fundamentals_v1 templates to match fundamentals_v2 and later. * testsuite/libstdc++-prettyprinters/cxx17.cc: New. From-SVN: r240234
2016-09-19libstdc++/77645 Fix xmethods for std::listJonathan Wakely2-5/+22
PR libstdc++/77645 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename argument. (ListWorkerBase.get_value_from_node): Define new method. (ListFrontWorker.__call__, ListBackWorker.__call__): Use it. From-SVN: r240233
2016-09-19re PR ipa/77587 (C compiler produces incorrect stack alignment with ↵Jakub Jelinek5-7/+62
__attribute__((weak))) PR target/77587 * cgraph.c (cgraph_node::rtl_info): Pass &avail to ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE. Call ultimate_alias_target just once, not up to 4 times. * gcc.dg/pr77587.c: New test. * gcc.dg/pr77587a.c: New file. Co-Authored-By: Jan Hubicka <jh@suse.cz> From-SVN: r240232
2016-09-19libcaf.h: Add caf_reference_type.Andre Vehreschild37-318/+4048
libgfortran/ChangeLog: 2016-09-19 Andre Vehreschild <vehre@gcc.gnu.org> * caf/libcaf.h: Add caf_reference_type. * caf/mpi.c: Adapted signature of caf_register(). * caf/single.c (struct caf_single_token): Added to keep the pointer to the memory registered and array descriptor. (caf_internal_error): Added convenience interface. (_gfortran_caf_register): Adapted to work with caf_single_token and return memory in the array descriptor. (_gfortran_caf_deregister): Same. (assign_char1_from_char4): Fixed style. (convert_type): Fixed incorrect conversion. (_gfortran_caf_get): Adapted to work with caf_single_token. (_gfortran_caf_send): Same. (_gfortran_caf_sendget): Same. (copy_data): Added to stop repeating it in all _by_ref functions. (get_for_ref): Recursive getting of coarray data using a chain of references. (_gfortran_caf_get_by_ref): Driver for computing the memory needed for the get and checking properties of the operation. (send_by_ref): Same as get_for_ref but for sending data. (_gfortran_caf_send_by_ref): Same like caf_get_by_ref but for sending. (_gfortran_caf_sendget_by_ref): Uses get_by_ref and send_by_ref to implement sendget for reference chains. (_gfortran_caf_atomic_define): Adapted to work with caf_single_token. (_gfortran_caf_atomic_ref): Likewise. (_gfortran_caf_atomic_cas): Likewise. (_gfortran_caf_atomic_op): Likewise. (_gfortran_caf_event_post): Likewise. (_gfortran_caf_event_wait): Likewise. (_gfortran_caf_event_query): Likewise. (_gfortran_caf_lock): Likewise. (_gfortran_caf_unlock): Likewise. gcc/testsuite/ChangeLog: 2016-09-19 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray/alloc_comp_4.f90: New test. * gfortran.dg/coarray_38.f90: * gfortran.dg/coarray_alloc_comp_1.f08: New test. * gfortran.dg/coarray_alloc_comp_2.f08: New test. * gfortran.dg/coarray_allocate_7.f08: New test. * gfortran.dg/coarray_allocate_8.f08: New test. * gfortran.dg/coarray_allocate_9.f08: New test. * gfortran.dg/coarray_lib_alloc_1.f90: Adapted scan-tree-dumps to expect new caf_register. * gfortran.dg/coarray_lib_alloc_2.f90: Same. * gfortran.dg/coarray_lib_alloc_3.f90: Same. * gfortran.dg/coarray_lib_comm_1.f90: Adapted scan-tree-dumps to expect get_by_refs. * gfortran.dg/coarray_lib_token_3.f90: Same as for coarray_lib_alloc2. * gfortran.dg/coarray_lock_7.f90: Same. * gfortran.dg/coarray_poly_5.f90: Same. * gfortran.dg/coarray_poly_6.f90: Same. * gfortran.dg/coarray_poly_7.f90: Same. * gfortran.dg/coarray_poly_8.f90: Same. * gfortran.dg/coindexed_1.f90: Changed errors expected. gcc/fortran/ChangeLog: 2016-09-19 Andre Vehreschild <vehre@gcc.gnu.org> * expr.c (gfc_check_assign): Added flag to control whether datatype conversion is allowed. * gfortran.h: Added caf-token-tree to gfc_component. Changed prototypes mostly to add whether datatype conversion is allowed. * gfortran.texi: Added documentation for the caf_reference_t and the caf_*_by_ref function. * primary.c (caf_variable_attr): Similar to gfc_variable_attr but focused on the needs of coarrays. (gfc_caf_attr): Same. * resolve.c (resolve_ordinary_assign): Set the conversion allowed flag when not in a coarray. * trans-array.c (gfc_array_init_size): Moved setting of array descriptor's datatype before the alloc, because caf_register needs it. (gfc_array_allocate): Changed notion of whether an array is a coarray. (gfc_array_deallocate): Same. (gfc_alloc_allocatable_for_assignment): Added setting of coarray's array descriptor datatype before the register. And using deregister/ register to mimmick a realloc for coarrays. * trans-decl.c (gfc_build_builtin_function_decls): Corrected signatures of old caf-functions and added signature definitions of the _by_ref ones. (generate_coarray_sym_init): Adapted to new caf_register signature. * trans-expr.c (gfc_conv_scalar_to_descriptor): Make sure a constant is translated to an lvalue expression before use in an array descriptor. (gfc_get_ultimate_alloc_ptr_comps_caf_token): New function. Get the last allocatable component's coarray token. (gfc_get_tree_for_caf_expr): For top-level object get the coarray token and check for unsupported features. (gfc_get_caf_token_offset): Getting the offset might procude new statements, which now are stored in the pre and post of the current se. (gfc_caf_get_image_index): For this image return a call to caf_this_image. (expr_may_alias_variables): Check that the result is set for testing its properties. (alloc_scalar_allocatable_for_assignment): Added auto allocation of coarray components. (gfc_trans_assignment_1): Rewrite an assign to a coarray object to be a sendget. * trans-intrinsic.c (conv_caf_vector_subscript_elem): Corrected wrong comment. (compute_component_offset): Compute the correct offset a structure member. (conv_expr_ref_to_caf_ref): Convert to a chain of refs into caf_references. (gfc_conv_intrinsic_caf_get): Call caf_get_by_ref instead of caf_get. (conv_caf_send): Call caf_*_by_ref for coarrays that need reallocation. (gfc_conv_intrinsic_function): Adapted to new signuature of the caf drivers. (conv_intrinsic_atomic_op): Add pre and post statements correctly. (conv_intrinsic_atomic_ref): Same. (conv_intrinsic_atomic_cas): Same. (conv_intrinsic_event_query): Same. * trans-stmt.c (gfc_trans_lock_unlock): Same. (gfc_trans_event_post_wait): Same. (gfc_trans_allocate): Support allocation of allocatable coarrays. (gfc_trans_deallocate): And there deallocation. * trans-types.c (gfc_typenode_for_spec): Added flag to control whether a component is part of coarray. When so, then add space to store a coarray token. (gfc_build_array_type): Same. (gfc_get_array_descriptor_base): Same. (gfc_get_array_type_bounds): Same. (gfc_sym_type): Same. (gfc_get_derived_type): Same. (gfc_get_caf_reference_type): Declare the caf_reference_type. * trans-types.h: Prototype changes only. * trans.c (gfc_allocate_using_lib): Use the updated caf_register signature. (gfc_allocate_allocatable): Same. (gfc_deallocate_with_status): Same. * trans.h: Defined the runtime types for caf_reference_t and the enums. From-SVN: r240231
2016-09-19re PR fortran/77584 (Unclassifiable statement error with procedure pointer ↵Fritz Reese3-30/+46
using template named "structure_") 2016-09-19 Fritz Reese <fritzoreese@gmail.com> PR fortran/77584 * gcc/fortran/decl.c (match_record_decl, gfc_match_decl_type_spec): Fixes to handling of structure/record from declaration-type-spec. * gcc/testsuite/gfortran.dg/dec_structure_15.f90: New testcase. From-SVN: r240230
2016-09-19Fix zero-length parameter bug in pex_run.Andrew Stubbs3-0/+23
2016-09-19 Andrew Stubbs <ams@codesourcery.com> libiberty/ * pex-win32.c (argv_to_cmdline): Quote zero-length parameters. libiberty/testsuite/ * test-pexecute.c (main): Insert check for zero-length parameters. From-SVN: r240229
2016-09-19dwarf2out.c (early_dwarf_finished): New global.Richard Biener4-8/+55
2016-09-16 Richard Biener <rguenther@suse.de> * dwarf2out.c (early_dwarf_finished): New global. (set_early_dwarf::set_early_dwarf): Assert early_dwarf_finished is false. (dwarf2out_early_finish): Set early_dwarf_finished at the end, if called from LTO exit early. (dwarf2out_late_global_decl): When being during the early debug phase do not add locations but only const value attributes. Adjust the way we generate early DIEs for LTO. lto/ * lto.c (lto_main): Invoke early_finish debug hook. From-SVN: r240228
2016-09-19re PR tree-optimization/77605 (wrong code at -O3 on x86_64-linux-gnu)Richard Biener4-3/+29
2016-09-19 Richard Biener <rguenther@suse.de> PR middle-end/77605 * tree-data-ref.c (analyze_subscript_affine_affine): Use the proper niter to bound the loops. * gcc.dg/torture/pr77605.c: New testcase. From-SVN: r240227
2016-09-19re PR tree-optimization/77514 (ICE in VN_INFO_GET, at tree-ssa-sccvn.c:406 ↵Richard Biener2-3/+12
w/ -O2 (and above)) 2016-09-19 Richard Biener <rguenther@suse.de> PR tree-optimization/77514 * tree-ssa-pre.c (create_expression_by_pieces): Optimize search for folded stmt. From-SVN: r240226
2016-09-19pr68078.f90: XFAIL run on DarwinLouis Krupp2-0/+5
2016-09-18 Louis Krupp <louis.krupp@zoho.com> * gfortran.dg/pr68078.f90: XFAIL run on Darwin From-SVN: r240225
2016-09-19Daily bump.GCC Administrator1-1/+1
From-SVN: r240224
2016-09-18passes.def (pass_early_thread_jumps): Schedule after forwprop.Jan Hubicka16-35/+128
* passes.def (pass_early_thread_jumps): Schedule after forwprop. * tree-pass.h (make_pass_early_thread_jumps): Declare. * tree-ssa-threadbackward.c (fsm_find_thread_path, fsm_find_thread_path, profitable_jump_thread_path, fsm_find_control_statement_thread_paths, find_jump_threads_backwards): Add speed_p parameter. (pass_data_early_thread_jumps): New pass. (make_pass_early_thread_jumps): New function. * g++.dg/predict-loop-exit-1.C: Disable early jump threading. * g++.dg/predict-loop-exit-2.C: Disable early jump threading. * g++.dg/predict-loop-exit-3.C: Disable early jump threading. * gcc.dg/tree-ssa/pr69196-1.c: Disable early jump threading. * gcc.dg/tree-ssa/vrp01.c: Disable early jump threading. * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Disable early jump threading. * gcc.dg/tree-ssa/pr68198.c: Scan ethread dump. * gcc.dg/tree-ssa/ssa-thread-13.c: Scan ethread dump. * gcc.dg/tree-ssa/vrp56.c: Scan ethread dump. * gcc.dg/tree-ssa/vrp92.c: Scan ethread dump. * gcc.dg/uninit-15.c: Swap xfailed and non-xfailed alternative. From-SVN: r240221
2016-09-18pr68633.c: Fix expected result.Kirill Yukhin2-1/+5
gcc/testsuite/ * gcc.target/i386/pr68633.c: Fix expected result. From-SVN: r240220
2016-09-18re PR fortran/68078 (segfault with allocate and stat for derived types with ↵Louis Krupp5-8/+111
default initialization) 2016-09-17 Louis Krupp <louis.krupp@gmail.com> PR fortran/68078 * gfortran.dg/pr68078.f90: New test. * gfortran.dg/set_vm_limit.c: New, called by pr68078. 2016_09_17 Louis Krupp <louis.krupp@zoho.com> PR fortran/68078 * resolve.c (resolve_allocate_expr): Check that derived type pointer, object or array has been successfully allocated before initializing. From-SVN: r240219
2016-09-18Daily bump.GCC Administrator1-1/+1
From-SVN: r240218