- 21 Aug, 2019 33 commits
-
-
2019-08-21 Richard Biener <rguenther@suse.de> PR tree-optimization/91482 * tree-ssa-ccp.c (ccp_folder::fold_stmt): Remove useless BUILT_IN_ASSUME_ALIGNED calls. * gcc.dg/tree-ssa/pr91482.c: New testcase. From-SVN: r274796
Richard Biener committed -
c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken function declarations where arguments are missing. * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken function declarations where arguments are missing. Rename variables. From-SVN: r274794
Eric Botcazou committed -
2019-08-21 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/cmse/cmse-9.c: Add quotes to expected warning messages. From-SVN: r274793
Christophe Lyon committed -
2019-08-21 Richard Biener <rguenther@suse.de> PR target/91498 PR target/91503 * config/i386/i386-features.c (general_scalar_chain::make_vector_copies): Copy stack temporary rtx when using it multiple times. (general_scalar_chain::convert_reg): Likewise. From-SVN: r274792
Richard Biener committed -
'read' system call may be interrupted by signal with 'errno' is set to EINTER. In this case, re-try a few times. 2019-08-21 Vadim Godunko <godunko@adacore.com> gcc/ada/ * libgnat/g-expect.adb (Expect_Internal): Attempt to read several times when 'read' returns non-positive. From-SVN: r274791
Vadim Godunko committed -
2019-08-21 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * einfo.adb (Is_Discriminal): Remove extra parens. (Is_Constant_Object): Simplify by reusing Ekind_In. (Is_Prival): Remove extra parens. * checks.adb, exp_ch4.adb, sem_ch3.adb, sem_spark.adb: Minor reformattings. From-SVN: r274790
Piotr Trojanek committed -
2019-08-21 Claire Dross <dross@adacore.com> gcc/ada/ * libgnat/a-cofove.ads (Vector): Add an Iterable aspect to allow iteration. (Iter_First, Iter_Next): Primitives used for iteration. From-SVN: r274789
Claire Dross committed -
GNATprove analyzer for SPARK code depends on the frontend to accurately propagate the known value of Size attribute. This was not done for formal type parameters in generic instantiations. Now fixed. There is no impact on compilation. 2019-08-21 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit RM_Size field for formal type parameters in generic instantiations. From-SVN: r274788
Yannick Moy committed -
2019-08-21 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_spark.adb: Update references to the SPARK RM. From-SVN: r274787
Yannick Moy committed -
This instructs -gnatR4 to also list the Etype of components in user-declared record types if it is compiler-generated, for example in: package P3 is type idx is range 1 .. 100; type Arr is array (Idx range <>) of Character; type Rec is record C : Arr (1 .. 5); end record; end P3; 2019-08-21 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.adb (List_Array_Info): In -gnatR4 mode, set the relevant flag on the component type here instead of... (List_Object_Info): Likewise for the object type. (List_Entities): ...here. In -gnatR4 mode, recurse into entities local to a record type. (List_Component_Layout): In -gnatR4 mode, mark the type as relevant. From-SVN: r274786
Eric Botcazou committed -
2019-08-21 Bob Duff <duff@adacore.com> gcc/ada/ * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-bitutil.o and s-biutin.o. * exp_ch5.adb (Expand_Assign_Array_Bitfield): New function to generate a call to Copy_Bitfield. This is disabled for now. (Expand_Assign_Array_Loop_Or_Bitfield): New function to decide whether to call Expand_Assign_Array_Bitfield. (Expand_Assign_Array): Call Expand_Assign_Array_Loop_Or_Bitfield instead of Expand_Assign_Array_Loop. * libgnat/s-bitfie.ads, libgnat/s-bituti.adb, libgnat/s-bituti.ads: New units. * rtsfind.ads: Add enum literals for accessing Copy_Bitfield. From-SVN: r274785
Bob Duff committed -
2019-08-21 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * bindo-graphs.ads (Iterate_Edges_To_Successors): Fix typo in pragma Inline. * bindo-graphs.adb (Delete_Edge): Fix layout in parameter list. From-SVN: r274784
Piotr Trojanek committed -
In the case of a task declaring an entry with an aliased formal parameter of a limited class-wide type, the front end was creating a master object (_master) for the access type generated for such an entry formal inside the task specification, even though such access types don't need an associated master. The master object wasn't being copied into the procedure expanded for the task body, but a renaming for the master appeared in the statements of the task body, and the LLVM back end rejects this since the master object doesn't appear in the expanded task procedure (for some reason, gigi doesn't complain). This is fixed by suppressing the creation of the master object in the case where the access-to-limited-class-wide access type is the type of a component in an entry's parameter block. This is similar to the suppression done for the master object in other cases, where the access type designates a type explicitly containing tasks (though the suppression involves testing Comes_From_Source in that case). No simple test (and this only affects the LLVM-based compiler). 2019-08-21 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * exp_ch3.adb (Build_Master): Suppress call to Build_Class_Wide_Master in the case where the access-to-limited-class-wide type was created for a component in an entry's formal parameter block (Is_Parameter_Block_Component_Type), to prevent a master from being created for such access types generated by the front end in a task spec for entry formals in a parameter block. Add a ??? about whether this suppression should be done more generally (such as by using Comes_From_Source). From-SVN: r274783
Gary Dismukes committed -
This fixes a (sub)type mismatch in the expansion of an extended return statement generated for a built-in-place function that doesn't need a BIP_Alloc_Form parameter but returns unconstrained. No functional changes. 2019-08-21 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * exp_ch6.adb (Expand_N_Extended_Return_Statement): In the case of a built-in-place function that doesn't need a BIP_Alloc_Form parameter but returns unconstrained, build the return consistently using the function's result subtype. Remove bypass added in previous change. From-SVN: r274782
Eric Botcazou committed -
It was unusual for the analysis phase of compiler to rewrite static expression of pragma Entry_Queue_Length with its value. This typically happens when expanding the AST and only if needed for a given backend. In particular, GNATprove doesn't need such an expansion and actually needs the unrewritten AST to detect references to constants declared with SPARK_Mode => Off within a code with SPARK_Mode => On. This change has no impact on compilation, so no frontend test is provided. 2019-08-21 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * sem_prag.adb (Max_Entry_Queue_Length): Do not substitute expression of the pragma argument with its value during analysis. * sem_util.adb (Get_Max_Queue_Length): Compute value of the pragma argument when needed. From-SVN: r274781
Piotr Trojanek committed -
GNATprove directly handles non-null access checks, and requires that the frontend does not insert explicit checks in the form of conditional exceptions being raised. Now fixed. There is no impact on compilation. 2019-08-21 Yannick Moy <moy@adacore.com> gcc/ada/ * checks.adb (Install_Null_Excluding_Check): Do not install check in GNATprove mode. From-SVN: r274780
Yannick Moy committed -
Ownership checking done as in GNATprove should ignore address of subprograms, as it applies only on objects. Now fixed. There is no impact on compilation. 2019-08-21 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_spark.adb (Process_Path): Do nothing on address of subprogram. From-SVN: r274779
Yannick Moy committed -
This fixes an assertion failure on the instantiation of a generic package on a type derived from the private view of a protected type, ultimately caused by Finalize_Address returning Empty for the subtype built for the generic actual type of the instantiation. Finalize_Address has a special processing for untagged derivations of private views, but it would no longer trigger for the subtype because this subtype is now represented as a subtype of an implicit derived base type instead of as the derived type of an implicit subtype previously. 2019-08-21 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * exp_util.adb (Finalize_Address): Deal consistently with subtypes of private protected types. gcc/testsuite/ * gnat.dg/prot9.adb, gnat.dg/prot9_gen.ads, gnat.dg/prot9_pkg1.ads, gnat.dg/prot9_pkg2.ads: New testcase. From-SVN: r274778
Eric Botcazou committed -
Code cleanup to improve readablity. Semantics unaffected. 2019-08-21 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * exp_util.adb (Corresponding_Runtime_Package): Use high-level Is_Protected_Type. * sem_ch8.adb (Analyze_Renamed_Entry): Likewise. * sem_ch9.adb (Analyze_Requeue): Likewise. From-SVN: r274777
Piotr Trojanek committed -
The compiler crashes processing an internally generated cloned tree that has a subprogram call with a named actual parameter. 2019-08-21 Javier Miranda <miranda@adacore.com> gcc/ada/ * sem_util.adb (Update_Named_Associations): Update First_Named_Actual when the subprogram call has a single named actual. gcc/testsuite/ * gnat.dg/implicit_param.adb, gnat.dg/implicit_param_pkg.ads: New testcase. From-SVN: r274776
Javier Miranda committed -
2019-08-21 Joel Brobecker <brobecker@adacore.com> gcc/ada/ * doc/Makefile (mk_empty_dirs): New (PHONY) rule. (%.html, %.pdf, %.txt, %.info, %.texinfo): Add dependencies on mk_empty_dirs. From-SVN: r274775
Joel Brobecker committed -
Allow values of negative one to be accepted as a valid parameter as a special case. 2019-08-21 Justin Squirek <squirek@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Modify documentation to reflect expected behavior. * gnat_rm.texi: Regenerate. * sem_prag.adb (Analyze_Pragma): Modify handling of pragma Max_Entry_Queue_Length to not reject integer values of negative one. * sem_util.adb (Get_Max_Queue_Length): Add processing for values of negative one to fit within the current scheme. From-SVN: r274774
Justin Squirek committed -
Synchronizes extern(C) bindings with latest release. Reviewed-on: https://github.com/dlang/druntime/pull/2741 libphobos/ChangeLog: * libdruntime/Makefile.am (DRUNTIME_DSOURCES_BIONIC): Add core/sys/bionic/string.d. (DRUNTIME_DSOURCES_DARWIN): Add core/sys/darwin/string.d. (DRUNTIME_DSOURCES_DRAGONFLYBSD): Add core/sys/dragonflybsd/string.d, core/sys/dragonflybsd/sys/socket.d. (DRUNTIME_DSOURCES_FREEBSD): Add core/sys/freebsd/string.d. (DRUNTIME_DSOURCES_LINUX): Add core/sys/linux/string.d. (DRUNTIME_DSOURCES_NETBSD): Add core/sys/netbsd/string.d, core/sys/netbsd/sys/featuretest.d. * libdruntime/Makefile.in: Regenerate. From-SVN: r274773
Iain Buclaw committed -
Adds extern(C) bindings for version OpenBSD. Reviewed-on: https://github.com/dlang/druntime/pull/2748 libphobos/ChangeLog: * libdruntime/Makefile.am (DRUNTIME_DSOURCES_OPENBSD): Add core/sys/openbsd/sys/cdefs.d, core/sys/openbsd/sys/elf.d, core/sys/openbsd/sys/elf32.d, core/sys/openbsd/sys/elf64.d, core/sys/openbsd/sys/elf_common.d, core/sys/openbsd/sys/link_elf.d, core/sys/openbsd/sys/mman.d, core/sys/openbsd/time.d. * libdruntime/Makefile.in: Regenerate. From-SVN: r274772
Iain Buclaw committed -
PR d/91339 d/dmd: Merge upstream dmd b37a537d3 Fixes the error: cannot find source code for runtime library file 'object.d' when the path contains '~'. Reviewed-on: https://github.com/dlang/dmd/pull/10309 From-SVN: r274771
Iain Buclaw committed -
Finishes off phobos support for musl targets. Reviewed-on: https://github.com/dlang/phobos/pull/7108 From-SVN: r274770
Iain Buclaw committed -
gcc/d/ChangeLog: PR d/88722 * modules.cc: Include diagnostic.h. (register_moduleinfo): Use sorry instead of gcc_assert for targets without named sections. From-SVN: r274769
Iain Buclaw committed -
Don't crash when compiling for 16-bit platforms. Reviewed-on: https://github.com/dlang/dmd/pull/10306 gcc/d/ChangeLog: * d-target.cc: Include diagnostic.h. (Target::_init): Set Tsize_t and Tptrdiff_t as D ushort and short if the target pointer size is 2. Add sorry if the pointer size is not either 2, 4, or 8. From-SVN: r274768
Iain Buclaw committed -
gcc/d/ChangeLog: PR d/90446 * d-lang.cc (d_type_for_mode): Check for all internal __intN types. (d_type_for_size): Likewise. From-SVN: r274767
Iain Buclaw committed -
gcc/d/ChangeLog: PR d/90445 * d-builtins.cc (d_build_c_type_nodes): Test UINTMAX_TYPE for setting uintmax_type_node. Set signed_size_type_node as the signed_type_for size_type_node. From-SVN: r274766
Iain Buclaw committed -
gcc/d/ChangeLog: PR d/90444 * d-builtins.cc (build_frontend_type): Build anonymous RECORD_TYPE nodes as well, push all fields to the struct members. (d_build_builtins_module): Push anonymous va_list structs to the builtins module, naming them __builtin_va_list. (d_init_builtins): Use sorry instead of gcc_unreachable if va_list did not succeed in being represented as a D type. From-SVN: r274765
Iain Buclaw committed -
re PR testsuite/91458 (FAIL: g++.dg/tree-ssa/pr19807.C -std=gnu++98 scan-tree-dump-times optimized "&MEM\\\\[\\\\(void .\\\\)&a \\\\+ 8B\\\\]" 3) PR testsuite/91458 gcc/testsuite/ChangeLog: * g++.dg/tree-ssa/ssa-dse-1.C: Use the same search pattern unconditionally (correcting r272199, PR middle-end/90676). * gcc.dg/tree-prof/stringop-2.c: Same. From-SVN: r274764
Martin Sebor committed -
From-SVN: r274763
GCC Administrator committed
-
- 20 Aug, 2019 7 commits
-
-
* doc/doxygen/user.cfg.in (INPUT): Remove profile mode headers. From-SVN: r274758
Jonathan Wakely committed -
* include/std/numeric (reduce): Fix Doxygen markup. From-SVN: r274757
Jonathan Wakely committed -
The x86 attributes such as ms_abi, stdcall, fastcall etc. alter the function type, which means that functions with one of those attributes do not match any of the partial specializations of std::is_function. Rather than duplicating the list for every calling convention, use a much simpler definition of std::is_function. Also redefine __is_referenceable to not rely on partial specializations for each type of referenceable function. PR libstdc++/91371 * include/std/type_traits (is_function): Simplify definition. Remove partial specializations for function types. (__is_referenceable): Simplify definition. * testsuite/20_util/bind/91371.cc: New test. * testsuite/20_util/is_function/91371.cc: New test. * testsuite/20_util/is_function/value.cc: Check more pointer types. * testsuite/20_util/is_member_function_pointer/91371.cc: New test. * testsuite/20_util/is_object/91371.cc: New test. From-SVN: r274756
Jonathan Wakely committed -
Shifting by signed types is a new language feature in Go 1.13. This requires a patch to the testsuite. Updates golang/go#19113 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/190977 * go.test/test/fixedbugs/bug073.go: Update for language changes. From-SVN: r274755
Ian Lance Taylor committed -
2019-08-20 Bernd Edlinger <bernd.edlinger@hotmail.de> * function.c (assign_parm_find_stack_rtl): Use known_eq instead of ==. From-SVN: r274751
Bernd Edlinger committed -
tree-ssa-dse.c (dse_optimize_redundant_stores): Improved check to catch more redundant zero initialization cases. 2019-08-19 Matthew Beliveau <mbelivea@redhat.com> * tree-ssa-dse.c (dse_optimize_redundant_stores): Improved check to catch more redundant zero initialization cases. (dse_dom_walker::dse_optimize_stmt): Likewise. From-SVN: r274749
Matthew Beliveau committed -
2019-08-20 Richard Biener <rguenther@suse.de> PR lto/91307 * ipa.c (cgraph_build_static_cdtor_1): Use names not recognizable by collect2 when targetm.have_ctors_dtors which avoids dragging in temporary filenames from LTO input objects. From-SVN: r274748
Richard Biener committed
-