[PATCH] libstdc++: Implement LWG 3555 changes to transform/elements_view

2021-06-17 Thread Patrick Palka via Gcc-patches
libstdc++-v3/ChangeLog: * include/std/ranges (transform_view::_Iterator::_S_iter_concept): Consider _Base instead of _Vp as per LWG 3555. (elements_view::_Iterator::_S_iter_concept): Likewise. --- libstdc++-v3/include/std/ranges | 12 ++-- 1 file changed, 6 inserti

[PATCH] libstdc++: Implement LWG 3553 change to split_view

2021-06-17 Thread Patrick Palka via Gcc-patches
libstdc++-v3/ChangeLog: * include/std/ranges (split_view::_OuterIter::value_type::begin): Remove the non-const overload, and remove the copyable constraint on the const overload as per LWG 3553. --- libstdc++-v3/include/std/ranges | 6 -- 1 file changed, 6 deletions(-)

[PATCH] libstdc++: Implement LWG 3546 changes to common_iterator

2021-06-17 Thread Patrick Palka via Gcc-patches
libstdc++-v3/ChangeLog: * include/bits/stl_iterator.h (__detail::__common_iter_use_postfix_proxy): Add move_constructible constraint as LWG 3546. (common_iterator::__postfix_proxy): Adjust initializer of _M_keep as per LWG 3546. --- libstdc++-v3/include/bit

[PATCH v2] [MIPS]: add .module mipsREV to all output asm file

2021-06-17 Thread YunQiang Su
Currently, the asm output file for MIPS has no rev info. It can make some trouble, for example: assembler is mips1 by default, gcc is fpxx by default. To assemble the output of gcc -S, we have to pass -mips2 to assembler. gcc/ChangeLog: * gcc/config/mips/mips.c (mips_module_isa_name): New

Re: [Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Tobias Burnus
On 17.06.21 23:57, Sandra Loosemore wrote: On 6/17/21 1:40 PM, Jakub Jelinek wrote: Could we introduce a different option which wouldn't imply enabling that target: -foffload-options==option I think that works – in particular, if we do not document all the legacy stuff but just how it should

[PATCH 2/3 V2] Fix IEEE 128-bit min/max test.

2021-06-17 Thread Michael Meissner via Gcc-patches
Here is a replacement patch. Can I check this into the master branch, and eventually backport it to GCC 11? [PATCH] Fix IEEE 128-bit min/max test. This patch fixes the float128-minmax.c test so that it can accommodate the generation of xsmincqp and xsmaxcqp instructions on power10. I changed th

[PATCH] Modula-2 into the GCC tree on master

2021-06-17 Thread Gaius Mulley via Gcc-patches
make -j 4 for front ends c,c++,m2 all compiled and bootstrapped. How to merge 1. apply patches below to the master GCC tree. 2. cd gcc-git-top wget http://floppsie.comp.glam.ac.uk/download/c/gm2-front-end-20210617-tar.gz tar zxf gm2-front-end-20210617-tar.gz rm gm2-front-end

Re: [Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Sandra Loosemore
On 6/17/21 1:40 PM, Jakub Jelinek wrote: On Thu, Jun 17, 2021 at 09:28:00PM +0200, Tobias Burnus wrote: I am not sure whether I fully agree with this or not. However: Let's propose something radical, which probably won't break any real-world code, avoids the need to add a new -foffload= keyword

[committed] libstdc++: Simplify constexpr checks in std::char_traits [PR 91488]

2021-06-17 Thread Jonathan Wakely via Gcc-patches
This removes the helper functions added by r8-1294 to detect whether the char_traits member functions can be evaluated at compile time. Instead, we can just use __builtin_constant_evaluated directly, which is well supported by non-GCC compilers by now. As a result, there is a chance that those mem

Re: [PATCH] gcc/configure.ac: fix register issue for global_load assembler functions

2021-06-17 Thread Joseph Myers
On Thu, 17 Jun 2021, Marcel Vollweiler wrote: > Thank you for your proposals. I adapted configure.ac and gcn.c > accordingly (similar to the GATHER_STATISTICS example). Thanks, the configure changes in this version are OK. -- Joseph S. Myers jos...@codesourcery.com

[pushed] c++: deleted after first declaration [PR101106]

2021-06-17 Thread Jason Merrill via Gcc-patches
An explicitly deleted function must be deleted on its first declaration. We were diagnosing this error only with -Wpedantic, but always giving the "previous declaration" note. This patch removes the -Wpedantic dependency and also makes the note depend on the previous diagnostic. Tested x86_64-pc

Re: [PATCH 2/3] Fix IEEE 128-bit min/max test.

2021-06-17 Thread Michael Meissner via Gcc-patches
On Thu, Jun 17, 2021 at 01:11:58PM -0500, Segher Boessenkool wrote: > On Tue, Jun 08, 2021 at 08:22:40PM -0400, Michael Meissner wrote: > > > > * gcc.target/powerpc/float128-minmax.c: Adjust expected code for > > power10. > > * lib/target-supports.exp (check_effective_target_has_arch_p

Re: [Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Jakub Jelinek via Gcc-patches
On Thu, Jun 17, 2021 at 09:28:00PM +0200, Tobias Burnus wrote: > I am not sure whether I fully agree with this or not. However: > > Let's propose something radical, which probably won't break any real-world > code, avoids the need to add a new -foffload= keyword and is > also intuitive to the user

[Patch, fortran V3] PR fortran/100683 - Array initialization refuses valid

2021-06-17 Thread José Rui Faustino de Sousa via Gcc-patches
Hi all! Update to a proposed patch to: PR100683 - Array initialization refuses valid due to more errors being found... Patch tested only on x86_64-pc-linux-gnu. Add call to simplify expression before parsing *and* check *appropriately* if the expression is still an array after simplification

Re: [Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Tobias Burnus
On 17.06.21 19:50, Jakub Jelinek wrote: On Thu, Jun 17, 2021 at 11:41:39AM -0600, Sandra Loosemore wrote: I think it would useful to add an example with a target list and multiple options since I think the syntax looks pretty hairy. I fully concur that -foffload= is a mess trying to achieve t

Re: [PATCH 2/3] Fix IEEE 128-bit min/max test.

2021-06-17 Thread Michael Meissner via Gcc-patches
On Thu, Jun 17, 2021 at 01:11:58PM -0500, Segher Boessenkool wrote: > On Tue, Jun 08, 2021 at 08:22:40PM -0400, Michael Meissner wrote: > > > > * gcc.target/powerpc/float128-minmax.c: Adjust expected code for > > power10. > > * lib/target-supports.exp (check_effective_target_has_arch_p

Re: [PATCH 1/3] Add IEEE 128-bit min/max support on PowerPC.

2021-06-17 Thread Michael Meissner via Gcc-patches
On Thu, Jun 17, 2021 at 12:39:04PM -0500, Segher Boessenkool wrote: > On Tue, Jun 08, 2021 at 08:21:25PM -0400, Michael Meissner wrote: > > GCC will not convert ternary operations into using min/max instructions > > provided in this patch unless the user uses -Ofast or similar switches due > > to

Re: [PATCH 3/6] return auto_vec from get_loop_hot_path

2021-06-17 Thread Christophe Lyon via Gcc-patches
On Thu, Jun 17, 2021 at 4:53 PM Trevor Saunders wrote: > On Thu, Jun 17, 2021 at 03:48:28PM +0200, Christophe Lyon wrote: > > On Tue, 15 Jun 2021 at 08:47, Richard Biener via Gcc-patches > > wrote: > > > > > > On Tue, Jun 15, 2021 at 8:01 AM Trevor Saunders > wrote: > > > > > > > > This ensures

Re: [PATCH 1/5] libstdc++: Implement P2325 changes to default-constructibilty of views

2021-06-17 Thread Jonathan Wakely via Gcc-patches
On Thu, 17 Jun 2021, 19:19 Jonathan Wakely, wrote: > > > On Thu, 17 Jun 2021, 16:50 Patrick Palka via Libstdc++, < > libstd...@gcc.gnu.org> wrote: > >> This implements the wording changes of P2325R3 "Views should not be >> required to be default constructible". Changes are relatively >> straight

Re: [PATCH 1/5] libstdc++: Implement P2325 changes to default-constructibilty of views

2021-06-17 Thread Jonathan Wakely via Gcc-patches
On Thu, 17 Jun 2021, 16:50 Patrick Palka via Libstdc++, < libstd...@gcc.gnu.org> wrote: > This implements the wording changes of P2325R3 "Views should not be > required to be default constructible". Changes are relatively > straightforward, besides perhaps those to __box (which now stands > for c

Re: [PATCH 2/5] libstdc++: Move ranges algos used by into ranges_util.h

2021-06-17 Thread Jonathan Wakely via Gcc-patches
On Thu, 17 Jun 2021, 16:47 Patrick Palka via Libstdc++, < libstd...@gcc.gnu.org> wrote: > The header defines simplified copies of some ranges algorithms > in order to avoid including the entirety of ranges_algo.h. A subsequent > patch is going to want to use ranges::search in as well, but > tha

Re: [PATCH 2/3] Fix IEEE 128-bit min/max test.

2021-06-17 Thread Segher Boessenkool
On Tue, Jun 08, 2021 at 08:22:40PM -0400, Michael Meissner wrote: > > * gcc.target/powerpc/float128-minmax.c: Adjust expected code for > power10. > * lib/target-supports.exp (check_effective_target_has_arch_pwr10): > New target support. > --- > gcc/testsuite/gcc.target/pow

Re: [Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Jakub Jelinek via Gcc-patches
On Thu, Jun 17, 2021 at 11:41:39AM -0600, Sandra Loosemore wrote: > On 6/17/21 10:03 AM, Tobias Burnus wrote: > > > Updated version – only lightly tested.  I think it is > > consistent like that and the documentation should now be > > comprehensive.  (I will have to do some additional testing.) >

Re: [Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Sandra Loosemore
On 6/17/21 10:03 AM, Tobias Burnus wrote: Updated version – only lightly tested.  I think it is consistent like that and the documentation should now be comprehensive.  (I will have to do some additional testing.) Further comments and thoughts? Hmmm, I had started to put together some comment

Re: [PATCH 1/3] Add IEEE 128-bit min/max support on PowerPC.

2021-06-17 Thread Segher Boessenkool
On Tue, Jun 08, 2021 at 08:21:25PM -0400, Michael Meissner wrote: > GCC will not convert ternary operations into using min/max instructions > provided in this patch unless the user uses -Ofast or similar switches due to > issues with NaNs. It will not do it because it is *incorrect* to do :-) (Th

Re: [PATCH RFC] mklog: add subject line skeleton

2021-06-17 Thread Jason Merrill via Gcc-patches
On 6/17/21 5:17 AM, Martin Liška wrote: On 6/17/21 5:42 AM, Jason Merrill wrote: |Does this seem like an improvement?| Yes, I support the patch. I've made some adjustments to the patch in order to make flake8 happy. Pushed with those changes, thanks. Jason

Re: [PATCH] libstdc++: Fix for deadlock in std::counting_semaphore [PR100806]

2021-06-17 Thread Jonathan Wakely via Gcc-patches
On Wed, 16 Jun 2021 at 20:53, Thomas Rodgers wrote: > > Same as previous version except removing the copyright notice from the > test. > > libstdc++-v3/ChangeLog: > libstdc++/PR100806 > * include/bits/semaphore_base.h (__atomic_semaphore::_M_release(): > Force _M_release()

RE: [EXTERNAL] [PATCH] gcov: Use system IO buffering

2021-06-17 Thread Eugene Rozenfeld via Gcc-patches
Thank you for your reply Martin! AUTO_PROFILE_VERSION should also be changed. Then create_gcov can be updated to support both the old format and the new format. Eugene -Original Message- From: Martin Liška Sent: Thursday, June 17, 2021 2:38 AM To: Eugene Rozenfeld ; gcc-patches@gcc.gn

Re: [Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Tobias Burnus
On 17.06.21 14:27, Jakub Jelinek via Gcc-patches wrote: How does this interact with --enable-offload-defaulted ? Well, it requires all configured offload targets, making the installation mandatory. I think that's fine and consistent and is as documented. Won't -fopenmp=default=-lm force in a

[PATCH 55/55] rs6000: Enable the new builtin support

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_init_file): Initialize new_builtins_are_live to 1. --- gcc/config/rs6000/rs6000-gen-builtins.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c

[PATCH 54/55] rs6000: Test case adjustments

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/testsuite/ * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Adjust

[PATCH 53/55] rs6000: Update altivec.h for automated interfaces

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-10 Bill Schmidt gcc/ * config/rs6000/altivec.h: Delete a number of #defines that are now superfluous; include rs6000-vecdefines.h; include some synonyms. --- gcc/config/rs6000/altivec.h | 522 +++- 1 file changed, 41 insertions(+)

[PATCH 52/55] rs6000: Debug support

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_debug_type): New function. (def_builtin): Change debug formatting for easier parsing and include more information. (rs6000_init_builtins): Add dump of autogenerated builtins. (altivec_init

[PATCH 51/55] rs6000: Miscellaneous uses of rs6000_builtin_decls_x

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Use rs6000_builtin_decls_x when appropriate. (add_condition_to_bb): Likewise. (rs6000_atomic_assign_expand_fenv): Likewise. --- gcc/config/rs6000/rs6000.c | 19 ---

[PATCH 50/55] rs6000: Update rs6000_builtin_decl

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_new_builtin_decl): New function. (rs6000_builtin_decl): Call it. --- gcc/config/rs6000/rs6000-call.c | 20 1 file changed, 20 insertions(+) diff --git a/gcc/config/rs6000/rs6000-cal

[PATCH 49/55] rs6000: Builtin expansion, part 6

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-24 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_htm_spr_num): New function. (new_htm_expand_builtin): Implement. (rs6000_expand_new_builtin): Handle 32-bit and endian cases. --- gcc/config/rs6000/rs6000-call.c | 202 1 fi

[PATCH 48/55] rs6000: Builtin expansion, part 5

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-17 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_mma_expand_builtin): Implement. --- gcc/config/rs6000/rs6000-call.c | 103 1 file changed, 103 insertions(+) diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000

[PATCH 47/55] rs6000: Builtin expansion, part 4

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (elemrev_icode): Implement. (ldv_expand_builtin): Likewise. (lxvrse_expand_builtin): Likewise. (lxvrze_expand_builtin): Likewise. (stv_expand_builtin): Likewise. --- gcc/config/rs6000/rs6000-call

[PATCH 46/55] rs6000: Builtin expansion, part 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_cpu_expand_builtin): Implement. --- gcc/config/rs6000/rs6000-call.c | 100 1 file changed, 100 insertions(+) diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000

[PATCH 45/55] rs6000: Builtin expansion, part 2

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_invalid_new_builtin): Implement. (rs6000_expand_ldst_mask): Likewise. (rs6000_init_builtins): Initialize altivec_builtin_mask_for_load. --- gcc/config/rs6000/rs6000-call.c | 101 +

[PATCH 44/55] rs6000: Builtin expansion, part 1

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-17 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): New forward decl. (rs6000_invalid_new_builtin): New stub function. (rs6000_expand_builtin): Call rs6000_expand_new_builtin. (rs6000_expand_ldst_mask): New stub functio

[PATCH 43/55] rs6000: Support for vectorizing built-in functions

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000.c (rs6000-builtins.h): New include. (rs6000_new_builtin_vectorized_function): New function. (rs6000_new_builtin_md_vectorized_function): Likewise. (rs6000_builtin_vectorized_function): Call rs6000_new_bu

[PATCH 42/55] rs6000: Handle gimple folding of target built-ins

2021-06-17 Thread Bill Schmidt via Gcc-patches
This is another patch that looks bigger than it really is. Because we have a new namespace for the builtins, allowing us to have both the old and new builtin infrastructure supported at once, we need versions of these functions that use the new builtin namespace. Otherwise the code is unchanged.

[PATCH 41/55] rs6000: Handle overloads during program parsing

2021-06-17 Thread Bill Schmidt via Gcc-patches
Although this patch looks quite large, the changes are fairly minimal. Most of it is duplicating the large function that does the overload resolution using the automatically generated data structures instead of the old hand-generated ones. This doesn't make the patch terribly easy to review, unfor

[PATCH 40/55] rs6000: Always initialize vector_pair and vector_quad nodes

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-24 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Remove TARGET_EXTRA_BUILTINS guard. --- gcc/config/rs6000/rs6000-call.c | 51 - 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/gcc/config/rs6000/r

[PATCH 39/55] rs6000: Add sanity to V2DI_type_node definitions

2021-06-17 Thread Bill Schmidt via Gcc-patches
It seems quite strange for these to be "vector long" for 64-bit and "vector long long" for 32-bit, when "vector long long" will do for both. 2021-03-04 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Change initialization of V2DI_type_node and unsigned_V

[PATCH 38/55] rs6000: Darwin builtin support

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-04 Bill Schmidt gcc/ * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Use the new decl when new_builtins_are_live. * config/rs6000/rs6000-builtin-new.def (__builtin_cfstring): New built-in. --- gcc/config/rs6000/darwin.h | 8 ++-- gc

[PATCH 37/55] rs6000: Execute the automatic built-in initialization code

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-04 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000-builtins.h): New #include. (rs6000_init_builtins): Call rs6000_autoinit_builtins; skip the old initialization logic when new builtins are enabled. --- gcc/config/rs6000/rs6000-call.c | 12 1

[PATCH 35/55] rs6000: Add Cell builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add cell stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 27 1 file changed, 27 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin-

[PATCH 34/55] rs6000: Add miscellaneous builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add ieee128-hw, dfp, crypto, and htm stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 215 +++ 1 file changed, 215 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.de

[PATCH 33/55] rs6000: Add MMA builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-16 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add mma stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 416 +++ 1 file changed, 416 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin-

[PATCH 32/55] rs6000: Add Power10 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power10 and power10-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 523 +++ 1 file changed, 523 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/c

[PATCH 31/55] rs6000: Add more type nodes to support builtin processing

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-10 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Initialize various pointer type nodes. * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add enum values for various pointer types. (ptr_V16QI_type_node): New macro.

[PATCH 30/55] rs6000: Add Power9 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power9-vector, power9, and power9-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 375 +++ 1 file changed, 375 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-ne

[PATCH 29/55] rs6000: Add power8-vector builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power8-vector stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 438 +++ 1 file changed, 438 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs600

[PATCH 28/55] rs6000: Add power7 and power7-64 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power7 and power7-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 39 1 file changed, 39 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/conf

[PATCH 27/55] rs6000: Add available-everywhere and ancient builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add always, power5, and power6 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 72 1 file changed, 72 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gc

[PATCH 3/5] libstdc++: Rename views::split to views::lazy_split as per P2210

2021-06-17 Thread Patrick Palka via Gcc-patches
This mostly mechanical patch performs the renaming part of P2210R3 "Superior string splitting". It also defines _InnerIter::base() overloads. libstdc++-v3/ChangeLog: * include/std/ranges: Rename views::split to views::lazy_split, split_view to lazy_split_view, etc. throughout.

[PATCH 26/55] rs6000: Add VSX builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add vsx stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 857 +++ 1 file changed, 857 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin-

[PATCH 25/55] rs6000: Add the rest of the [altivec] stanza to the builtins file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-10 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Finish altivec stanza. * config/rs6000/rs6000-call.c (rs6000_init_builtins): Move initialization of pcvoid_type_node here... (altivec_init_builtins): ...from here. * config/rs6000/rs6000

[PATCH 5/5] libstdc++: Implement new views::split as per P2210

2021-06-17 Thread Patrick Palka via Gcc-patches
This implements the new views::split as specified by P2210R2 "Superior string splitting". libstdc++-v3/ChangeLog: * include/std/ranges (__non_propagating_cache::operator bool): Define. (split_view): Define as per P2210. (views::__detail::__can_split_view): Define.

[PATCH 4/5] libstdc++: Implement resolution of LWG 3478 as per P2210

2021-06-17 Thread Patrick Palka via Gcc-patches
This implements the part of P2210R2 "Superior String Splitting" that resolves LWG 3478 for split_view (now named lazy_split_view). libstdc++-v3/ChangeLog: * include/std/ranges (lazy_split_view::_OuterIter::__at_end): Check _M_trailing_empty. (lazy_split_view::_OuterIter::_

[PATCH 1/5] libstdc++: Implement P2325 changes to default-constructibilty of views

2021-06-17 Thread Patrick Palka via Gcc-patches
This implements the wording changes of P2325R3 "Views should not be required to be default constructible". Changes are relatively straightforward, besides perhaps those to __box (which now stands for copyable-box instead of semiregular-box) and __non_propagating_cache. For __box, this patch imple

[PATCH 24/55] rs6000: Add gengtype handling to the build machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config.gcc (target_gtfiles): Add ./rs6000-builtins.h. * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Set. --- gcc/config.gcc | 1 + gcc/config/rs6000/t-rs6000 | 1 + 2 files changed, 2 insertions(+) diff --git a/gcc/config.gcc b/gcc/con

[PATCH 2/5] libstdc++: Move ranges algos used by into ranges_util.h

2021-06-17 Thread Patrick Palka via Gcc-patches
The header defines simplified copies of some ranges algorithms in order to avoid including the entirety of ranges_algo.h. A subsequent patch is going to want to use ranges::search in as well, but that algorithm is more complicated compared to the other copied ones. So rather than additionally c

[PATCH 23/55] rs6000: Incorporate new builtins code into the build machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config.gcc (extra_objs): Include rs6000-builtins.o and rs6000-c.o. * config/rs6000/t-rs6000 (rs6000-gen-builtins.o): New target. (rbtree.o): Likewise. (rs6000-gen-builtins): Likewise. (rs6000-builtins.c): Likewise.

[PATCH 22/55] rs6000: Write static initializations for overload tables

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_ovld_static_init): New function. (write_init_file): Call write_ovld_static_init. --- gcc/config/rs6000/rs6000-gen-builtins.c | 53 + 1 file changed, 53 insertions(+) diff

[PATCH 21/55] rs6000: Write static initializations for built-in table

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_bif_static_init): New function. (write_init_file): Call write_bif_static_init. --- gcc/config/rs6000/rs6000-gen-builtins.c | 106 1 file changed, 106 insertions(+) diff -

[PATCH 20/55] rs6000: Write output to the builtins init file, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (typemap): New struct. (TYPE_MAP_SIZE): New macro. (type_map): New initialized variable. (map_token_to_type_node): New function. (write_type_node): Likewise. (write_fntype_init): I

[PATCH 19/55] rs6000: Write output to the builtins init file, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_init_bif_table): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 81 + 1 file changed, 81 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config

[PATCH 18/55] rs6000: Write output to the builtins init file, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_fntype): New callback function. (write_fntype_init): New stub function. (write_init_bif_table): Likewise. (write_init_ovld_table): New function. (write_init_file): Implement

[PATCH 17/55] rs6000: Write output to the builtins header file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_autogenerated_header): New function. (write_decls): Likewise. (write_extern_fntype): New callback function. (write_header_file): Implement. --- gcc/config/rs6000/rs6000-gen-builtin

[PATCH 16/55] rs6000: Write output to the builtin definition include file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_defines_file): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 17 + 1 file changed, 17 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6000/rs

[PATCH 15/55] rs6000: Build and store function type identifiers

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (complete_vector_type): New function. (complete_base_type): Likewise. (construct_fntype_id): Likewise. (parse_bif_entry): Call contruct_fntype_id. (parse_ovld_entry): Likewise. ---

[PATCH 14/55] rs6000: Parsing of overload input file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (ovld_stanza): New struct. (MAXOVLDSTANZAS): New macro. (ovld_stanzas): New variable. (curr_ovld_stanza): Likewise. (MAXOVLDS): New macro. (ovlddata): New struct. (ovlds):

[PATCH 13/55] rs6000: Parsing built-in input file, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (parse_bif_attrs): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 102 1 file changed, 102 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6

[PATCH 12/55] rs6000: Parsing built-in input file, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (parse_args): New function. (parse_prototype): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 142 1 file changed, 142 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-

[PATCH 11/55] rs6000: Parsing built-in input file, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (bif_stanza): New enum. (curr_bif_stanza): New variable. (stanza_entry): New struct. (stanza_map): New initialized variable. (enable_string): Likewise. (fnkinds): New enum.

[PATCH 10/55] rs6000: Main function with stubs for parsing and output

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-08 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (rbtree.h): New #include. (num_bifs): New variable. (num_ovld_stanzas): Likewise. (num_ovlds): Likewise. (parse_codes): New enum. (bif_rbt): New variable. (ovld_rbt): Likew

[PATCH 09/55] rs6000: Red-black tree implementation for balanced tree search

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-08 Bill Schmidt gcc/ * config/rs6000/rbtree.c: New file. * config/rs6000/rbtree.h: New file. --- gcc/config/rs6000/rbtree.c | 242 + gcc/config/rs6000/rbtree.h | 52 2 files changed, 294 insertions(+) create mode 100644 gcc

[PATCH 08/55] rs6000: Add functions for matching types, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (restriction): New enum. (typeinfo): Add restr field. (match_bracketed_pair): New function. (match_const_restriction): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 115 +++

[PATCH 07/55] rs6000: Add functions for matching types, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (match_basetype): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 64 + 1 file changed, 64 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6000/rs6000

[PATCH 06/55] rs6000: Add functions for matching types, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (void_status): New enum. (basetype): Likewise. (typeinfo): Likewise. (handle_pointer): New function. (match_basetype): New stub function. (match_const_restriction): Likewise.

[PATCH 05/55] rs6000: Add helper functions for parsing

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (consume_whitespace): New function. (advance_line): Likewise. (safe_inc_pos): Likewise. (match_identifier): Likewise. (match_integer): Likewise. (match_to_right_bracket): L

[PATCH 04/55] rs6000: Add file support and functions for diagnostic support

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (bif_file): New variable. (ovld_file): Likewise. (header_file): Likewise. (init_file): Likewise. (defines_file): Likewise. (pgm_path): Likewise. (bif_path): Likewise.

[PATCH 03/55] rs6000: Add initial input files

2021-06-17 Thread Bill Schmidt via Gcc-patches
This patch adds a tiny subset of the built-in and overload descriptions. 2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: New. * config/rs6000/rs6000-overload.def: New. --- gcc/config/rs6000/rs6000-builtin-new.def | 199 +++ gcc/config/r

[PATCH 02/55] rs6000: Initial create of rs6000-gen-builtins.c

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c: New. --- gcc/config/rs6000/rs6000-gen-builtins.c | 165 1 file changed, 165 insertions(+) create mode 100644 gcc/config/rs6000/rs6000-gen-builtins.c diff --git a/gcc/config/rs6000/rs6000-gen-

[PATCH 01/55] Support scanning of build-time GC roots in gengtype

2021-06-17 Thread Bill Schmidt via Gcc-patches
Currently gengtype supports scanning target-specific files for GC roots, but those files must exist in the source tree. This patch extends the support to include header files generated into the build directory. It also allows targets to specify build dependencies for s-gtype to ensure the built h

[PATCHv3 00/55] Replace the Power target-specific builtin machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
Original patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568840.html V2 patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/572231.html I've made some slight changes to the V2 series because of recent updates to trunk from Carl Love and Peter Bergner. C

Re: [PATCH 5/6] make get_domminated_by_region return a auto_vec

2021-06-17 Thread Martin Sebor via Gcc-patches
On 6/17/21 12:03 AM, Richard Biener wrote: On Wed, Jun 16, 2021 at 6:01 PM Martin Sebor wrote: On 6/16/21 6:46 AM, Richard Sandiford via Gcc-patches wrote: Richard Biener via Gcc-patches writes: On Tue, Jun 15, 2021 at 8:02 AM Trevor Saunders wrote: This makes it clear the caller owns th

Re: [PATCH 3/6] return auto_vec from get_loop_hot_path

2021-06-17 Thread Trevor Saunders
On Thu, Jun 17, 2021 at 03:48:28PM +0200, Christophe Lyon wrote: > On Tue, 15 Jun 2021 at 08:47, Richard Biener via Gcc-patches > wrote: > > > > On Tue, Jun 15, 2021 at 8:01 AM Trevor Saunders > > wrote: > > > > > > This ensures callers take ownership of the returned vector. > > > > > > Signed-o

[Ada] Crash on overriding of an abstract primitive on an incomplete type

2021-06-17 Thread Pierre-Marie de Rodat
This combination breaks an assumption in Sem_Ch3.Check_Ops_From_Incomplete_Type. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against no Primitive_Operations.diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.a

[Ada] Fix operations on Unbounded_String...

2021-06-17 Thread Pierre-Marie de Rodat
... when its length is close to Natural'Last. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * libgnat/a-strunb__shared.ads (Allocate): Additional parameter to provide additional amount of space to be allocated. * libgnat/a-strunb__shared.adb (Aligned_Max_Leng

[Ada] Warn on 'in out' param containing access in predefined private type

2021-06-17 Thread Pierre-Marie de Rodat
Normally the warnings: warning: formal parameter "..." is not modified warning: mode could be "in" instead of "in out" are disabled if the type contains components of an access type. This patch enables such warnings if the only such components are in internal private types. Tested on x8

[Ada] Implementation of Inox feature of fixed lower bounds on array types/subtypes

2021-06-17 Thread Pierre-Marie de Rodat
This is a prototype implementation of the feature for defining array types and subtypes with fixed lower bounds for index ranges as proposed as part of the "Inox" language design effort. This feature is currently supported under control of the -gnatX (language extensions) switch, and allows unconst

[Ada] Casing on composite values

2021-06-17 Thread Pierre-Marie de Rodat
Initial support for casing on composite values if extensions are allowed (e.g., if -gnatX is specified). The implementation is far from complete. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_ch5.adb (Expand_N_Case_Statement.Expand_General_Case_Statement): New

[Ada] Missing finalization on nested expression with action

2021-06-17 Thread Pierre-Marie de Rodat
Finalization may be missed when at least two if or case expressions are nested together and a controlled object is created after the nested expression. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do n

[Ada] Crash on a nested aggregate containing controlled objects

2021-06-17 Thread Pierre-Marie de Rodat
Exp_Util.Find_Hook_Context wasn't prepared to handle this case properly and we ended up inserting a statement in the middle of an aggregate, causing chaos. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_util.adb (Find_Hook_Context): Do not stop on an aggregate n

[Ada] Remove dubious wrapper of a recursive function

2021-06-17 Thread Pierre-Marie de Rodat
Routine Is_Valid_Renaming was a wrapper subprogram that simply called its nested function. Code cleanup; semantics is unaffected. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_util.adb (Is_Valid_Renaming): Body moved from its nested routine.diff --git a/gcc/ada

[Ada] Don't check No_Wide_Characters restriction for illegal types

2021-06-17 Thread Pierre-Marie de Rodat
On illegal declarations of illegal types, e.g.: type X; type X is new X; the No_Wide_Characters restriction was checked using an incomplete entity of type X, which caused a crash. Now restriction No_Wide_Characters in derived types is checked after the legality of the parent type has been

  1   2   >