Age | Commit message (Collapse) | Author | Files | Lines |
|
2020-06-09 Ghjuvan Lacambre <lacambre@adacore.com>
gcc/ada/
* sem_res.adb (Resolve_Qualified_Expression): Use Subtype_Mark
type.
|
|
2020-06-09 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* exp_aggr.adb (Max_Aggregate_Size): New function to factorize
code.
(Convert_To_Positional, Aggr_Size_OK): Use Max_Aggregate_Size.
|
|
2020-06-09 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_util.ads, sem_util.adb (Set_Debug_Info_Defining_Id): New.
* exp_ch3.adb, exp_ch8.adb: Call Set_Debug_Info_Defining_Id when
relevant.
|
|
2020-06-09 Justin Squirek <squirek@adacore.com>
gcc/ada/
* einfo.ads (Returns_By_Ref): Modify documentation to reflect
that Returns_By_Ref can be applied to E_Subprogram_Type
entities.
|
|
2020-06-09 Justin Squirek <squirek@adacore.com>
gcc/ada/
* exp_attr.adb (Expand_N_Attribute_Reference): Modify expansion
of 'Overlaps_Storage to take into account zero sized arrays.
|
|
2020-06-09 Bob Duff <duff@adacore.com>
gcc/ada/
* bindo-graphs.adb, bindo-graphs.ads: For each invocation graph,
record the corresponding library graph.
* bindo-writers.adb (Write_Invocation_Graph_Vertex): Print the
lib item name. Remove library graph parameters.
* bindo-augmentors.adb, bindo-augmentors.ads,
bindo-builders.adb, bindo-diagnostics.adb,
bindo-diagnostics.ads, bindo-elaborators.adb: Remove library
graph parameters.
|
|
2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* checks.adb (Apply_Predicate_Check): Extend trick used for
aggregates to qualified aggregates and object declarations
* einfo.ads (Has_Own_DIC): Mention the underlying full view.
(Has_Own_Invariants): Likewise.
(Has_Predicates): Likewise.
* exp_util.adb (Build_DIC_Procedure_Declaration): Do not deal
with base types explicitly but with underlying full views.
(Build_Invariant_Procedure_Declaration): Likewise.
* sem_ch13.adb (Build_Predicate_Functions): Do not deal with
the full view manually but call Propagate_Predicate_Attributes
to propagate attributes to views.
(Build_Predicate_Function_Declaration): Likewise.
* sem_ch3.adb (Build_Assertion_Bodies_For_Type): Build bodies
for private full views with an underlying full view.
(Build_Derived_Private_Type): Small comment tweak.
(Complete_Private_Subtype): Call Propagate_Predicate_Attributes.
(Process_Full_View): Do not deal with base types explicitly for
DIC and Invariant attributes. Deal with underlying full views
for them. Call Propagate_Predicate_Attributes and deal with
underlying full views for them.
* sem_ch7.adb (Preserve_Full_Attributes): Do not cross propagate
DIC and Invariant attributes between full type and its base type.
Propagate Predicate attributes from the full to the private view.
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Likewise.
(Analyze_Task_Type_Declaration): Likewise.
* sem_util.ads (Get_Views): Remove Full_Base parameter and add
UFull_Typ parameter.
(Propagate_Predicate_Attributes): New procedure.
* sem_util.adb (Get_Views): Remove Full_Base parameter and add
UFull_Typ parameter. Retrieve the Corresponding_Record_Type
from the underlying full view, if any.
(Propagate_DIC_Attributes): Remove useless tests.
(Propagate_Invariant_Attributes): Likewise.
(Propagate_Predicate_Attributes): New procedure.
|
|
2020-06-09 Justin Squirek <squirek@adacore.com>
gcc/ada/
* exp_ch5.adb (Expand_Predicated_Loop): Perserve the original
loop identifier within the expansion.
|
|
2020-06-09 Bob Duff <duff@adacore.com>
gcc/ada/
* bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder enumerals
to reflect the order of adding edges. Clarify comments.
* bindo-graphs.adb (Add_Edge_Kind_Check): Correct the
assertions. Reorder the "when"s to match the order of adding
edges, and therefore the order of enumerals in type
Library_Graph_Edge_Kind. Change names to "Old_" and "New_" to
clarify what's what. Combine Invocation_Edge into the "<="
test. Fix the "raise Program_Error" message, which was
backwards.
|
|
2020-06-09 Bob Duff <duff@adacore.com>
gcc/ada/
* bindo-graphs.adb (Add_Edge_Kind_Check): Add the Image of the
old and new Kinds to the raise Program_Error message.
|
|
2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* sem_ch3.adb (Is_Visible_Component): Do not special-case
bodies of instances.
|
|
2020-06-09 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* exp_ch4.adb (Expand_N_In): Fix handling of null exclusion.
|
|
2020-06-09 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require
exact match between formal and actual for aspects Atomic,
Atomic_Component, Volatile, and Volatile_Components.
|
|
2020-06-09 Bob Duff <duff@adacore.com>
gcc/ada/
* doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
the --no-separate-return switch of gnatpp.
|
|
2020-06-09 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_warn.adb (Warn_On_Constant_Valid_Condition): Add proper
warning tag.
|
|
2020-06-09 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_type.adb (Covers): Fix implementation of AI05-0149.
* sem_res.adb: Fix typo.
|
|
2020-06-09 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* exp_ch9.adb (Build_Master_Renaming): Make name in renaming
declaration unique by adding a numeric suffix, to prevent
accidental name conflict when several instantiations of a
package containing an access_to_incomplete type that designate
tasks appear in the same scope.
|
|
2020-06-09 Piotr Trojanek <trojanek@adacore.com>
gcc/ada/
* libgnarl/a-synbar.ads, libgnarl/a-synbar.adb,
libgnarl/a-synbar__posix.ads, libgnarl/a-synbar__posix.adb
(Ada.Synchronous_Barriers): Annotate with SPARK_Mode => Off.
|
|
2020-06-09 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_eval.adb (Eval_Relational_Op, Eval_String_Literal,
Eval_Type_Conversion): Relax rules on relational operators and
type conversions of static string types.
|
|
2020-06-09 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type):
Take Default_Value and Default_Component_Value into account.
* sem_ch3.adb (Analyze_Object_Declaration): Update comment.
|
|
2020-06-09 Bob Duff <duff@adacore.com>
gcc/ada/
* bindo-graphs.adb (Add_Edge_Kind_Check): Disable failing part
of the assertion.
|
|
The C FE in the MEM_REF printing ICEs if the type of the first argument
(which due to useless pointer conversions can be an arbitrary type) is a
pointer to an incomplete type. The code just wants to avoid printing a cast
if it is a pointer to single byte elements.
2020-06-09 Jakub Jelinek <jakub@redhat.com>
PR c/95580
* c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
case when MEM_REF's first argument has type pointer to incomplete type.
* gcc.dg/pr95580.c: New test.
|
|
The following patch implements various optimizations of __builtin_ffs*
against constants.
2020-06-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/95527
* match.pd (__builtin_ffs (X) cmp CST): New optimizations.
* gcc.dg/tree-ssa/pr95527.c: New test.
|
|
2020-06-09 Jakub Jelinek <jakub@redhat.com>
* g++.dg/torture/pr95493.C: Add -Wno-psabi -w to dg-additional-options.
|
|
We do this by discarding impossible ranges from the incoming LHS.
|
|
Rewrite uw_install_context without function calls to avoid register
spilling in _Unwind_RaiseException during return context installation.
2020-06-08 Max Filippov <jcmvbkbc@gmail.com>
gcc/testsuite/
* g++.target/xtensa/pr95571.C: New test.
* g++.target/xtensa/xtensa.exp: New testsuite.
libgcc/
* config/xtensa/unwind-dw2-xtensa.c (uw_install_context): Merge
with uw_install_context_1.
|
|
Some testcases failed (esp. with --with-cpu=power9) after my change to
prefer xxperm over vperm when all else is equal. Fix that. (This also
tightens the relevant REs somewhat).
2020-06-09 Segher Boessenkool <segher@kernel.crashing.org>
gcc/testsuite/
* gcc.target/powerpc/fold-vec-perm-char.c: Allow both vperm/vpermr and
xxperm/xxpermr.
* gcc.target/powerpc/fold-vec-perm-double.c: Ditto.
* gcc.target/powerpc/fold-vec-perm-float.c: Ditto.
* gcc.target/powerpc/fold-vec-perm-int.c: Ditto.
* gcc.target/powerpc/fold-vec-perm-longlong.c: Ditto.
* gcc.target/powerpc/fold-vec-perm-pixel.c: Ditto.
* gcc.target/powerpc/fold-vec-perm-short.c: Ditto.
* gcc.target/powerpc/lvsl-lvsr.c: Ditto.
* gcc.target/powerpc/vec-mult-char-2.c: Ditto.
* gcc.target/powerpc/vsx-vector-6.p9.c: Also allow xxpermr.
|
|
|
|
gcc/ChangeLog:
PR lto/94848
PR middle-end/95551
* omp-offload.c (add_decls_addresses_to_decl_constructor,
omp_finish_file): Skip removed items.
* lto-cgraph.c (output_offload_tables): Likewise; set force_output
to this node for variables and functions.
libgomp/ChangeLog:
PR lto/94848
PR middle-end/95551
* testsuite/libgomp.fortran/target-var.f90: New test.
|
|
Previously I had AX_CXX_COMPILE_STDCXX in the gcc directory configure, which
added -std=c++11 to CXX if needed, but then CXX is overridden from the
toplevel directory, so it didn't have the desired effect. Fixed by moving
the check to the toplevel. Currently it is only used when building GCC
without bootstrapping; other packages that share the toplevel directory
can adjust the condition if they also want to require C++11 support.
/ChangeLog:
* configure.ac: Check AX_CXX_COMPILE_STDCXX if not bootstrapping.
* configure: Regenerate.
gcc/ChangeLog:
* aclocal.m4: Remove ax_cxx_compile_stdcxx.m4.
* configure.ac: Remove AX_CXX_COMPILE_STDCXX.
* configure: Regenerate.
|
|
|
|
gcc/d/ChangeLog:
PR d/95573
* dmd/MERGE: Merge upstream dmd 5041e56f1.
|
|
Merges AndAndExp and OrOrExp into a LogicalExp AST node.
gcc/d/ChangeLog:
* dmd/MERGE: Merge upstream dmd 955b8b36f.
* expr.cc (ExprVisitor::visit (AndAndExp *)): Rename type to ...
(ExprVisitor::visit (LogicalExp *)): ... this. Handle both 'and if'
and 'or if' expression nodes.
(ExprVisitor::visit (OrOrExp *)): Remove.
|
|
Change testcase to check error message (iomsg) at runtime, rather than to crash.
libgfortran/
PR fortran/95091
* io/transfer.c (finalize_transfer): Fix type in error message.
gcc/testsuite/
PR fortran/95195
* gfortran.dg/namelist_97.f90: Adjust testcase.
|
|
in reload_cse_simplify_operands
gcc/ChangeLog:
* postreload.c (reload_cse_simplify_operands): Clear first array element
before using it. Assert a precondition.
|
|
This issue has been fixed by PR94090. Add test case to ensure that
this does not re-occur.
2020-06-08 Mark Eggleston <markeggleston@gcc.gnu.org>
gcc/testsuite/
PR fortran/92993
* gfortran.dg/pr92993.f90: New test.
|
|
As mentioned in the PR, the problem is that at least the x86 backend asumes
that the vec_unpack* and vec_pack* optabs with integral modes are for the
AVX512-ish vector masks rather than for very small vectors done in GPRs.
The only other target that seems to have a scalar mode vec_{,un}pack* optab
is aarch64 as discussed in the PR, so there is also a condition for that.
All other targets have just vector mode optabs.
2020-06-08 Jakub Jelinek <jakub@redhat.com>
PR target/95528
* tree-ssa-forwprop.c (simplify_vector_constructor): Don't use
VEC_UNPACK*_EXPR or VEC_PACK_TRUNC_EXPR with scalar modes unless the
type is vector boolean.
* g++.dg/opt/pr95528.C: New test.
|
|
2020-06-08 Jakub Jelinek <jakub@redhat.com>
PR lto/95548
* g++.dg/torture/pr95548.C: Change from dg-do compile to dg-do link,
add return type for main, for __SIZEOF_INT128__ test with __uint128_t
enumerator constants and add a test with unsigned long long
enumerators for all targets.
|
|
This expands the comment on an assert we have in aarch64_layout_frame
and points to an existing comment somewhere else that has a much longer
explanation of what's going on.
Committed under the GCC Obvious rule.
gcc/ChangeLog:
* config/aarch64/aarch64.c (aarch64_layout_frame): Expand comments.
|
|
While looking at PR target/94743 I noticed an ICE when I tried to save
all the FP registers: this was because all HI registers wouldn't match
vfp_register_operand.
gcc/ChangeLog:
* config/arm/predicates.md (vfp_register_operand): Use VFP_HI_REGS
instead of VFP_REGS.
|
|
gcc/ChangeLog:
* config/rs6000/vector.md: Replace FAIL with gcc_unreachable
in all vcond* patterns.
|
|
After the recent commit that forces uses of c++11, the arm part failed
to build because it does not include <algorithm> via system.h as
should be done.
This results in:
from /gcc/common/config/arm/arm-common.c:34:
/usr/lib/gcc/x86_64-linux-gnu/5/include/mm_malloc.h:42:12: error:
attempt to use poisoned "malloc"
return malloc (size);
This patch fixes the problem by defining INCLUDE_ALGORITHM before
including system.h and no longer includes <algorithm> directly.
gcc/ChangeLog:
* common/config/arm/arm-common.c (INCLUDE_ALGORITHM):
Define. No longer include <algorithm>.
|
|
2020-06-08 Steve Baird <baird@adacore.com>
gcc/ada/
* sem_prag.adb (Analyze_Pragma.Set_Ravenscar_Profile): Add
appropriate call to Set_Restriction_No_Dependence if Ada_Version
>= Ada2012 and Profile is either Ravenscar or a GNAT-defined
Ravenscar variant (i.e., not Jorvik).
|
|
2020-06-08 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_ch5.adb: Fix typo.
* sem_ch8.adb (Analyze_Renamed_Primitive_Operation): Check that
the prefix of a prefixed view must be renamable as an object.
|
|
2020-06-08 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_cat.ads: Fix typo.
* sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type): Add
handling of N_Attribute_Definition_Clause.
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Call
Validate_Remote_Access_To_Class_Wide_Type for Storage_Size and
Storage_Pool.
* sem_attr.adb, exp_ch4.adb: Update comments.
|
|
2020-06-08 Justin Squirek <squirek@adacore.com>
gcc/ada/
* sem_ch4.adb (Analyze_One_Call): Add extra condition to the
predicate for deciding when a given controlled call is visible.
|
|
2020-06-08 Piotr Trojanek <trojanek@adacore.com>
gcc/ada/
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Port
changes in frontend expander.
|
|
2020-06-08 Piotr Trojanek <trojanek@adacore.com>
gcc/ada/
* sem_ch13.adb (All_Membership_Choices_Static): Fix style.
|
|
2020-06-08 Steve Baird <baird@adacore.com>
gcc/ada/
* libgnat/s-rident.ads: Add Jorvik to the Profile_Name
enumeration type. Add an element for Jorvik to the array
aggregate that is the initial value of the constant
Profile_Info.
* targparm.adb (Get_Target_Parameters): Handle "pragma Profile
(Jorvik);" similarly to "pragma Profile (Ravenscar);".
* snames.ads-tmpl: Declare Name_Jorvik Name_Id. Unlike
Ravenscar, Jorvik is not a pragma name and has no corresponding
element in the Pragma_Id enumeration type; this means that its
declaration must not occur between those of First_Pragma_Name
and Last_Pragma_Name.
* sem_prag.adb (Analyze_Pragma): Add call to
Set_Ravenscar_Profile for Jorvik, similar to the existing calls
for Ravenscar and the GNAT Ravenscar variants.
|
|
2020-06-08 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_ch8.adb (Analyze_Object_Renaming): Update Get_Object_Name
to go through N_Qualified_Expression and N_Type_Conversion. Fix
another case of wrong usage of E_Anonymous_Access_Type instead
of Anonymous_Access_Kind.
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Work
on the original node.
(Is_Aliased_View): Take into account N_Qualified_Expression.
|