aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-10-11decl.c (gnat_to_gnu_entity): New case to deal with the definition of named ↵Eric Botcazou4-20/+72
numbers. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_{Integer|Real}>: New case to deal with the definition of named numbers. <E_Variable>: Minor tweaks. Set DECL_IGNORED_P on the CONST_DECL if a corresponding variable is built. * gcc-interface/trans.c (gnat_to_gnu) <N_Integer_Literal>: Return error_mark_node instead of aborting on overflow for named numbers. <N_Number_Declaration>: Reuse the <N_Object_Declaration> case and deal with error_mark_node specifically. * gcc-interface/utils.c (create_var_decl): Do not set DECL_IGNORED_P on CONST_DECLs. (gnat_write_global_declarations): Output global constants. From-SVN: r276864
2019-10-11[Ada] Repair ChangeLog entriesPierre-Marie de Rodat1-1/+5659
My scripts and I unexpectedly erased gcc/ada/ChangeLog yesterday. This commit restores the ChangeLog file to its previous state and adds the entries for my commits yesterday. From-SVN: r276861
2019-10-11re PR c++/91987 (-fstrict-eval-order issues)Jakub Jelinek10-16/+177
PR c++/91987 cp/ * decl2.c (grok_array_decl): For -fstrong-eval-order, when array ref operands have been swapped and at least one operand has side-effects, revert the swapping before calling build_array_ref. * typeck.c (cp_build_array_ref): For non-ARRAY_TYPE array ref with side-effects on the index operand, if -fstrong-eval-order use save_expr around the array operand. (cp_build_binary_op): For shifts with side-effects in the second operand, wrap first operand into SAVE_EXPR and evaluate it before the shift. * semantics.c (handle_omp_array_sections_1): Temporarily disable flag_strong_eval_order during OMP_CLAUSE_REDUCTION array section processing. * cp-gimplify.c (gimplify_to_rvalue): New function. (cp_gimplify_expr): Use it. testsuite/ * g++.dg/cpp1z/eval-order6.C: New test. * g++.dg/cpp1z/eval-order7.C: New test. * g++.dg/cpp1z/eval-order8.C: New test. * c-c++-common/gomp/pr91987.c: New test. From-SVN: r276860
2019-10-11vec_promote_demote cost to 1 for non-Power7 VSX architecturesKewen Lin2-4/+10
2019-10-11 Kewen Lin <linkw@gcc.gnu.org> * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Lower vec_promote_demote cost to 1 for non-Power7 VSX architectures. From-SVN: r276859
2019-10-11Daily bump.GCC Administrator1-1/+1
From-SVN: r276858
2019-10-10Update DFP macros in float.h for C2x and TS 18661-2.Joseph Myers13-16/+512
GCC's <float.h> includes various macros for decimal floating-point types, defined if __STDC_WANT_DEC_FP__, as defined in TS 24732. TS 18661-2 and C2X make some changes to those macros. In TS 18661-2, they are to be defined if __STDC_WANT_IEC_60559_DFP_EXT__, and the *_SUBNORMAL_MIN macros are renamed to *_TRUE_MIN. In C2X, the macros are to be defined whenever DFP is supported, without needing any feature test macro to be defined. This patch updates the header accordingly. There is no existing predefined macro for whether the target supports DFP; rather than adding a new macro for that purpose, this patch changes the predefined macros used in <float.h> so that they are only defined when DFP is supported and thus can be used as conditionals; this is the same way predefined macros for _FloatN and _FloatNx types work. Although formally TR 24732 and TS 18661-2 say nothing about implementations lacking DFP support, it seems appropriate to avoid defining the macros in <float.h>, in the absence of DFP support, even if the respective feature test macros are defined. Bootstrapped with no regressions on x86_64-pc-linux-gnu. Also tested the c2x-float-no-dfp-* tests for aarch64-linux-gnu to make sure they do pass in a no-DFP configuration. gcc: * ginclude/float.h [!__DEC32_MANT_DIG__]: Do not define DFP macros. [__STDC_WANT_IEC_60559_DFP_EXT__ || __STDC_VERSION__ > 201710L]: Also define DFP macros for these conditions. [!__STDC_WANT_DEC_FP__] (DEC32_SUBNORMAL_MIN, DEC64_SUBNORMAL_MIN, DEC128_SUBNORMAL_MIN): Do not define. [__STDC_WANT_IEC_60559_DFP_EXT__ || __STDC_VERSION__ > 201710L] (DEC32_TRUE_MIN, DEC64_TRUE_MIN, DEC128_TRUE_MIN): New macros. gcc/c-family: * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP types if DFP not supported. gcc/testsuite: * gcc.dg/c11-float-dfp-1.c, gcc.dg/c2x-float-no-dfp-1.c, gcc.dg/c2x-float-no-dfp-2.c, gcc.dg/dfp/c2x-float-dfp-1.c, gcc.dg/dfp/c2x-float-dfp-2.c, gcc.dg/dfp/c2x-float-dfp-3.c, gcc.dg/dfp/tr24732-float-dfp-1.c, gcc.dg/dfp/ts18661-2-float-dfp-1.c: New tests. From-SVN: r276854
2019-10-10re PR middle-end/26241 (None of the IPA passes are documented in passes.texi)Xiong Hu Luo3-4/+285
2019-10-10 Xiong Hu Luo <luoxhu@linux.ibm.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ PR middle-end/26241 * doc/lto.texi (IPA): Reference to the IPA passes. * doc/passes.texi (Pass manager): Add node IPA passes and description for each IPA pass. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r276851
2019-10-10ipa-reference.c: Do not include splay-tree.hJan Hubicka2-18/+22
* ipa-reference.c: Do not include splay-tree.h (reference_vars_to_consider): Turn to hash map. (get_static_name, ipa_init, analyze_function, propagate, stream_out_bitmap, ipa_reference_write_optimization_summary, ipa_reference_write_optimization_summary): Update. From-SVN: r276850
2019-10-10* ipa-reference.c (propagate): Fix releasing of IPA summaries.Jan Hubicka2-2/+5
From-SVN: r276849
2019-10-10[Darwin, machopic 4/n] Arrange to indirect IVARs when needed.Iain Sandoe2-0/+16
Objective C V2 (m64) IVAR offset refs from Apple GCC-4.x have an indirection for m64 code on PPC (which is the only 64b user for Mach-O PIC). Apple GCC 4.x places the indirections in the .data section, however this seems to have been unintentional - and we are placing the indirections in the non-lazy symbol pointers section. gcc/ChangeLog: 2019-10-10 Iain Sandoe <iain@sandoe.co.uk> * config/darwin.c: Lookup Objective C metadata and force indirection for IVAR refs. From-SVN: r276848
2019-10-10[Objective-C, NeXT ABI] Identify V2 IVAR refs by metadata.Iain Sandoe3-2/+17
For the NeXT 64b ABI, IVAR refs are supposed to be indirected for Mach-O PIC. Identify them so that we can act as needed. gcc/objc/ChangeLog: 2019-10-10 Iain Sandoe <iain@sandoe.co.uk> * objc-next-metadata-tags.h (OCTI_RT_META_IVAR_REF): New. (meta_ivar_ref): New. * objc-next-runtime-abi-02.c (next_runtime_abi_02_init_metadata_attributes): Create the IVAR ref metadata identifier. (ivar_offset_ref): Tag IVAR refs with specific metadata. From-SVN: r276847
2019-10-10Add check for prefixed addresses.Michael Meissner2-3/+52
2019-10-10 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.c (quad_address_p): Add check for prefixed addresses. (mem_operand_gpr): Add check for prefixed addresses. (mem_operand_ds_form): Add check for prefixed addresses. (rs6000_legitimate_offset_address_p): If we support prefixed addresses, check for a 34-bit offset instead of 16-bit. (rs6000_legitimate_address_p): Add check for prefixed addresses. Do not allow load/store with update if the address is prefixed. (rs6000_mode_dependent_address): If we support prefixed addresses, check for a 34-bit offset instead of 16-bit. From-SVN: r276846
2019-10-10Documentation hyperlinks for [-Wname-of-option] (PR 87488)David Malcolm18-6/+140
This patch uses the support for pretty-printing escaped URLs added in the previous patch (PR 87488) so that in a sufficiently capable terminal the [-Wname-of-option] emitted at the end of each diagnostic becomes a hyperlink to the documentation for that option on the GCC website. I've tested it with Fedora 30's GNOME Terminal (3.32.2 with VTE 0.56.3); the option text is printed with a dotted underline, hovering shows the URL, and on right-clicking it offers menu items to visit/copy the URL. gcc/ChangeLog: PR 87488 * Makefile.in (CFLAGS-opts.o): Pass in DOCUMENTATION_ROOT_URL via -D. * configure.ac (--with-documentation-root-url): New option. * configure: Regenerate. * diagnostic-format-json.cc (json_end_diagnostic): If there is an option URL, add it as a new string field of the diagnostic option. * diagnostic.c (diagnostic_initialize): Initialize get_option_url. (print_option_information): If get_option_url is non-NULL, call it, and if the result is non-NULL, potentially emit an escape sequence to markup the option text with the resulting URL. * diagnostic.h (diagnostic_context::get_option_url): New callback. * doc/invoke.texi (-fdiagnostics-format=): Add "option_url" to example of JSON output. * opts-diagnostic.h (get_option_url): New decl. * opts.c (get_option_url): New function. * toplev.c (general_init): Initialize the get_option_url callback. gcc/testsuite/ChangeLog: PR 87488 * c-c++-common/diagnostic-format-json-2.c: Expect an "option_url" field. * c-c++-common/diagnostic-format-json-3.c: Likewise. * gfortran.dg/diagnostic-format-json-2.F90: Likewise. * gfortran.dg/diagnostic-format-json-3.F90: Likewise. * jit.dg/test-error-array-bounds.c (create_code): Ensure that error messages don't contain escaped URLs. From-SVN: r276843
2019-10-10[PATCH 1/3] S/390: Do not use signaling vector comparisons on z13Ilya Leoshkevich2-1/+28
z13 supports only non-signaling vector comparisons. This means we cannot vectorize LT, LE, GT, GE and LTGT when compiling for z13. Notify middle-end about this by using more restrictive operator predicate in vcond<V_HW:mode><V_HW2:mode>. gcc/ChangeLog: 2019-10-10 Ilya Leoshkevich <iii@linux.ibm.com> PR target/77918 * config/s390/vector.md (vcond_comparison_operator): New predicate. (vcond<V_HW:mode><V_HW2:mode>): Use vcond_comparison_operator. From-SVN: r276842
2019-10-10pretty-print: support URL escape sequences (PR 87488)David Malcolm14-2/+218
https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda describes an emerging standard for embedding URLs in escape sequences for marking up text output. This is supported e.g. by recent releases of GNOME Terminal. This patch adds support to our pretty-printing framework for emitting URLs. A followup patch uses this to add URLs to the pertinent documentation for the output of -fdiagnostics-show-option. gcc/ChangeLog: PR 87488 * common.opt (fdiagnostics-urls=): New option. (diagnostic-url.h): Add SourceInclude. (diagnostic_url_rule): New enum. * diagnostic-color.c: Include "diagnostic-url.h". (diagnostic_urls_enabled_p): New function. * diagnostic-url.h: New file. * diagnostic.c: Include "diagnostic-url.h". (diagnostic_urls_init): New function. * diagnostic.h (diagnostic_urls_init): New decl. * doc/invoke.texi (Diagnostic Message Formatting Options): Add -fdiagnostics-urls to the list. (-fdiagnostics-urls): New option. * gcc.c (driver_handle_option): Handle OPT_fdiagnostics_urls_. (driver::global_initializations): Call diagnostic_urls_init. * opts-global.c (init_options_once): Likewise. * opts.c (common_handle_option): Handle OPT_fdiagnostics_urls_. * pretty-print.c (pretty_printer::pretty_printer): Initialize show_urls. (pp_begin_url): New function. (pp_end_url): New function. (selftest::test_urls): New selftest. (selftest::pretty_print_c_tests): Call it. * pretty-print.h (pretty_printer::show_urls): New field. (pp_begin_url): New decl. (pp_end_url): New decl. gcc/testsuite/ChangeLog: PR 87488 * lib/prune.exp (TEST_ALWAYS_FLAGS): Add -fdiagnostics-urls=never. From-SVN: r276841
2019-10-10PR libstdc++/91057 fix bootstrap failure on powerpcJonathan Wakely2-1/+8
PR libstdc++/91057 * src/c++98/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (find_ldbl_sync_facet): Fix parameter type and missing return. From-SVN: r276840
2019-10-10re PR target/92022 (ICE in alpha_handle_trap_shadows, at ↵Uros Bizjak4-0/+26
config/alpha/alpha.c:8847) PR target/92022 * config/alpha/alpha.c (alpha_handle_trap_shadows): Skip DEBUG_INSN. testsuite/ChangeLog: PR target/92022 * g++.dg/pr92022.C: New test. From-SVN: r276839
2019-10-10[Ada] Handling up-level references in loops within library-level declarationsGary Dismukes2-3/+97
2019-10-10 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * exp_ch7.adb (Check_Unnesting_In_Decls_Or_Stmts): When encountering a loop at the top level of a package declaration list (that is, within the declarations of a package spec or body) that has nested subprograms, call Unnest_Loop to create a new library-level procedure that will contain the loop, to allow for proper handling of up-level references from within nested subprograms, such as to loop parameters. (Unnest_Loop): New procedure that takes a loop statement and creates a new procedure body to enclose the loop statement, along with generating a call to the procedure. From-SVN: r276836
2019-10-10[Ada] Ensure constructor is a C++ constructorArnaud Charlet2-3/+4
2019-10-10 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * freeze.adb (Freeze_Subprogram): Ensure constructor is a C++ constructor. From-SVN: r276835
2019-10-10[Ada] Add pragma Preelaborable_Initialization to Stream_IO.File_TypeGary Dismukes2-3/+4
2019-10-10 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * libgnat/a-ststio.ads (File_Type): Apply pragma Preelaborable_Initialization to the type. From-SVN: r276834
2019-10-10[Ada] Fix inlining of subprograms with deep param/result in GNATproveYannick Moy2-4/+17
2019-10-10 Yannick Moy <moy@adacore.com> gcc/ada/ * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not peek under private types whose completion is SPARK_Mode Off. From-SVN: r276833
2019-10-10[Ada] Various minor typo fixesGary Dismukes9-21/+22
2019-10-10 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * exp_ch4.adb, sem_cat.adb, sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_prag.adb, sem_util.adb, sem_util.ads: Minor typo fixes. From-SVN: r276832
2019-10-10[Ada] Spurious warning on call with out parameter in expression functionEd Schonberg2-7/+9
2019-10-10 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_warn.adb (Warn_On_Useless_Assignment): Do not warn if the second assignment is at the same source position as the first. From-SVN: r276831
2019-10-10[Ada] Unnesting issues with entry families and accept statementsGary Dismukes3-11/+20
2019-10-10 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * sem_util.adb (Enclosing_Subprogram): Handle the case of E_Entry_Family, returning the entry family's associated Protected_Body_Subprogram (as was already done for E_Entry). * exp_ch9.adb (Expand_N_Accept_Statement): Call Reset_Scopes_To on the block created for an accept statement to reset the scopes of any local entities to the block scope. From-SVN: r276830
2019-10-10[Ada] Spurious visibility error on formal package with Abstract_StateEd Schonberg2-4/+43
2019-10-10 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch12.adb (Analyze_Formal_Package_Declaration): Propagate an aspect specification for Abstract_State from generic package to formal package, so that it is available when analyzing the constructed formal. From-SVN: r276829
2019-10-10[Ada] Fix awkward placement of freeze node for actual subtypeEric Botcazou2-11/+4
2019-10-10 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_ch6.adb (Set_Actual_Subtypes): Put the freeze node of the actual subtype after its declaration when the type of the formal has a predicate. From-SVN: r276828
2019-10-10[Ada] Get rid of spurious error for _Tag on extension with reverse bit orderEric Botcazou2-25/+44
2019-10-10 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Do not use the Esize of the component to compute its layout, but only the Component_Clause. Do not issue a warning for the _Tag component. Also set the Esize of the component at the end of the layout. (Analyze_Record_Representation_Clause): Remove Hbit local variable. Lay out the Original_Record_Component only if it's distinct from the component. (Check_Record_Representation_Clause): Fix off-by-one bug for the Last_Bit of the artificial clause built for the _Tag component. From-SVN: r276827
2019-10-10[Ada] Debug procedure for printing ancestorsBob Duff3-5/+13
2019-10-10 Bob Duff <duff@adacore.com> gcc/ada/ * treepr.ads, treepr.adb (ppar): New procedure. From-SVN: r276826
2019-10-10[Ada] 'others' in conditional_expressionsBob Duff6-28/+135
2019-10-10 Bob Duff <duff@adacore.com> gcc/ada/ * sem_aggr.adb (Resolve_Aggregate): Add missing cases in the Others_Allowed => True case -- N_Case_Expression_Alternative and N_If_Expression. Use Nkind_In. * atree.adb, atree.ads, sinfo.adb, sinfo.ads (Nkind_In): New 16-parameter version. From-SVN: r276824
2019-10-10[Ada] Missing Predicated_Parent link on array ItypeEd Schonberg2-5/+13
2019-10-10 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_aggr.adb (Resolve_Array_Aggregate): Set properly the Predicated_Parent link of an itype created for an aggregate, so that the predicate_function of the parent can support proofs on the object that it initializes. From-SVN: r276823
2019-10-10[Ada] Plug minor loophole for integer named numberEric Botcazou2-4/+6
2019-10-10 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_ch3.adb (Analyze_Number_Declaration): Set Debug_Info_Needed in the case where the expression is an integer literal. From-SVN: r276822
2019-10-10[Ada] Do not inline subprograms with deep parameter/result in GNATproveYannick Moy2-3/+116
2019-10-10 Yannick Moy <moy@adacore.com> gcc/ada/ * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add subprograms with deep parameter or result type as not candidates for inlining. From-SVN: r276821
2019-10-10[Ada] Define default value for Process fieldVadim Godunko2-5/+4
2019-10-10 Vadim Godunko <godunko@adacore.com> gcc/ada/ * libgnat/g-exptty.ads (TTY_Process_Descriptor): Set default value for Process. From-SVN: r276820
2019-10-10[Ada] T'Size in pragma Compile_Time_ErrorBob Duff2-4/+12
2019-10-10 Bob Duff <duff@adacore.com> gcc/ada/ * sem_prag.adb (Defer_Compile_Time_Warning_Error_To_BE): In addition to saving the pragma for further processing, copy the pragma into the main unit if necessary. From-SVN: r276819
2019-10-10[Ada] Assertion_Policy (Ignore) ignores invariantsBob Duff5-10/+49
2019-10-10 Bob Duff <duff@adacore.com> gcc/ada/ * einfo.ads, einfo.adb (Invariants_Ignored): New flag on types. This leaves just one unused flag. * sem_prag.adb (Invariant): Set the flag if appropriate. * exp_util.adb (Make_Invariant_Call): Check the flag. From-SVN: r276818
2019-10-10[Ada] Fix handling of -gnatceg on incomplete unitArnaud Charlet2-43/+19
2019-10-10 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * gnat1drv.adb (Gnat1drv): Skip code generation when handling an incomplete unit with -gnatceg. From-SVN: r276817
2019-10-10[Ada] Generation of procedures for blocks occurring in elaboration code for LLVMGary Dismukes2-161/+269
2019-10-10 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * exp_ch7.adb (Check_Unnesting_Elaboration_Code): Various cleanups. (Set_Elab_Proc): New procedure to create the defining identifier for a procedure created to encapsulate top-level blocks occurring as a part of library package elaboration. (First_Local_Scope): Function replaced by Reset_Scopes_To_Elab_Proc. (Reset_Scopes_To_Elab_Proc): New recursive procedure based on First_Local_Scope, which it replaces, that is called to traverse the statements of a library package body to locate top-level blocks and determine whether they contain nested subprograms that might address library-level objects of the package. Such blocks (and loops) and certain top-level subprograms within the statements will have their Scope reset here to match an encapsulating procedure created by Check_Unnesting_Elaboration_Code that will contain the statements. (Check_Unnesting_In_Decls_Or_Stmts): Code for handling blocks factored out into Unnest_Block. Add handling for package declarations and bodies, making recursive calls for visible/private declarations, body declarations, statements, and exception handlers. Also remove test for Is_Compilation_Unit: caller tests for Is_Library_Level_Entity instead. Also, this proc's name was changed from Check_Unnesting_In_Declarations. (Check_Unnesting_In_Handlers): New procedure to traverse a sequence of exception handlers, calling Check_Unnesting_In_Decls_Or_Stmts on the statements of each handler. (Expand_N_Package_Body): Call Check_Unnesting_* routines only when Unnest_Subprogram_Mode is set and the current scope is a library-level entity (which includes packages and instantiations nested directly within a library unit). (Expand_N_Package_Declaration): Call Check_Unnesting_* routines only when Unnest_Subprogram_Mode is set and the current scope is a library-level entity (which includes packages and instantiations nested directly within a library unit). (Unnest_Block): New procedure factored out of Check_Unnesting_In_Decls_Or_Stmts, for creating a new procedure to replace a block statement and resetting the Scope fields of the block's top-level entities. From-SVN: r276816
2019-10-10[Ada] Mention GNAT Studio instead of GPSAnthony Leonardo Gracio17-45/+54
2019-10-10 Anthony Leonardo Gracio <leonardo@adacore.com> gcc/ada/ * doc/gnat_ugn/about_this_guide.rst, doc/gnat_ugn/building_executable_programs_with_gnat.rst, doc/gnat_ugn/getting_started_with_gnat.rst, doc/gnat_ugn/gnat_and_program_execution.rst, errout.ads, exp_ch3.adb, gnatls.adb, impunit.adb, lib-writ.ads, opt.ads, sem_ch7.adb, sem_prag.adb, sem_res.adb, sem_warn.adb, terminals.c: Replace GPS by GNAT Studio. * gnat_ugn.texi: Regenerate. From-SVN: r276815
2019-10-10[Ada] Spurious restriction violation on Ghost codeEd Schonberg2-15/+11
2019-10-10 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * exp_ch6.adb (Expand_Simple_Function_Return_Statement): If the function to which the return statement applies is an Ignored_Ghost_Function, do not indicate that it uses the secondary stack when the return type is unconstrained. From-SVN: r276814
2019-10-10[Ada] Replace in Ordered_Maps gets tampering failureBob Duff23-100/+109
2019-10-10 Bob Duff <duff@adacore.com> gcc/ada/ * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb, libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb, libgnat/a-cborma.adb, libgnat/a-cborse.adb, libgnat/a-cdlili.adb, libgnat/a-cidlli.adb, libgnat/a-cihama.adb, libgnat/a-cihase.adb, libgnat/a-cimutr.adb, libgnat/a-ciorma.adb, libgnat/a-ciorse.adb, libgnat/a-cobove.adb, libgnat/a-cohama.adb, libgnat/a-cohase.adb, libgnat/a-coinve.adb, libgnat/a-comutr.adb, libgnat/a-conhel.adb, libgnat/a-convec.adb, libgnat/a-coorma.adb, libgnat/a-coorse.adb (Reference, Constant_Reference): Use Busy instead of Lock, so we forbid tampering with cursors, rather than tampering with elements. From-SVN: r276813
2019-10-10[Ada] Spurious visibility error in predicate in generic instanceEd Schonberg2-12/+14
2019-10-10 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_cat.adb (Set_Categorization_From_Pragma): Do not modify any visibility settings if there are no compilation_unit pragmas following the package declaration. Add comments for future cleanup. From-SVN: r276812
2019-10-10[Ada] Flag Sec_Stack_Used incorrectly set by ghost codePatrick Bernardi3-82/+97
2019-10-10 Patrick Bernardi <bernardi@adacore.com> gcc/ada/ * bindgen.adb (System_Secondary_Stack_Package_In_Closure): Renamed flag System_Secondary_Stack_Used to be clearer of what it represents. (Gen_Adainit): Refactor secondary stack related code to make it clearer. * rtsfind.adb (Load_RTU): Don't set Sec_Stack_Used flag here (RTE): Set Sec_Stack_Used if the System.Secondary_Stack is referenced, but not if we're ignoring ghost code. From-SVN: r276811
2019-10-10[Ada] Use declared type for deciding on SPARK pointer rulesPiotr Trojanek2-5442/+5
2019-10-10 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * sem_prag.adb (Analyze_Global_In_Decl_Part): Simplify previous test, just like in a recent commit we simplified a similar test for Depends contract. From-SVN: r276810
2019-10-10re PR target/88630 (Incorrect float negating together with convertion to int ↵Oleg Endo4-16/+106
on ST-40) gcc/ PR target/88630 * config/sh/sh.h (TARGET_FPU_SH4_300): New macro. * config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns also for TARGET_FPU_SH4_300. (sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of TARGET_SH4_300. * config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition. (negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr. (*negsf2_i): Split into ... (negsf2_fpscr, negsf2_no_fpscr): ... these new patterns. (abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc. (**abssf2_i): Split into ... (abssf2_fpscr, abssf2_no_fpscr): ... these new patterns. (negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr. (*negdf2_i): Split into ... (negdf2_fpscr, negdf2_no_fpscr): ... these new patterns. (absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc. (**abssf2_i): Split into ... (absdf2_fpscr, absdf2_no_fpscr): ... these new patterns. From-SVN: r276809
2019-10-10Make comp_ptr_ttypes_real return bool.Marek Polacek2-7/+12
comp_ptr_ttypes_real could use bool instead of int since it only returns 0 or 1. * typeck.c (comp_ptr_ttypes_real): Change the return type to bool. Use false instead of 0. From-SVN: r276808
2019-10-10re PR middle-end/92046 (Command line options (that are per-functions) are ↵Richard Biener4-28/+30
affecting --params which are global.) 2019-10-10 Richard Biener <rguenther@suse.de> PR middle-end/92046 * opts.c (finish_options): Do not influence global --params from options that are adjustable per function. * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Apply --param adjustment based on active cost-model. * tree-ssa-phiopt.c (cond_if_else_store_replacement): Disable further store-sinking when vectorization or if-conversion are not enabled. From-SVN: r276807
2019-10-10re PR middle-end/92037 (LTO bootstrap broken in selftests)Jan Hubicka4-8/+26
PR middle-end/92037 * cgraph.c (symbol_table_test::symbol_table_test): Use ggc_alloc rather than ggc_alloc_cleared to alloc symbol table. * toplev.c (general_init): Likewise. * cgraph.h (symbol_table): Explicitly construct every field. From-SVN: r276804
2019-10-10lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs.Richard Biener2-1/+7
2019-10-10 Richard Biener <rguenther@suse.de> * lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs. From-SVN: r276796
2019-10-10S/390: Add support for z15 as CPU name.Andreas Krebbel14-117/+169
So far z15 was identified as arch13. After the machine has been announced we can now add the real name. gcc/ChangeLog: 2019-10-10 Andreas Krebbel <krebbel@linux.ibm.com> * common/config/s390/s390-common.c (PF_ARCH13): Rename to... (PF_Z15): ... this. * config.gcc: Add z15 as option for --with-arch and --with-tune configure switches. * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Add error reporting for unsupported builtins. * config/s390/s390-opts.h (enum processor_type): Rename PROCESSOR_8561_ARCH13 to PROCESSOR_8561_Z15. * config/s390/8561.md: Rename arch13 to z15 throughout the file. * config/s390/driver-native.c (s390_host_detect_local_cpu): Likewise. * config/s390/s390-builtins.def: Likewise. * config/s390/s390.c (processor_table): Add z15 as option and keep arch13 as alternative. (s390_expand_builtin): Add missing check for unsupported builtins. (s390_canonicalize_comparison): Rename TARGET_ARCH13 to TARGET_Z15. (s390_rtx_costs): Likewise. (s390_get_sched_attrmask): Rename arch13 to z15. (s390_get_unit_mask): Likewise. (s390_is_fpd): Likewise. (s390_is_fxd): Likewise. * config/s390/s390.h (enum processor_flags): Likewise. * config/s390/s390.md: Likewise. * config/s390/vector.md: Likewise. * config/s390/vx-builtins.md: Likewise. * config/s390/s390.opt: Add z15 to processor_type value. From-SVN: r276792
2019-10-10[Fortran, OpenMP] Actually pass use_device_addr on to the middle endTobias Burnus2-0/+8
* trans-openmp.c (gfc_trans_omp_clauses): Actually pass use_device_addr on to the middle end. From-SVN: r276791