Age | Commit message (Collapse) | Author | Files | Lines |
|
Trying to diagnose the problem with an implicit copy function breaks if the
function isn't actually a copy function.
gcc/cp/ChangeLog:
PR c++/95844
* decl.c (copy_fn_p): Return false for a function that is neither a
constructor nor an assignment operator.
(move_signature_fn_p): Likewise.
gcc/testsuite/ChangeLog:
PR c++/95844
* g++.dg/cpp2a/spaceship-eq10.C: New test.
|
|
This patch adds effective target and target specific expected results
to a few P9 testcases.
gcc/testsuite/ChangeLog:
* gcc.target/powerpc/builtins-5-p9-runnable.c: Require lp64.
* gcc.target/powerpc/builtins-msum-runnable.c: Require int128.
* gcc.target/powerpc/float128-cmp2-runnable.c: Require float128.
* gcc.target/powerpc/fold-vec-extract-double.p9.c: Require lp64.
|
|
This PR points out that when printing the parameter mapping for a
pointer-to-member-function, the output was truncated:
[with T = void (X::*]
Fixed by printing the abstract declarator for pointers-to-members in
cxx_pretty_printer::type_id. So now we print:
[with T = void (X::*)()]
But when I tried a pointer-to-data-member, I got
[with T = ‘offset_type’ not supported by simple_type_specifier)‘offset_type’ not supported by direct_abstract_declarator]
so had to fix that too so that we now print:
[with T = int X::*]
or
[with T = int (X::*)[5]]
when the type is an array type. Which is what PR85901 was about.
gcc/cp/ChangeLog:
PR c++/97406
PR c++/85901
* cxx-pretty-print.c (pp_cxx_type_specifier_seq): Handle OFFSET_TYPE.
(cxx_pretty_printer::abstract_declarator): Fix the printing of ')'.
(cxx_pretty_printer::direct_abstract_declarator): Handle OFFSET_TYPE.
(cxx_pretty_printer::type_id): Likewise. Print the abstract declarator
for pointers-to-members.
gcc/testsuite/ChangeLog:
PR c++/97406
PR c++/85901
* g++.dg/diagnostic/ptrtomem1.C: New test.
* g++.dg/diagnostic/ptrtomem2.C: New test.
|
|
Nvptx currently doesn't support atomics if it involves a stack address.
PR97444 is open about.
Xfail corresponding execution fails in gcc.dg/atomic. Tested on nvptx.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
* gcc.dg/atomic/c11-atomic-exec-6.c: Xfail execution for nvptx.
* gcc.dg/atomic/c11-atomic-exec-7.c: Same.
* gcc.dg/atomic/stdatomic-op-5.c: Same.
|
|
gcc/fortran/ChangeLog:
* trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls.
|
|
The nvptx port has an -m32 option, but it's not clear whether this
was ever build/tested/used.
Don't expose to user anymore. Tested on nvptx.
gcc/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
PR target/97436
* config/nvptx/nvptx.opt (m32): Comment out.
* doc/invoke.texi (NVPTX options): Remove -m32.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
PR target/97436
* gcc.target/nvptx/atomic_fetch-3.c: Remove.
|
|
gcc/ChangeLog:
2020-10-15 Jan Hubicka <hubicka@ucw.cz>
Richard Biener <rguenther@suse.de>
* attr-fnspec.h: Fix toplevel comment.
|
|
This fixes the missing constant offset from TARGET_MEM_REF dumping.
2020-10-15 Richard Biener <rguenther@suse.de>
* tree-pretty-print.c (dump_mem_ref): Print constant offset
also for TARGET_MEM_REF.
|
|
* symtab.c (symtab_node::binds_to_current_def_p): Also accept symbols
defined in other partition.
|
|
This fixes the case where the insertion iterator for the live stmt
is the end of a BB by adjusting the dominance query to the definition
of the def we're substituting.
2020-10-15 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vectorizable_live_operation): Adjust
dominance query.
* gcc.dg/vect/bb-slp-52.c: New testcase.
|
|
gcc/ada/
* sem_ch10.adb (Install_With_Clause): Fix implementation of Ada
2005 AI-262 by taking into account generic packages. Minor
reformatting.
* libgnat/a-cbhase.ads, libgnat/a-cbhase.adb: Remove use clause
on runtime unit spec.
|
|
gcc/ada/
* einfo.ads, einfo.adb (Scope_Depth_Value,
Set_Scope_Depth_Value): Add assertions on valid nodes and update
documentation accordingly.
(Write_Field22_Name): Sync with change in Scope_Depth_Value.
* sem_ch8.adb (Find_Direct_Name): Fix call to Scope_Depth_Value.
|
|
gcc/ada/
* sem_prag.adb (Analyze_Pragma): Adding semantic support of
Standard to Default_Storage_Pool.
* freeze.adb (Freeze_Entity): If pragma Default_Storage_Pool
applies and it is set to Standard then use the global pool as
the associated storage pool of the access type.
|
|
gcc/ada/
* exp_ch6.ads (Might_Have_Tasks): Update documentation.
* exp_ch6.adb (Might_Have_Tasks): Return also true when the type
has tasks.
(Make_Build_In_Place_Call_In_Allocator): Code cleanup.
* exp_ch3.adb (Ensure_Activation_Chain_And_Master,
Expand_N_Full_Type_Declaration, Expand_N_Object_Declaration):
Code cleanup.
|
|
gcc/ada/
* checks.adb (Apply_Predicate_Check): Generate "infinite
recursion" warning message even if run-time predicate checking
is disabled.
* exp_ch6.adb (Expand_Simple_Function_Return): In testing
whether the returned expression is a function call, look for the
case where the call has been transformed into a dereference of
an access value that designates the result of a function call.
* sem_ch3.adb (Analyze_Object_Declaration): Legality checking
for a static expression is unaffected by assertion policy (and,
in particular, enabling/disabling of subtype predicates. To get
the right legality checking, we need to call
Check_Expression_Against_Static_Predicate for a static
expression even if predicate checking is disabled for the given
predicate-bearing subtype. On the other hand, we don't want to
call Make_Predicate_Check unless predicate checking is enabled.
* sem_ch7.adb (Uninstall_Declarations.Preserve_Full_Attributes):
Preserve the Predicates_Ignored attribute.
* sem_eval.adb (Check_Expression_Against_Static_Predicate):
Previously callers ensured that this procedure was only called
if predicate checking was enabled; that is no longer the case,
so predicates-disabled case must be handled.
* sem_prag.adb (Analyze_Pragma): Fix bug in setting
Predicates_Ignored attribute in Predicate pragma case.
|
|
gcc/ada/
* freeze.adb (Freeze_Fixed_Point_Type): Do not scale the bounds
of a declared subtype using the 'Small of the type; this is
done during resolution of the bound itself, unlike what is done
for the bounds of the base type, which are used to determine its
required size. Previous code performed this scaling twice,
leading to meaningless values for such a subtype.
|
|
gcc/ada/
* sem_util.adb (Bad_Predicated_Subtype_Use): Emit an
unconditional error, not a conditional warning.
|
|
gcc/ada/
* sem_ch3.adb (Process_Subtype): Combine guards for
Null_Exclusion_Present in May_Have_Null_Exclusion; use this
combined guard when checking AI-231.
|
|
gcc/ada/
* sem_ch3.adb (Process_Subtype): Sync May_Have_Null_Exclusion
with assertion in Null_Exclusion_Present; clarify the scope of
local variables.
|
|
gcc/ada/
* sem_ch3.adb (Analyze_Subtype_Declaration): Fix style.
(Make_Index): Refactor to avoid repeated detection of subtype
indication; add comment.
|
|
gcc/ada/
* sem_prag.adb (Is_Acceptable_Dim3): Use Is_RTE to not pull CUDA
package unless necessary; rename local Tmp variable; iterate
with procedural Next.
|
|
gcc/ada/
* sem_ch3.adb (Array_Type_Declaration): Refine type of a local
variable.
(Make_Index): Simplify to avoid assignment with a type entity
and then backtracking by reassigning to Empty; remove excessive
whitespace.
* sem_ch9.adb (Analyze_Entry_Body): Remove extra parens.
|
|
gcc/ada/
* sem_ch3.adb (Access_Subprogram_Declaration): Remove extra
parens.
(Make_Index): Remove excessive calls to Is_Type.
|
|
gcc/ada/
* sem_util.adb (Enter_Name): Remove unnecessary conditions in
Enter_Name that come from the beginning of times.
|
|
gcc/ada/
* exp_ch6.adb (Expand_Simple_Function_Return): Remove DSP part
of comment, and reformat.
|
|
gcc/ada/
* exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
'Initialized in CodePeer mode.
|
|
gcc/ada/
* sem_ch12.adb (Reset_Entity): Protect against malformed tree.
|
|
gcc/ada/
* sem_ch13.adb (Add_Predicates): Prevent analyzing twice the
same pragma in case an inner package references the type with a
predicate (as opposed to defining the type).
|
|
gcc/ada/
* libgnat/a-cfinve.adb (Int): Use subtype of Long_Long_Integer.
* libgnat/a-cofove.adb (Int): Likewise.
* libgnat/a-cgcaso.adb (T): Likewise.
* libgnat/a-cogeso.adb (T): Likewise.
* libgnat/g-debpoo.ads (Byte_Count): Use Long_Long_Integer'Size.
|
|
gcc/ada/
* sem_ch12.adb: Replace list of N_Defining_... enumerations with
N_Entity.
|
|
gcc/ada/
* sem_ch3.ads, sem_ch3.adb (Make_Index): Refined type of
parameter.
(Constrain_Index): Likewise.
(Array_Type_Declaration): Refine type of a local counter
variable; remove a trivially useless initialization.
|
|
gcc/ada/
* sem_ch3.adb (Analyze_Subtype_Declaration): Recognize both
identifiers and expanded names; use high-level Is_Scalar_Type
instead of low-level membership test.
|
|
gcc/ada/
* sem_eval.adb (Eval_Intrinsic_Call, Fold_Shift): Add support
for Shift_Right_Arithmetic and for signed integers.
* exp_ch4.adb (Expand_N_Op_Rotate_Left,
Expand_N_Op_Rotate_Right, Expand_N_Op_Shift_Left,
Expand_N_Op_Shift_Right_Arithmetic): Minor reformatting and code
cleanup to ensure a consistent handling. Update comments and add
assertion.
|
|
gcc/ada/
* sem_ch13.adb (Visible_Component): Enable this code for task
and protected types, as well as record and private types.
* sem_ch13.ads (Replace_Type_References_Generic): Update
comment. Move the efficiency comment into the body, because
it's about the implementation.
|
|
gcc/ada/
* par-ch13.adb (Get_Aspect_Specifications): Generate a warning
rather than an error on unknown aspects unless -gnatd2 is used.
(Aspect_Specifications_Present): Improve detection of unknown
aspects.
* debug.adb (Debug_Flag_2): Update document.
|
|
gcc/ada/
* sem_res.adb (Resolve_Call): Do not try to inline intrinsic
calls.
|
|
gcc/ada/
* exp_aggr.adb (Expand_N_Aggregate): A record aggregate requires
a non-private type.
* sem_ch13.adb (Valid_Assign_Indexed): New subprogram local to
Resolve_Aspect_Aggregate, to handle the case when the
corresponding name appearing in the aspect specification for an
indexed aggregate is an overloaded operation.
* libgnat/a-convec.ads, libgnat/a-convec.adb,
libgnat/a-coinve.ads, libgnat/a-coinve.adb,
libgnat/a-cobove.ads, libgnat/a-cobove.adb,
libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
libgnat/a-cohama.ads, libgnat/a-cihama.ads,
libgnat/a-cbhama.ads, libgnat/a-cborma.ads,
libgnat/a-ciorma.ads, libgnat/a-coorma.ads,
libgnat/a-cihase.ads, libgnat/a-cohase.ads,
libgnat/a-cbhase.ads, libgnat/a-cborse.ads,
libgnat/a-ciorse.ads, libgnat/a-coorse.ads: Add Ada_2020 aspect
Aggregate to types declared in standard containers, as well as
new subprograms where required.
|
|
gcc/ada/
* libgnat/g-arrspl.ads, libgnat/g-arrspl.adb (Create,
First_Cursor, Advance, Has_Element): New.
|
|
gcc/ada/
* Makefile.rtl: Add target pair for interfac.ads.
* libgnat/interfac.ads: Add a comment.
* libgnat/interfac__2020.ads: New, used for bootstrap purposes.
* sem_util.adb (Is_Static_Function): Always return False for pre
Ada 2020 to e.g. ignore the Static aspect in Interfaces for
Ada < 2020.
|
|
gcc/ada/
* exp_util.adb (Remove_Side_Effects): Move special-casing for
GNATprove to be applied to all object declarations.
|
|
split_constant_offset is confused about a nop-conversion from
unsigned long to sizetype and tries to prove non-overflowing
of the inner operation. Obviously the conversion could have been
elided so make sure split_constant_offset handles this properly.
It also makes sure that convert_to_ptrofftype does not introduce
conversions not necessary which in this case is the source for
the unnecessary conversion.
2020-10-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/97482
* tree-data-ref.c (split_constant_offset_1): Handle
trivial conversions better.
* fold-const.c (convert_to_ptrofftype_loc): Elide conversion
if the offset is already ptrofftype_p.
* gcc.dg/vect/pr97428.c: New testcase.
|
|
The xfail in gcc.dg/tree-ssa/pr84512.c for PR84958 has started to xpass,
presumably because of commit 744fd446c32 "tree-ssa-sccvn.c (class pass_fre):
Add may_iterate pass parameter".
Remove the xfail. Tested on nvptx.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
* gcc.dg/tree-ssa/pr84512.c: Remove xfail for nvptx.
|
|
For nvptx, I see:
...
XPASS: c-c++-common/ident-0b.c -Wc++-compat scan-assembler-not GCC:
...
Fix this by requiring effective target ident_directive. Tested on nvptx.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
* c-c++-common/ident-0b.c: Require effective target ident_directive.
|
|
There's a dg-skip-if for nvptx that is related to ptxas oom.
If I remove it, the test-case passes for me (with ptxas from cuda 9.1).
I've tested it on a range of cudas, from 5.0 to 11.1 and did not
manage to reproduce the fail.
Remove the dg-skip-if. Tested on nvptx.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
* gcc.c-torture/compile/limits-externdecl.c: Remove dg-skip-if for
nvptx.
|
|
For nvptx, I run into a couple of XPASSes due to nvptx not being listed in:
...
{ xfail { ! { long list of targets } } }
...
Add nvptx to the list to get a PASS. Tested on nvptx.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
* gcc.dg/attr-alloc_size-11.c: Don't xfail for nvptx.
* gcc.dg/tree-ssa/20040204-1.c: Same.
|
|
The test-case gcc.c-torture/execute/pr68185.c has a dg-skip-if for nvptx due
to "ptxas crashes or executes incorrectly".
I've managed to reproduce the problem using cuda 7.5:
...
FAIL: gcc.c-torture/execute/pr68185.c -O0 (test for excess errors)
Excess errors:
nvptx-as: ptxas terminated with signal 11 [Segmentation fault], core dumped
...
but it's fixed starting cuda 8.0.
Remove the dg-skip-if. Tested on nvptx.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
* gcc.c-torture/execute/pr68185.c: Remove dg-skip-if for nvptx.
|
|
There's a dg-skip-if for nvptx that is related to a ptxas crash.
If I remove it, the test-case passes for me (with ptxas from cuda 9.1).
I've tested this on a range of cudas, from 5.0 to 11.1 and did not
manage to reproduce the fail.
Remove the dg-skip-if. Tested on nvptx.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
* gcc.c-torture/execute/981019-1.c: Remove dg-skip-if for nvptx.
|
|
There's a couple of nvptx xfails that are related to ptxas crashes,
which are xpassing for me (with ptxas from cuda 9.1).
I've tested these on a range of cudas, from 5.0 to 11.1 and did not
manage to reproduce the fails.
Remove the xfails. Tested on nvptx.
gcc/testsuite/ChangeLog:
2020-10-15 Tom de Vries <tdevries@suse.de>
* gcc.c-torture/compile/pr42717.c: Remove nvptx xfail.
* gcc.c-torture/compile/pr61684.c: Same.
* gcc.c-torture/execute/pr20601-1.c: Same.
* gcc.c-torture/execute/pr52129.c: Same.
* gcc.c-torture/execute/pr59221.c: Same.
* gcc.dg/pr68671.c: Same.
|
|
This ia a partial attempt to fix:
FAIL: gcc.dg/ipa/modref-1.c (test for excess errors)
FAIL: gcc.dg/ipa/modref-1.c scan-ipa-dump modref "param offset: 1"
FAIL: gcc.dg/ipa/modref-1.c scan-ipa-dump modref "param offset: 2"
FAIL: gcc.dg/tree-ssa/modref-4.c (test for excess errors)
FAIL: gcc.dg/tree-ssa/modref-4.c scan-tree-dump modref1 "param offset: 1"
UNRESOLVED: gcc.dg/tree-ssa/modref-4.c scan-tree-dump modref2 "param offset: 2"
UNRESOLVED: gcc.dg/tree-ssa/modref-4.c scan-tree-dump modref2 "return 0"
The return 0 scan still FAILs.
2020-10-15 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/ipa/modref-1.c: Remove space between param offset: and number
in scan-ipa-dump.
(b): Declare return type to void.
(main): Declare return type to int. Change c to array of 3 chars.
* gcc.dg/tree-ssa/modref-4.c: Remove space between param offset: and
number in scan-ipa-dump. Use modref1 instead of modref2.
(b): Declare return type to void.
(main): Declare return type to int. Change c to array of 3 chars.
|
|
gcc/ChangeLog:
PR ipa/97295
* profile-count.c (profile_count::to_frequency): Move part of
gcc_assert to STATIC_ASSERT.
* regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for
a function that does not have count_max initialized.
|