[C] Warn on type punning that toggles scalar storage order

2021-05-26 Thread Eric Botcazou
Hi, As documented in the manual, we do not support type punning that toggles the scalar storage order, so this adds a warning for the simple case of unions. Tested on x86-64/Linux, OK for the mainline? 2021-05-26 Eric Botcazou PR c/100653 * c-decl.c (finish_struct): Warn

Re: [PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-26 Thread Eric Botcazou
> * gimplify.c (gimplify_decl_expr): Clear TREE_READONLY on the DECL > when really creating an initialization statement for it. Quite an interesting can of worms I have opened it seems. :-( So the change apparently causes OMP lowering to create dangling references, I have applied t

Re: [PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-25 Thread Eric Botcazou
> LGTM. Thanks, but a bit too bold because gimplify_and_add can promote the non-static DECL to static memory and reinstate DECL_INITIAL, so first hunk adjusted. * gimplify.c (gimplify_decl_expr): Clear TREE_READONLY on the DECL when really creating an initialization statement fo

[c++tools] Fix typo and weird syntax in configure script

2021-05-25 Thread Eric Botcazou
Tested on x86-64/Linux, applied on mainline and 11 branch as obvious. 2021-05-25 Eric Botcazou c++tools/ * configure.ac (--enable-maintainer-mode): Fix typo and weird syntax. * configure: Regenerate. -- Eric Botcazoudiff --git a/c++tools/configure.ac b/c++tools/configure.ac

Re: [PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-25 Thread Eric Botcazou
> The problem with this patch is that it causes: > > FAIL: gnat.dg/opt94.adb scan-tree-dump-times optimized "worker" 1 > > which is exactly the testcase from the commit which caused the bug I am > trying to address. Sorry about that, a thinko in the original change, I'm testing this fixlet.

Re: [PATCH 2/11] use xxx_no_warning APIs in Ada

2021-05-25 Thread Eric Botcazou
> [PATCH 2/11] use xxx_no_warning APIs in Ada. Looks good to me, but remove the useless pair of parentheses in the 3rd hunk. -- Eric Botcazou

Re: [Ada] Detect illegal conditions in Raise_xxx_Error nodes

2021-05-21 Thread Eric Botcazou
> 2021-05-21 Piotr Trojanek > > * gcc-interface/trans.c (Raise_Error_to_gnu): Add an assertion. -- Eric Botcazoudiff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 289a2efcaf1..ee014a35cc2 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interfac

[Ada] Detect illegal conditions in Raise_xxx_Error nodes

2021-05-21 Thread Eric Botcazou
. -- Eric Botcazou

[Ada] Consistently generate debug info for elaboration variables

2021-05-21 Thread Eric Botcazou
This makes sure that debug info is generated for elaboration variables, even if the variables are not generated exclusively for this purpose. Tested on x86-64/Linux, applied on the mainline. 2021-05-21 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not pass

[Ada] Replace ? with ?? in warning messages

2021-05-21 Thread Eric Botcazou
The former has been deprecated in favor of the latter. Tested on x86-64/Linux, applied on the mainline. 2021-05-21 Ghjuvan Lacambre * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ? with ??. (gnat_to_gnu_param): Likewise. (gnat_to_gnu_subprog_type): Likewise.

[Ada] Fix internal error on locally derived bit-packed array type

2021-05-21 Thread Eric Botcazou
This is a regression present on the mainline, 11 and 10 branches, in the form of an ICE on a locally derived bit-packed array type. Tested on x86-64/Linux, applied on the mainline, 11 and 10 branches. 2021-05-21 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Process

[Ada] Always translate Is_Pure flag into pure in C sense

2021-05-21 Thread Eric Botcazou
s. 2021-05-21 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate the Is_Pure flag into the "pure" attribute of GNU C. -- Eric Botcazoudiff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index a7595cbf514..19e851f

[Ada] Fix segfault at run time on strict-alignment platforms

2021-05-21 Thread Eric Botcazou
This fixes a regression present on the mainline and 11 branch by restricting the problematic change dealing with bitfields whose nomimal subtype is self- referential to the cases where the size is really lower. Tested on x86-64/Linux, applied on the mainline and 11 branch. 2021-05-21 Eric

[Ada] Fix spurious No_Elaboration violation for Size attribute

2021-05-21 Thread Eric Botcazou
We optimize the associated range check but nevertheless flag a violation. Tested on x86-64/Linux, applied on the mainline. 2021-05-21 Eric Botcazou * gcc-interface/trans.c (Call_to_gnu): Minor tweaks. (gnat_to_gnu_external): Likewise. (Raise_Error_to_gnu): Return an

[Ada] Fix incorrect SLOC on instruction

2021-05-21 Thread Eric Botcazou
This puts the missing SLOC on a statement generated by a return. Tested on x86-64/Linux, applied on the mainline, 11 and 10 branches. 2021-05-21 Eric Botcazou * gcc-interface/trans.c (gnat_to_gnu) : Put a SLOC on the assignment from the return value to the return

[Ada] Use EXACT_DIV_EXPR as much as possible

2021-05-21 Thread Eric Botcazou
...when the division is exact, typically dividing TYPE_SIZE by BITS_PER_UNIT. Tested on x86-64/Linux, applied on the mainline. 2021-05-21 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Replace CEIL_DIV_EXPR with EXACT_DIV_EXPR. * gcc-interface/misc.c

Re: [PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-17 Thread Eric Botcazou
+1822,7 @@ gimplify_decl_expr (tree *stmt_p, gimple_seq *seq_p) if (!TREE_STATIC (decl)) { DECL_INITIAL (decl) = NULL_TREE; + TREE_READONLY (decl) = 0; init = build2 (INIT_EXPR, void_type_node, decl, init); gimplify_and_add (init, seq_p); ggc_free (init); -- Eric Botcazou

Re: [PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-14 Thread Eric Botcazou
> FAIL: gnat.dg/spark1.adb (test for excess errors) > FAIL: gnat.dg/sync2.adb (test for excess errors) > FAIL: gnat.dg/synchronized1.adb (test for excess errors) Yes, it did, as well as PR boostrap/100597 probably. -- Eric Botcazou

[DWARF] Couple of pending patches

2021-05-14 Thread Eric Botcazou
. -- Eric Botcazou

Re: [PATCH][OBVIOUS] testsuite: prune new LTO warning

2021-05-13 Thread Eric Botcazou
> gcc/testsuite/ChangeLog: > > PR testsuite/100569 > * gcc.dg/atomic/c11-atomic-exec-2.c: Prune new LTO warning. > * gcc.dg/torture/pr94947-1.c: Likewise. Another one: PR testsuite/100569 * gnat.dg/lto21.adb: Prune new LTO warning. -- Eric Botcazoudiff --git a

Re: [PATCH] Bump LTO_major_version to 11.

2021-05-10 Thread Eric Botcazou
> The following patch fixes that, ready for master? Sure, thanks! -- Eric Botcazou

Re: [PATCH] Bump LTO_major_version to 11.

2021-05-10 Thread Eric Botcazou
> Do you know Eric where version.o needs to be added to be included in the > problematic command line? You can presumably remove it from GNATLINK_OBJS & GNATMAKE_OBJS. And it needs to be added to GNAT1_C_OBJS instead of GNAT_ADA_OBJS in Make-lang.in. -- Eric Botcazou

Re: [PATCH] Bump LTO_major_version to 11.

2021-05-10 Thread Eric Botcazou
> Do you know Eric where version.o needs to be added to be included in the > problematic command line? Presumably to the beginning of TOOLS_LIBS in ada/gcc-interface/Makefile.in: TOOLS_LIBS = ../version.o ../link.o ../targext.o ../../ggc-none.o \ -- Eric Botcazou

Re: [PATCH] Bump LTO_major_version to 11.

2021-05-10 Thread Eric Botcazou
Provide_Shift_Operators (Slot); in atree.ads with function Shift_Left (S : Slot; V : Natural) return Slot; pragma Import (Intrinsic, Shift_Left); function Shift_Right (S : Slot; V : Natural) return Slot; pragma Import (Intrinsic, Shift_Right); -- Eric Botcazou

Re: [PATCH] Bump LTO_major_version to 11.

2021-05-10 Thread Eric Botcazou
.. rm gcov.pod fsf-funding.pod lto-dump.pod gfdl.pod gpl.pod cpp.pod gcov- dump.pod gcc.pod gcov-tool.pod make[3]: Leaving directory '/home/eric/build/gcc/native/gcc' make[2]: *** [Makefile:4781: all-stage1-gcc] Error 2 ada/gnatvsn.adb imports version_string from version.c -- Eric Botcazou

Re: [PATCH] Bump LTO_major_version to 11.

2021-05-10 Thread Eric Botcazou
> Ready for master? This breaks the build for me: make[3]: *** No rule to make target '/home/eric/cvs/gcc/gcc/version.c', needed by 'ada/stamp-sdefault'. Stop. make[3]: *** Waiting for unfinished jobs -- Eric Botcazou

Re: [GOVERNANCE] Where to file complaints re project-maintainers?

2021-05-09 Thread Eric Botcazou
> It is a gcc issue, see the very first link you've quoted ( > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92729). IIUC you're complaining about the bounty process, not about the GCC PR, so this technical list is not the appropriate place to do it. AFAICS you have already filed a complaint wit

[patch] Remove call to gcc_unreachable in range-op.cc

2021-05-08 Thread Eric Botcazou
Eric Botcazou * range-op.cc (get_bool_state): Adjust head comment. (operator_not_equal::op1_range): Fix comment. (operator_bitwise_xor::op1_range): Remove call to gcc_unreachable. 2021-05-08 Eric Botcazou * gnat.dg/specs/opt5.ads: New test. * gnat.dg/

[patch] Fix incorrect array bounds with -fgnat-encodings=minimal in DWARF

2021-05-07 Thread Eric Botcazou
Hi, this makes add_subscript_info query the get_array_descr_info hook for the actual information when it is defined. Tested on x86-64/Linux, OK for mainline? 2021-05-07 Eric Botcazou * dwarf2out.c (add_subscript_info): Retrieve the bounds and the index type by means of the

[patch] Do not apply scalar storage order to pointer fields

2021-05-07 Thread Eric Botcazou
pulls them out. Tested on x86-64/Linux, OK for mainline? 2021-05-07 Eric Botcazou * doc/extend.texi (scalar_storage_order): Mention effect on pointer and vector fields. * tree.h (reverse_storage_order_for_component_p): Return false if the type is a point

Fix PR target/100402

2021-05-05 Thread Eric Botcazou
this breaks for some reason; at least it appears that a .seh_setframe directive with 0 as second argument always works, so the fix aligns it this way. Tested on x86-64/Windows, applied on the affected branches as obvious. 2021-05-05 Eric Botcazou PR target/100402 * config/i386

Re: [patch] Fix PR rtl-optimization/100411

2021-05-05 Thread Eric Botcazou
> At least for NOTE_INSN_BASIC_BLOCK skipping more than one might > be problematic, because that would mean we've skipped into a different basic > block and it wouldn't surprise me if split_block in that case crashed or > did something weird (if the first argument is not BLOCK_FOR_INSN of the > sec

Re: [patch] Fix PR rtl-optimization/100411

2021-05-05 Thread Eric Botcazou
> I mean, can't we have just one while loop that skips over all debug insns, > NOTE_INSN_BASIC_BLOCK_P, NOTE_INSN_PROLOGUE_END and NOTE_INSN_FUNCTION_BEG > and stops on anything else, or, if we want to skip at most one of some or > all of those note kinds, do some tracking if we've already skipped

[patch] Fix PR rtl-optimization/100411

2021-05-05 Thread Eric Botcazou
); the rest (CFG cleanup, BB reordering) is downhill from there. Tested on x86-64/Linux and x86-64/Windows, OK for mainline and 11 branch? 2021-05-05 Eric Botcazou PR rtl-optimization/100411 * cfgcleanup.c (try_crossjump_to_edge): Also skip end of prologue and beginning of

Re: [PATCH] PR rtl-optimization/100263: Ensure register can change mode

2021-05-05 Thread Eric Botcazou
n > change mode. > > Bootstrapped and regtested releases/gcc-{8,9,10,11} and master on IBM Z. > Ok for those branches? Yes, OK everywhere, thanks. -- Eric Botcazou

Re: [patch] Generate debug info for local dynamic record types

2021-05-05 Thread Eric Botcazou
at-encodings=minimal but it's actually easy to check in DWARF 5. * gnat.dg/debug17.adb: New test. -- Eric Botcazou-- { dg-do compile } -- { dg-skip-if "No Dwarf" { { hppa*-*-hpux* } && { ! lp64 } } } -- { dg-options "-cargs -O0 -g -dA -fgnat-encodings=minimal -mar

Re: [wwwdocs] Remove CC0 from backends.html

2021-05-04 Thread Eric Botcazou
> Pushed. What is next? :-) You can finally remove powerpcspe. :-) -- Eric Botcazou

Re: [PATCH] Remove CC0

2021-05-04 Thread Eric Botcazou
ow. I don't know if such splitting would directly > lead to the ability to remove the redundant compares - it might need a > new pass to spot them. Do you mean in addition to the existing pass_compare_elim_after_reload? -- Eric Botcazou

Re: [PATCH] Avoid DSE/DCE of pure call that throws

2021-05-04 Thread Eric Botcazou
on (like const function, but may read global memory). */ #define DECL_PURE_P(NODE) (FUNCTION_DECL_CHECK (NODE)>function_decl.pure_flag) Maybe: "Note that being pure or const for a function is orthogonal to being no-throw, i.e. it is valid to have DECL_PURE_P set and TREE_NOTHROW cleared". -- Eric Botcazou

Re: [patch] Reuse non-gimple_reg variable for inlining

2021-05-03 Thread Eric Botcazou
> Hmm, instead of (ab-)using debug_map can we instead use sth like setting > TREE_VISITED on the argument decl (not the value - it might be passed > multiple tiimes)? IIRC TREE_VISITED state is undetermined thus we can > clear it at the start of setup_one_parameter and set it when we want to > avo

Re: [PATCH] Avoid DSE/DCE of pure call that throws

2021-05-03 Thread Eric Botcazou
function. -- Eric Botcazou

[patch] Reuse non-gimple_reg variable for inlining

2021-05-03 Thread Eric Botcazou
needs to be prevented from creating a CLOBBER for the cases where it ends uo being reused. Tested on x86-64/Linux, OK for the mainline? 2021-05-03 Eric Botcazou * tree-inline.c (setup_one_parameter): Do not create a variable if the value is either a read-only DECL or a non

[patch] Fix libiberty link failure in LTO mode

2021-05-03 Thread Eric Botcazou
kage to be resolved in LTO mode. Tested on x86-64/Linux, x86-64/Windows and x86/Windows, OK for the mainline? 2021-05-03 Eric Botcazou * builtins.c (builtin_with_linkage_p): Return true for stp[n]cpy. * symtab.c (symtab_node::output_to_lto_symbol_table_p): Tidy up. -- Eric Bo

[libiberty] Make test for variables more robust

2021-05-03 Thread Eric Botcazou
bcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` AC_DEFINE_UNQUOTED($n) else AC_MSG_RESULT(no) fi done because the assignment to 'p' is optimized away by LTO. This is visible on MinGW platforms in the form of a link failure for sys_siglist. Tested on x86-64/Linux,

[patch] Generate debug info for local dynamic record types

2021-05-01 Thread Eric Botcazou
? 2021-05-01 Eric Botcazou * dwarf2out.c (loc_list_from_tree_1) : During early DWARF, do not expand the VALUE_EXPR of variables put in the non-local frame. * gimplify.c (gimplify_type_sizes) : If the type is not to be ignored for debug info, ensure its variable

[SPARC] Small housekeeping work

2021-04-29 Thread Eric Botcazou
Tested on SPARC/Solaris and SPARC64/Linux, applied on the mainline. 2021-04-29 Eric Botcazou * config/sparc/sparc.c (gen_load_pcrel_sym): Delete. (load_got_register): Do the PIC dance here. (sparc_legitimize_tls_address): Simplify

[patch] Add parallelism support to gcov for MinGW platforms

2021-04-29 Thread Eric Botcazou
o a profiled bootstrap with -jN, N > 1, on these platforms. Tested on x86-64/Linux, x86-64/Windows and x86/Windows, OK for the mainline? 2021-04-29 Eric Botcazou libgcc/ * libgcc/libgcov.h: For the target, define GCOV_LOCKED_WITH_LOCKING if __MSVCRT__ and, for the host, def

[Ada] Avoid creating useless local bounds around calls

2021-04-28 Thread Eric Botcazou
This prevents the compiler from creating useless local bounds around calls that take a parameter of an unconstrained array type when the bounds already exist somewhere else for the actual parameter. Tested on x86-64/Linux, applied on the mainline. 2021-04-28 Eric Botcazou * gcc

[Ada] Get rid of useless temporary for call to pure function

2021-04-28 Thread Eric Botcazou
This avoids creating a useless temporary for a call to a pure function with good properties by using the RSO. Tested on x86-64/Linux, applied on the mainline. 2021-04-28 Eric Botcazou * gcc-interface/trans.c (is_array_of_scalar_type): New predicate. (find_decls_r): New

[Ada] Fix loss of optimization of array iteration due to inlining

2021-04-28 Thread Eric Botcazou
This helps loop-invariant motion to hoist complicated offset computations. Tested on x86-64/Linux, applied on the mainline. 2021-04-28 Eric Botcazou * gcc-interface/trans.c (language_function): Add comment. (loop_info_d): Add fndecl and invariants fields

Re: [DWARF] Fix signedness issue in DWARF functions (2)

2021-04-27 Thread Eric Botcazou
> Yes, but even bitsizetype is undistinguishable from other (usually 2 * > pointer size) precision integral types. OK, I can propose the attached patch. The typed_binop_from_tree computation works on my Ada testcase in 32-bit mode from within GDB, but not in 64-bit mode because GDB chokes with:

Re: [DWARF] Fix signedness issue in DWARF functions (2)

2021-04-26 Thread Eric Botcazou
e); } break; This also looks incorrect if the size is larger than DWARF2_ADDR_SIZE then, isn't there a typo in the code? if (GET_MODE_SIZE (int_mode) < DWARF2_ADDR_SIZE) { op = DW_OP_div; goto do_binop; } -- Eric Botcazou

[DWARF] Fix signedness issue in DWARF functions (1)

2021-04-26 Thread Eric Botcazou
ed on x86-64/Linux, both GCC and GDB, OK for the mainline? 2021-04-26 Eric Botcazou * dwarf2out.c (scompare_loc_descriptor): Fix head comment. (is_handled_procedure_type): Likewise. (struct loc_descr_context): Add strict_signedness field. (resolve_args_pick

[DWARF] Fix signedness issue in DWARF functions (2)

2021-04-26 Thread Eric Botcazou
sizetype or bitsizetype quantities so that's unnecessarily cautious. Tested on x86-64/Linux, both GCC and GDB, OK for the mainline? 2021-04-26 Eric Botcazou * dwarf2out.c (loc_list_from_tree_1) : Do not bail out for sizetype and bitsizetype. -- Eric Botcazoudiff --git

Re: [PATCH] Use std::thread::hardware_concurrency in lto-wrapper.c.

2021-04-22 Thread Eric Botcazou
d thus fancy C++ features avoided. -- Eric Botcazou

Re: [PATCH] Use std::thread::hardware_concurrency in lto-wrapper.c.

2021-04-22 Thread Eric Botcazou
> This patch broke bootstrap on AIX. > > std::thread is not provided in all instances. GCC is not compiled > multi-threaded by default. Right, this will very likely break on Windows too. -- Eric Botcazou

[GCC 11] Fix PR ada/99360

2021-04-20 Thread Eric Botcazou
Hi, I'd like to apply the attached stopgap fix for PR ada/99360 on the 11 branch, as the real fix is really stage #1 material. This is a regression there. Bootstrapped/regtested on x86-64/Linux, OK for the 11 branch? 2021-04-20 Eric Botcazou Bob Duff PR ada/

[x86] Fix another -freorder-blocks-and-partition glitch with Windows SEH

2021-04-19 Thread Eric Botcazou
gigantic frames, like e.g. in the attached Ada testcase. Bootstrapped on x86-64/Windows, applied on all active branches as obvious. 2021-04-19 Eric Botcazou * config/i386/winnt.c (i386_pe_seh_cold_init): Properly deal with frames larger than the SEH maximum frame size

Re: [PATCH] libstdc++: Add -latomic to test flags for 32-bit sparc-linux

2021-04-15 Thread Eric Botcazou
It adds -latomic and the appropriate -L > options to tests that use { dg-add-options libatomic }, because > sparcv8 needs libatomic for some std::atomic ops. Sure, thanks. -- Eric Botcazou

Re: [ping] Fix thinko in libcpp preparation patch for modules

2021-04-13 Thread Eric Botcazou
10 and 9 branches. 2021-04-13 Eric Botcazou * gcc-interface/misc.c (gnat_init): Set default range bits to 0. * gcc-interface/trans.c (extract_encoding): Delete. (decode_name): Likewise. (File_Name_to_gnu): New function. (gigi): Call it to translate f

[ping] Fix thinko in libcpp preparation patch for modules

2021-04-12 Thread Eric Botcazou
This is a regression in Ada on the mainline, 10 and 9 branches: https://gcc.gnu.org/pipermail/gcc-patches/2021-March/567143.html Thanks in advance. -- Eric Botcazou

[c-family] Fix small regression with -fdump-ada-spec

2021-04-05 Thread Eric Botcazou
subtype and defines a set of explicit constants, which used to be of this subtype but were changed to the base type at some point. This reinstates the subtype for them. Tested on x86-64/Linux, applied on the mainline. 2021-04-05 Eric Botcazou * c-ada-spec.c (is_simple_enum): Minor

Re: [committed] libstdc++: Test errno macros directly, not via autoconf [PR 93151]

2021-04-01 Thread Eric Botcazou
> Thanks, pushed. I can confirm that the build failure we had is now gone, thanks! > Eric, are you building the RC with --enable-maintainer-mode maybe? Or > regenerating the autoconf files yourself? The latter, we have local configure changes so we regenerate the script. -- Eric Botcazou

Re: [committed] libstdc++: Test errno macros directly, not via autoconf [PR 93151]

2021-04-01 Thread Eric Botcazou
ilds are now broken on the branch. -- Eric Botcazou

Re: [PATCH] testsuite: Disable zero-scratch-regs-{8, 9, 10, 11}.c on s390* [PR97680]

2021-03-31 Thread Eric Botcazou
by default so that maintainers could add the missing bits; this worked relatively well. -- Eric Botcazou

Re: [PATCH] testsuite: Disable zero-scratch-regs-{8, 9, 10, 11}.c on s390* [PR97680]

2021-03-30 Thread Eric Botcazou
emented the SPARC support only because I had ran into the failures in the testsuite). So doing the inverse filtering sounds quite counterproductive to me and IMO it's up to the architecture maintainers to decide on a case-by-case basis. -- Eric Botcazou

[Ada] Fix PR ada/99802

2021-03-29 Thread Eric Botcazou
This is a regression present on the mainline: the compiler fails to assign an aggregate to a full-access component (i.e. Atomic or VFA) as a whole if the type of the component is not full access itself. Tested on x86-64/Linux, applied on the mainline. 2021-03-29 Eric Botcazou PR

[patch] Fix thinko in libcpp preparation patch for modules

2021-03-23 Thread Eric Botcazou
nstructions. The attached fix simply deletes IS_MACRO_LOC and replaces it with the proper test, taking into account that IS_ADHOC_LOC has always already been tested. Tested on x86-64/Linux, OK for mainline, 10 and 9 branches? 2021-03-23 Eric Botcazou libcpp/ * include/line-ma

[testsuite] Skip couple of Go tests on 32-bit SPARC

2021-03-23 Thread Eric Botcazou
Since they are already skipped on other 32-bit architectures. Tested on x86-64/Linux and SPARC/Solaris, OK for the mainline? 2021-03-23 Eric Botcazou * go.test/test/fixedbugs/issue6036.go: Skip on sparc. * go.test/test/fixedbugs/issue22200b.go: Likewise. -- Eric

Re: [patch] Fix PR middle-end/99641

2021-03-18 Thread Eric Botcazou
> Can you use wide_ints instead of building trees here please? Note that this will reject array types whose lower bound is not fixed, but the wide_int version is attached. PR middle-end/99641 * fold-const.c (native_encode_initializer) : For an array type, do the computat

[patch] Fix PR middle-end/99641

2021-03-18 Thread Eric Botcazou
upper bound; the computation must be done in sizetype instead so that it may wrap around, like in get_inner_reference or get_ref_base_and_extent. Tested on x86-64/Linux, OK for the mainline and 10 branch? 2021-03-18 Eric Botcazou PR middle-end/99641 * fold-co

[SPARC] Fix PR target/99422

2021-03-12 Thread Eric Botcazou
to m in 64-bit mode and, as a result renames the w constraint into W. Bootstrapped/regtested on SPARC/Solaris and SPARC64/Linux, applied on the mainline. 2021-03-12 Eric Botcazou PR target/99422 * config/sparc/constraints.md (w): Rename to... (W): ... this and

Re: [Ada] Fix PR ada/99264

2021-03-12 Thread Eric Botcazou
what > to do if I still need gnat-10 when glibc 2.34 is in use. Otoh, the patch > could be conditional on the glibc version detected. Too much hassle. Please pester the glibc folks if you have any complaint. -- Eric Botcazou

[Ada] Fix ICE on atomic enumeration type with LTO

2021-03-10 Thread Eric Botcazou
This is a strange regression present on the mainline and 10 branch, whereby an enumeration type declared as atomic (or volatile) incorrectly triggers the ODR machinery for its values in LTO mode. Tested on x86-64/Linux, applied on the mainline and 10 branch. 2021-03-10 Eric Botcazou

[SPARC] Fix miscompilation of Ada runtime in 64-bit mode

2021-03-10 Thread Eric Botcazou
-10 Eric Botcazou * config/sparc/sparc.c (sparc_regmode_natural_size): Return 4 for float and vector integer modes only if the mode is not larger. -- Eric Botcazoudiff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index f3557936114..f1504172022 100644 --- a/gcc

Re: [patch] Fix PR fortran/96983

2021-03-10 Thread Eric Botcazou
); > fn = gfc_builtin_decl_for_float_kind (BUILT_IN_ROUND, kind); > } > else Yes, it works fine on x86-64/Linux and SPARC64/Linux, applied, thanks. -- Eric Botcazou

Re: [PATCH] testsuite: Fix up attr-flatten-1.c failure [PR99363]

2021-03-09 Thread Eric Botcazou
> We should still test that we get the warning if the target doesn't have > the attribute. I'll fix the test, thanks. You probably need to do the same on the 10 branch since it fails there too. -- Eric Botcazou

[testsuite] Assorted fixes

2021-03-09 Thread Eric Botcazou
force SRA to trigger on Aarch64 (like PowerPC) for gnat.dg/opt39.adb. Tested on the affected platforms, applied on the mainline as obvious. 2021-03-09 Eric Botcazou * gcc.dg/array-quals-1.c: Pass -fno-pie if supported. * gfortran.dg/pr95690.f90: Replace *-*-solaris* with sparc

Re: [patch] Fix PR C++/90448

2021-03-09 Thread Eric Botcazou
red about the issue for months, so please let's not the best be the enemy of the good... -- Eric Botcazou

Re: [PATCH v2] fix Ada bootstrap on Cygwin64 (PR bootstrap/94918)

2021-03-08 Thread Eric Botcazou
> This one worked. Is that what you had in mind? > > * raise-gcc.c: On Cygwin include mingw32.h to prevent > windows.h from including x86intrin.h or emmintrin.h. Yep, exactly, thanks, you may put it on whichever branch you need. -- Eric Botcazou

[patch] Fix PR fortran/96983

2021-03-08 Thread Eric Botcazou
Hi, AFAICS the code in build_round_expr implicitly assumes that __float128 exists, which is *not* the common case among 64-bit architectures since "long double" is generally already 128-bit for them. Tested on x86-64/Linux and SPARC64/Linux, OK for the mainline? 2021-03-08 Eri

[patch] Fix PR C++/90448

2021-03-08 Thread Eric Botcazou
a register. Bootstrapped/regtested on x86-64/Linux, PowerPC64/Linux and SPARC/Solaris, OK for the mainline and 10 branch? 2021-03-08 Eric Botcazou PR C++/90448 * calls.c (initialize_argument_information): When the argument is passed by reference, do not make a copy in

Re: [PATCH v2] fix Ada bootstrap on Cygwin64 (PR bootstrap/94918)

2021-03-08 Thread Eric Botcazou
mingw32.h" #endif at the appropriate spot in raise-gcc.c instead? -- Eric Botcazou

Re: [pushed] c++: Fix class NTTP constness handling [PR98810]

2021-03-06 Thread Eric Botcazou
> GCC 9 doesn't have the "c++20" target yet. > > * g++.dg/cpp2a/nontype-class-defarg1.C: Use target c++2a. Thanks! -- Eric Botcazou

Re: [pushed] c++: Fix class NTTP constness handling [PR98810]

2021-03-05 Thread Eric Botcazou
ot; for " dg-do 2 compile { target c++20 } " ERROR: g++.dg/cpp2a/nontype-class-defarg1.C -std=c++17: syntax error in target selector "target c++20" for " dg-do 2 compile { target c++20 } " On the contrary, the 10 branch is a in good shape. -- Eric Botcazou

[Ada] Fix PR ada/99264

2021-03-05 Thread Eric Botcazou
This fixes the build breakage introduced by the latest glibc release. Tested on x86-64/Linux, applied on mainline, 10 and 9 branches. 2021-03-05 Eric Botcazou PR ada/99264 * init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on MINSIGSTKSZ and bump size

[patch] Fix PR rtl-optimization/99376

2021-03-04 Thread Eric Botcazou
Hi, this is an undefined behavior spotted by the sanitizer that has managed to go unnoticed until now. Tested on x86-64/Linux, OK for the mainline? 2021-03-04 Eric Botcazou PR rtl-optimization/99376 * rtlanal.c (nonzero_bits1) : If the number of low-order zero bits

Re: [PATCH] sparcv9: Disable -Wuninitialized warnings breaking bootstrap [PR92002]

2021-03-03 Thread Eric Botcazou
t release branches do not have -Werror set, do they? -- Eric Botcazou

Re: [x86] Fix PR target/99264

2021-03-03 Thread Eric Botcazou
0/9 branches as obvious. 2021-03-03 Eric Botcazou PR target/99234 * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target, point back the hard frame pointer to its default location when the frame is larger than SEH_MAX_FRAME_SIZE. -- Eric Botcazoudiff --

[Ada] Fix PR ada/99095

2021-03-02 Thread Eric Botcazou
This is a regression present on the mainline and 10 branch, where we fail to make the bounds explicit for the return value of a function returning an unconstrained array of a limited record type. Tested on x86-64/Linux, applied on mainline and 10 branch. 2021-03-02 Eric Botcazou PR

[x86] Fix PR target/99264

2021-02-26 Thread Eric Botcazou
sequence for SEH whatever the frame size. And it avoids a weird discrepancy between cases where the number of saved general regs is even and cases where it is odd. Tested on x86_64-w64-mingw32, OK for mainline, 10 and 9 branches? 2021-02-26 Eric Botcazou PR target/9926

Re: [PATCH 2/2] sparc: Run SUBTARGET_INIT_BUILTINS if it exists

2021-02-15 Thread Eric Botcazou
2520 100644 > --- a/gcc/config/sparc/sparc.c > +++ b/gcc/config/sparc/sparc.c > @@ -10962,6 +10962,9 @@ sparc_init_builtins (void) > >if (TARGET_VIS) > sparc_vis_init_builtins (); > +#ifdef SUBTARGET_INIT_BUILTINS > + SUBTARGET_INIT_BUILTINS; > +#endif > } Missing blank line before the change. -- Eric Botcazou

Fix cast in df_worklist_dataflow_doublequeue

2021-02-15 Thread Eric Botcazou
The existing cast to float gives weird results in the RTL dump files on x86 when the compiler is configured --with-fpmath=sse. Bootstrapped on x86/Linux, applied on the mainline as obvious. 2021-02-15 Eric Botcazou * df-core.c (df_worklist_dataflow_doublequeue): Use proper cast

[x86] Fix -freorder-blocks-and-partition glitch with Windows SEH

2021-02-11 Thread Eric Botcazou
-functioning Ada compiler when you do a profiled bootstrap. Bootstrapped on x86-64/Windows, applied on all active branches as obvious. 2021-02-11 Eric Botcazou * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to the cold section, emit a nop before the directive if the

Fix PR rtl-optimization/96015

2021-02-09 Thread Eric Botcazou
branch. 2021-02-09 Eric Botcazou PR rtl-optimization/96015 * reorg.c (skip_consecutive_labels): Minor comment tweaks. (relax_delay_slots): When deleting a jump to the next active instruction over a barrier, first delete the barrier if the jump is the only

[Ada] Fix regression with partial rep clause on variant record type

2021-02-03 Thread Eric Botcazou
It is present on the mainline, 10 and 9 branches, and can yield an incorrect layout when there is a partial representation clause on a discriminated record type with a variant part. Tested on x86-64/Linux, applied on mainline, 10 and 9 branches. 2021-02-03 Eric Botcazou * gcc

[Ada] Assorted LTO fixes

2021-02-03 Thread Eric Botcazou
This polishes a few rough edges visible in LTO mode. Tested on x86-64/Linux, applied on mainline, 10 and 9 branches. 2021-02-03 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Make the two fields of the fat pointer type addressable, and do not make the

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> But next time we use SIZE_MAX somewhere it is going to break again this way. > If we just define SIZE_MAX if not defined after all includes in system.h, I > think it is better than this. The existing practice seems to define the missing constants right after the corresponding include, e.g. MAP_

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> Whatever works, I can't test such patches except on Linux, so can you just > create a patch and test it on Solaris where it failed before? Maybe a safer fix is the attached one. Tested on old RedHat and SuSE distros. * fold-const-call.c: Define __STDC_LIMIT_MACROS at the top. -- Eri

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> Whatever works, I can't test such patches except on Linux, so can you just > create a patch and test it on Solaris where it failed before? It fails on old Linux distros, e.g. RHES 5, not on Solaris as far as I know. -- Eric Botcazou

<    1   2   3   4   5   6   7   8   9   10   >