Re: enable sincos optimization on cygming targets

2020-10-22 Thread Jonathan Yong via Gcc-patches
On 10/22/20 11:30 AM, Alexandre Oliva wrote: On Oct 22, 2020, Jonathan Yong wrote: No objections for mingw-w64 since it has been tested, but I'm not certain if the original mingw.org version has it. Prompted by you, I looked into the original mingw32, and found it does NOT have sincos, so I

Re: [committed 1/2] libstdc++: Reduce header dependencies in and on

2020-10-22 Thread Jonathan Wakely via Gcc-patches
On 22/10/20 18:59 +0100, Jonathan Wakely wrote: By moving std::make_obj_using_allocator and the related "utility functions for uses-allocator construction" to a new header, we can avoid including the whole of in and . In order to simplify the implementation of those utility functions they now

Re: [RS6000] Power10 vec-splati-runnable multiple test failures

2020-10-22 Thread Alan Modra via Gcc-patches
On Thu, Oct 22, 2020 at 09:08:58AM -0700, Carl Love wrote: > I see the error print statement you changed so that it would not wrap. > I have always been told it is best not to break the print statement > across two lines. The argument is it makes it harder to find it in the > code when using

Re: [RS6000] VSX_MM_SUFFIX

2020-10-22 Thread Alan Modra via Gcc-patches
On Thu, Oct 22, 2020 at 11:03:14AM -0500, Segher Boessenkool wrote: > On Thu, Oct 22, 2020 at 08:58:10AM -0700, Carl Love wrote: > > OK, looks like VSX_MM_SUFFIX doesn't exist anymore. Don't know what > > happed to it. Thanks. > > It never existed on trunk. Please always regstrap patches on

Re: [Ada] Improve precision of Ada.Directories.Modification_Time

2020-10-22 Thread Hans-Peter Nilsson
On Wed, 21 Oct 2020, Iain Sandoe wrote: > Arnaud Charlet wrote: > > > > This patch breaks bootstrap on Darwin platforms. > > > > > > Pierre-Marie de Rodat wrote: > > > > > > > The modification file time precision now defined by OS. > > > > > > > > Tested on x86_64-pc-linux-gnu, committed on

[r11-4270 Regression] FAIL: 20_util/polymorphic_allocator/construct_pair.cc (test for excess errors) on Linux/x86_64

2020-10-22 Thread sunil.k.pandey via Gcc-patches
On Linux/x86_64, f5d9bc8ae81abe46640477bc9e655aa093947f5f is the first bad commit commit f5d9bc8ae81abe46640477bc9e655aa093947f5f Author: Jonathan Wakely Date: Thu Oct 22 18:42:03 2020 +0100 libstdc++: Only include in if needed caused FAIL:

[committed] libstdc++: Fix custom clock in test

2020-10-22 Thread Jonathan Wakely via Gcc-patches
This test fails in C++20 mode because std::is_clock is false for the test clock, because it doesn't define a duration member. libstdc++-v3/ChangeLog: * testsuite/30_threads/condition_variable/members/68519.cc: Define recent_epoch_float_clock::duration to meet the Cpp17Clock

PowerPC: Allow C/C++ to change long double type on GLIBC 2.32.

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Allow C/C++ to change long double type on GLIBC 2.32. This is a new patch. It turns off the warning about switching the long double type via compile line if the GLIBC is 2.32 or newer. It only does this if the languages are C or C++, since those language libraries support switching the

PowerPC: Use __float128 instead of __ieee128 in tests.

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Use __float128 instead of __ieee128 in tests. I have split all of these patches into separate patches to hopefully get them into the tree. Two of the tests used the __ieee128 keyword instead of __float128. This patch changes those cases to use the official keyword. I have tested this

PowerPC: Update __float128 and __ibm128 error messages.

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Update __float128 and __ibm128 error messages. I have split all of these patches into separate patches to hopefully get them into the tree. This patch attempts to make the error messages for intermixing IEEE 128-bit floating point with IBM 128-bit extended double types to be clearer if

PowerPC: Update IEEE 128-bit built-ins for long double is IEEE 128-bit.

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Update IEEE 128-bit built-ins for long double is IEEE 128-bit. I have split all of these patches into separate patches to hopefully get them into the tree. This patch adds long double variants of the power10 __float128 built-in functions. This is needed when long double uses IEEE

PowerPC: Use __builtin_pack_ieee128 if long double is IEEE 128-bit.

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Use __builtin_pack_ieee128 if long double is IEEE 128-bit. I have split all of these patches into separate patches to hopefully get them into the tree. This patch changes the __ibm128 emulator to use __builtin_pack_ieee128 instead of __builtin_pack_longdouble if long double is IEEE

Re: [PATCH] Use precision and sign to compare types for ranges - update

2020-10-22 Thread Eric Botcazou
> Sorry for missing the regression.. it was there, it just snuck by me in > the noise :-P > > THis seems to resolve the issue on my end, and its the right thing. > > Bootstrapped on x86_64-pc-linux-gnu, no regressions, for SURE this time, > pushed. No problem, thanks for the quick turnaround!

PowerPC: Map q built-ins to *l instead of *f128 if IEEE 128-bit long double.

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Map q built-ins to *l instead of *f128 if IEEE 128-bit long double. I have split all of these patches into separate patches to hopefully get them into the tree. If we map nanq to nanf128 when long double is IEEE, it seems to lose the special signaling vs. non-signaling NAN support.

PowerPC: Update long double IEEE 128-bit tests.

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Update long double IEEE 128-bit tests. I have split all of these patches into separate patches to hopefully get them into the tree. This patch fixes 3 tests in the testsuite that fail if long double is set to IEEE 128-bit. I have tested this patch with bootstrap builds on a little

PowerPC: Add __float128 conversions to/from Decimal

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Add __float128 conversions to/from Decimal. I have split all of these patches into separate patches to hopefully get them into the tree. This patch adds the various decimal to/from IEEE 128-bit conversions. I had to make some changes to the infrastructure, since that infrastructure

PowerPC: Add -mno-gnu-attributes to ibm-ldouble.o

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Add -mno-gnu-attributes to ibm-ldouble.o. I have split all of these patches into separate patches to hopefully get them into the tree. This patch is split off from the patch adding __float128 <-> Decimal conversions. This patch is needed to prevent the linker from issuing a warning

PowerPC: Map IEEE 128-bit long double built-in functions

2020-10-22 Thread Michael Meissner via Gcc-patches
PowerPC: Map IEEE 128-bit long double built-in functions This patch is revised from the first and second versions of the patch posted. It now uses the names that are not in the user's namespace (i.e. __sinieee128 instead of sinf128) that Joseph Myers suggested. In addition, I added the changes

Re: [PATCH] c++: Fix verify_ctor_sanity ICE [PR96241]

2020-10-22 Thread Jason Merrill via Gcc-patches
On 10/15/20 6:18 PM, Marek Polacek wrote: The code added in r10-6437 caused us to create a CONSTRUCTOR when we're {}-initializing an aggregate. Then we pass this new CONSTRUCTOR down to cxx_eval_constant_expression which, if the CONSTRUCTOR isn't TREE_CONSTANT or reduced_constant_expression_p,

[PATCH] Use precision and sign to compare types for ranges - update

2020-10-22 Thread Andrew MacLeod via Gcc-patches
On 10/22/20 3:16 PM, Andrew MacLeod via Gcc-patches wrote: On 10/22/20 12:53 PM, Eric Botcazou wrote: There are a few places in the ranger where we sanity check the types of the ranges.  We were using types_compatible_p() but thats not really acccurate as gimple allows types which are

Re: [patch] Add an if-exists-then-else spec function

2020-10-22 Thread Joseph Myers
This is OK. -- Joseph S. Myers jos...@codesourcery.com

Re: [PATCH v3] c, c++: Implement -Wsizeof-array-div [PR91741]

2020-10-22 Thread Joseph Myers
The C parts are OK. -- Joseph S. Myers jos...@codesourcery.com

Re: Patch ping

2020-10-22 Thread Joseph Myers
On Thu, 22 Oct 2020, Jakub Jelinek via Gcc-patches wrote: > https://gcc.gnu.org/pipermail/gcc-patches/2020-September/554804.html > - PR97164 - reject forming arrays with elt sizes not divisible by elt > alignment OK. > https://gcc.gnu.org/pipermail/gcc-patches/2020-October/556153.html > -

Re: [PATCH 2/2] combine: Don't turn (mult (extend x) 2^n) into extract

2020-10-22 Thread Segher Boessenkool
On Thu, Oct 15, 2020 at 09:59:24AM +0100, Alex Coplan wrote: > Currently, make_extraction() identifies where we can emit an ASHIFT of > an extend in place of an extraction, but fails to make the corresponding > canonicalization/simplification when presented with a MULT by a power of > two. Such a

Re: [PATCH 2/2] combine: Don't turn (mult (extend x) 2^n) into extract

2020-10-22 Thread Segher Boessenkool
Hi Alex, On Thu, Oct 22, 2020 at 09:36:02AM +0100, Alex Coplan wrote: > Ping. > > Hopefully this is easier to review/test now that we fix the AArch64 bug first > and deliberately regress code quality so that the impact of the combine patch > can be measured. Yes, I am just busy. I'll get to it

Re: [PATCH 1/2] [OpenACC] Kernels loops annotation: C and C++.

2020-10-22 Thread Jason Merrill via Gcc-patches
On 9/9/20 1:53 PM, Sandra Loosemore wrote: This patch detects loops in kernels regions that are candidates for parallelization, and adds "#pragma acc loop auto" annotations to them. This annotation is controlled by the -fopenacc-kernels-annotate-loops option, which is enabled by default.

[r11-4226 Regression] FAIL: gfortran.dg/bound_6.f90 -O3 -g execution test on Linux/x86_64

2020-10-22 Thread sunil.k.pandey via Gcc-patches
On Linux/x86_64, b960a9c83a93b58a84a7a370002990810675ac5d is the first bad commit commit b960a9c83a93b58a84a7a370002990810675ac5d Author: Richard Biener Date: Thu Oct 22 09:29:47 2020 +0200 middle-end/97521 - fix VECTOR_CST expansion caused FAIL: c-c++-common/torture/vector-compare-2.c

Re: [patch] Use precision and sign to compare types for ranges

2020-10-22 Thread Andrew MacLeod via Gcc-patches
On 10/22/20 12:53 PM, Eric Botcazou wrote: There are a few places in the ranger where we sanity check the types of the ranges. We were using types_compatible_p() but thats not really acccurate as gimple allows types which are useless_type_conversion_p() in only one direction, whereas

Re: [Ada,FYI] revamp ada.numerics.aux

2020-10-22 Thread Eric Botcazou
> So I'm going ahead and checking this in, approved by Eric Botcazou. > (Rainer's followup patch is coming up separately but momentarily) > > > aarch64-* and ppc*-linux-gnu long long float/long double mismatch Does this fix https://gcc.gnu.org/PR97504 for PowerPC64? Note that S/390 is

[committed 2/2] libstdc++: Only include in if needed

2020-10-22 Thread Jonathan Wakely via Gcc-patches
The header is not small, so should not include it unless it actually needs std::condition_variable, which is only the case when we don't have pthread_rwlock_t and the POSIX Timers option. The header would be even smaller if we had a header for std::condition_variable (separate from

[committed 1/2] libstdc++: Reduce header dependencies in and on

2020-10-22 Thread Jonathan Wakely via Gcc-patches
By moving std::make_obj_using_allocator and the related "utility functions for uses-allocator construction" to a new header, we can avoid including the whole of in and . In order to simplify the implementation of those utility functions they now use concepts unconditionally. They are no longer

[PATCH/RFC] Add -fdiagnostics-path-format=html

2020-10-22 Thread David Malcolm via Gcc-patches
The patch generalizes diagnostic-show-locus.c so that it can print HTML, as well as the existing text output. It uses this to implement a new -fdiagnostics-path-format=html option, in which diagnostic paths are written out as HTML files of the form "DUMP_BASE_NAME.path-[0-9]+.html" For example:

[PATCH] c++: Implement DR2303 [PR97453]

2020-10-22 Thread kamlesh kumar via Gcc-patches
Attaching the patch file. >>Instead of building a hash table, would it work to handle ambiguity by >>checking whether one of the classes is a base of the other? Fixing for cases like: struct B: A,A may not be cleaner this way. On Thu, Oct 22, 2020 at 3:23 AM Jason Merrill wrote: > > On 10/21/20

[PATCH] Implement the "retain" attribute

2020-10-22 Thread Jozef Lawrynowicz
Hi, The attached patch adds support for the new "retain" attribute, which can be applied to function and variable declarations, to protect them from linker garbage collection. Declarations with this attribute will be placed in a new, unique section, and the ".section" assembler directive that

Re: [patch] Use precision and sign to compare types for ranges

2020-10-22 Thread Eric Botcazou
> There are a few places in the ranger where we sanity check the types of > the ranges. We were using types_compatible_p() but thats not really > acccurate as gimple allows types which are useless_type_conversion_p() > in only one direction, whereas types_compatible_p() requires casts in > both

Re: [PATCH][middle-end][i386][version 3]Add -fzero-call-used-regs=[skip|used-gpr-arg|used-arg|all-arg|used-gpr|all-gpr|used|all]

2020-10-22 Thread Qing Zhao via Gcc-patches
> On Oct 22, 2020, at 10:34 AM, Uros Bizjak wrote: > > On Thu, Oct 22, 2020 at 4:47 PM Qing Zhao > wrote: >> >> Hi, Uros, >> >>> On Oct 21, 2020, at 9:45 AM, Qing Zhao via Gcc-patches >>> wrote: >> Something like this: --cut here--

Re: [patch] Use precision and sign to compare types for ranges

2020-10-22 Thread Eric Botcazou
> Just as a heads up ... > > This regresses ACATs C35507N on at least all X86 Darwin I’ve tried. > Both 32 and 64Bit hosts fail (not had the chance to test on power darwin > yet, because that’s got bootstrap issues). I have attached a reproducer, compile it with gnatmake p -O2 and

Re: [RS6000] Power10 vec-splati-runnable multiple test failures

2020-10-22 Thread Segher Boessenkool
Hi! On Thu, Oct 22, 2020 at 09:08:58AM -0700, Carl Love wrote: > On Thu, 2020-10-22 at 17:26 +1030, Alan Modra wrote: > > FAIL: gcc.target/powerpc/vec-splati-runnable.c 1 blank line(s) in > > output > > FAIL: gcc.target/powerpc/vec-splati-runnable.c (test for excess > > errors) > > Excess errors:

Re: [RS6000] Power10 vec-splati-runnable multiple test failures

2020-10-22 Thread Carl Love via Gcc-patches
On Thu, 2020-10-22 at 17:26 +1030, Alan Modra wrote: > FAIL: gcc.target/powerpc/vec-splati-runnable.c 1 blank line(s) in > output > FAIL: gcc.target/powerpc/vec-splati-runnable.c (test for excess > errors) > Excess errors: > rs6000_emit_xxspltidp_v2df called ... > > and running the test fails.

Re: [RS6000] VSX_MM_SUFFIX

2020-10-22 Thread Segher Boessenkool
On Thu, Oct 22, 2020 at 08:58:10AM -0700, Carl Love wrote: > OK, looks like VSX_MM_SUFFIX doesn't exist anymore. Don't know what > happed to it. Thanks. It never existed on trunk. Please always regstrap patches on trunk before committing. It feels unnecessary at times, but now you know why

Re: [RS6000] VSX_MM_SUFFIX

2020-10-22 Thread Carl Love via Gcc-patches
On Thu, 2020-10-22 at 17:21 +1030, Alan Modra wrote: > gcc.target/powerpc/vsx_mask-count-runnable.c and others > Assembler messages: > Error: unrecognized opcode: `vcntmb' > > I'm applying this one as obvious. Ref > https://gcc.gnu.org/pipermail/gcc-patches/2020-July/549757.html > > *

Re: [PATCH][middle-end][i386][version 3]Add -fzero-call-used-regs=[skip|used-gpr-arg|used-arg|all-arg|used-gpr|all-gpr|used|all]

2020-10-22 Thread Uros Bizjak via Gcc-patches
On Thu, Oct 22, 2020 at 4:47 PM Qing Zhao wrote: > > Hi, Uros, > > > On Oct 21, 2020, at 9:45 AM, Qing Zhao via Gcc-patches > > wrote: > > >> > >> Something like this: > >> > >> --cut here-- > >> long double > >> __attribute__ ((noinline)) > >> test (long double a, long double b) > >> { >

Re: [PATCH] arm: Fix multiple inheritance thunks for thumb-1 with -mpure-code

2020-10-22 Thread Richard Earnshaw via Gcc-patches
On 22/10/2020 09:45, Christophe Lyon via Gcc-patches wrote: > On Wed, 21 Oct 2020 at 19:36, Richard Earnshaw > wrote: >> >> On 21/10/2020 17:11, Christophe Lyon via Gcc-patches wrote: >>> On Wed, 21 Oct 2020 at 18:07, Richard Earnshaw >>> wrote: On 21/10/2020 16:49, Christophe Lyon via

Re: [patch] Use precision and sign to compare types for ranges

2020-10-22 Thread Iain Sandoe
Hi Andrew, Andrew MacLeod via Gcc-patches wrote: This fixes the second test case in pr 97360. There are a few places in the ranger where we sanity check the types of the ranges. We were using types_compatible_p() but thats not really acccurate as gimple allows types which are

Re: [PATCH] libstdc++: Apply proposed resolutions for LWG 3428, 3447

2020-10-22 Thread Jonathan Wakely via Gcc-patches
On 22/10/20 11:05 -0400, Patrick Palka via Libstdc++ wrote: Tested on x86_64-pc-linux-gnu. Does this look OK for trunk and the 10 branch? Yes for both, thanks. libstdc++-v3/ChangeLog: * include/std/ranges (single_view::single_view): Mark the in place constructor explicit as

[PATCH] libstdc++: Apply proposed resolutions for LWG 3428, 3447

2020-10-22 Thread Patrick Palka via Gcc-patches
Tested on x86_64-pc-linux-gnu. Does this look OK for trunk and the 10 branch? libstdc++-v3/ChangeLog: * include/std/ranges (single_view::single_view): Mark the in place constructor explicit as per LWG 3428. (take_view): Remove the constraint on the deduction guide's

Re: [patch] OpenMP: Fortran - support omp flush's memorder clauses

2020-10-22 Thread Jakub Jelinek via Gcc-patches
On Thu, Oct 22, 2020 at 04:52:10PM +0200, Tobias Burnus wrote: > + else > +{ > + enum memmodel mo = MEMMODEL_LAST; > + switch (code->ext.omp_clauses->memorder) > + { > + case OMP_MEMORDER_ACQ_REL: mo = MEMMODEL_ACQ_REL; break; > + case OMP_MEMORDER_RELEASE: mo =

[patch] OpenMP: Fortran - support omp flush's memorder clauses

2020-10-22 Thread Tobias Burnus
Add the memorder clause of OpenMP 5 which are already supported by C/C++. (I copied & adapted the two C/C++ testcases.) OK? Tobias PS: An alternative to creating an additional enum would be to include memmodel.h in gfortran.h - and use it directly. But at the end, I decided to copy to follow

Re: [PATCH][middle-end][i386][version 3]Add -fzero-call-used-regs=[skip|used-gpr-arg|used-arg|all-arg|used-gpr|all-gpr|used|all]

2020-10-22 Thread Qing Zhao via Gcc-patches
Hi, Uros, > On Oct 21, 2020, at 9:45 AM, Qing Zhao via Gcc-patches > wrote: >> >> Something like this: >> >> --cut here-- >> long double >> __attribute__ ((noinline)) >> test (long double a, long double b) >> { >> long double r = a + b; >> >> asm volatile ("fldz;\ >>

Re: [PATCH][middle-end][i386][version 3]Add -fzero-call-used-regs=[skip|used-gpr-arg|used-arg|all-arg|used-gpr|all-gpr|used|all]

2020-10-22 Thread Qing Zhao via Gcc-patches
Hi, Richard, Could you please check the following documentation change, and let me know any suggestions? Thanks. Qing > >> +pass parameters. @samp{used-arg} zeros used call-used registers that >> +pass parameters. @samp{arg} zeros all call-used registers that pass >> +parameters. These 3

Re: [PATCH] LTO: check that make command works

2020-10-22 Thread Jeff Law via Gcc-patches
On 10/22/20 6:56 AM, Martin Liška wrote: > Hello. > > The patch is about checking that make command exists for lto-wrapper. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > > gcc/ChangeLog: > >     PR lto/97524 >   

Re: [PATCH 2/8] [RS6000] rs6000_rtx_costs for AND

2020-10-22 Thread Segher Boessenkool
On Thu, Oct 22, 2020 at 08:41:50AM +1030, Alan Modra wrote: > On Wed, Oct 21, 2020 at 03:29:11PM -0500, Segher Boessenkool wrote: > > Anyway: > > > > + || (outer_code == AND > > + && rs6000_is_valid_2insn_and (x, mode))) > > { > > *total =

Re: [PATCH] xfail and improve some failing libgomp tests

2020-10-22 Thread Jakub Jelinek via Gcc-patches
On Tue, Oct 06, 2020 at 05:45:31PM +0200, Tom de Vries wrote: > I've updated the patch accordingly. > > FWIW, I now run into an ICE which looks like PR96680: With the patch I've posted today to fix up declare variant LTO handling, Tobias reported the patch still doesn't work, and there are two

[PATCH] LTO: check that make command works

2020-10-22 Thread Martin Liška
Hello. The patch is about checking that make command exists for lto-wrapper. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: PR lto/97524 * lto-wrapper.c (make_exists): New function.

Re: [RS6000] Adjust testcases for power10 instructions

2020-10-22 Thread Alan Modra via Gcc-patches
On Thu, Oct 22, 2020 at 05:33:46PM +1030, Alan Modra wrote: > * gcc.dg/pr56727-2.c, > * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c, > * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c, > * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c, >

[PATCH 1/2] GCC: Pass --plugin to AR and RANLIB

2020-10-22 Thread H.J. Lu via Gcc-patches
Detect GCC LTO plugin. Pass --plugin to AR and RANLIB to support LTO build. * Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@ (RANLIB): Add @RANLIB_PLUGIN_OPTION@. * configure.ac: Include config/gcc-plugin.m4. AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.

[PATCH 0/2] GCC/Binutils: Pass --plugin to AR and RANLIB

2020-10-22 Thread H.J. Lu via Gcc-patches
In order to support LTO build in binutils, we need to pass --plugin to AR and RANLIB. Add GCC_PLUGIN_OPTION to gcc-plugin.m4 to detect the GCC plugin name. Pass the --plugin option to AR and RANLIB. H.J. Lu (2): GCC: Pass --plugin to AR and RANLIB Binutils: Pass --plugin to AR and RANLIB

[PATCH 2/2] Binutils: Pass --plugin to AR and RANLIB

2020-10-22 Thread H.J. Lu via Gcc-patches
Detect GCC LTO plugin. Pass --plugin to AR and RANLIB to support LTO build. bfd/ * configure: Regenerated. gas/ * configure: Regenerated. gprof/ * configure: Regenerated. ld/ * configure: Regenerated. libctf/ * configure: Regenerated. opcodes/

Re: [PATCH] LTO: get_section: add new argument

2020-10-22 Thread Martin Liška
On 10/22/20 1:42 PM, Martin Jambor wrote: ...is that I think this should be internal_error. I am not sure what difference it makes in practice, if any, though. You are right, using internal_error is a better approach. Martin >From e6ab47df74113e7eae3160d5f9c2f7a7e724feb1 Mon Sep 17 00:00:00

[Ada] Enable the support of 128-bit integer types by default

2020-10-22 Thread Pierre-Marie de Rodat
This enables the support of 128-bit integer types by default on 64-bit platforms (except for BB ports): the -gnate128 switch is removed and the debug switch -gnatd.H can now be used to disable again the support. Technically speaking, apart from the obvious effect on integer types, this will bump

[Ada] AI12-0211: Consistency of inherited nonoverridable aspects

2020-10-22 Thread Pierre-Marie de Rodat
AI12-0211 introduces two new legality rules. The first says that if a nonoverridable aspect is explicitly specified for a type which also inherits that aspect from another type (an ancestor or a progenitor), then the explicit aspect specification shall be confirming. The second says that if a type

[Ada] Update the head comment of Check_Compile_Time_Size

2020-10-22 Thread Pierre-Marie de Rodat
In order to reflect that the size limit is System_Max_Integer_Size now. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * freeze.ads (Check_Compile_Time_Size): Adjust size limit.diff --git a/gcc/ada/freeze.ads b/gcc/ada/freeze.ads --- a/gcc/ada/freeze.ads +++

[Ada] Build support units for 128-bit integer types on 64-bit platforms

2020-10-22 Thread Pierre-Marie de Rodat
This enables the build of the support units for 128-bit integer types in the full runtime of 64-bit platforms. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * Makefile.rtl (64-bit platforms): Add GNATRTL_128BIT_PAIRS to the LIBGNAT_TARGET_PAIRS list and also

[Ada] CUDA: discover runtime types instead of hard-coding

2020-10-22 Thread Pierre-Marie de Rodat
The CUDA bindings change very frequently, sometimes changing the underlying representation of types. In order to reduce the amount of work needed in the compiler on each CUDA update, we make GNAT infer the types it needs instead of hard-coding them. Tested on x86_64-pc-linux-gnu, committed on

[Ada] Wrong accessibility for conversion to named access

2020-10-22 Thread Pierre-Marie de Rodat
This patch fixes an error in the compiler whereby the accessibility level for explicit type conversions from an anonymous access object to a named access type led to spurious runtime accessibility errors. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_util.adb

[Ada] AI12-0095 Formal types and Constrained Partial Views

2020-10-22 Thread Pierre-Marie de Rodat
AI12-0095 is a binding interpretation that revises the RM to have a general rule about how generic formal discriminated types are considered to have a constrained partial view within generic bodies, rather than just have this rule appear in the sections of the RM on Access attributes and type

[Ada] Ada_2020 AI12-0250: Iterator filters in Iterated_Element_Assocations

2020-10-22 Thread Pierre-Marie de Rodat
Iterator filters can appear in loop parameter specifications and in iterator specifications, and thus in Iterated_Element_Awsociations in container aggregates. This patch extend the parsing and expansion of Iterated associations, to better distinguish the Ada_2020 construct from the Ada_2012

[Ada] Reimplementation of accessibility checking

2020-10-22 Thread Pierre-Marie de Rodat
This patch removes much of the logic relating to static and dynamic accessibility level checks and replaces it with a simplified and centralized implementation. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * checks.adb (Apply_Accessibility_Check): Modify condition to

[Ada] Get rid of useless if-then-else in Exp_Fixd.Fpt_Value

2020-10-22 Thread Pierre-Marie de Rodat
The two arms of the conditional construct have been the same for 25 years. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_fixd.adb (Fpt_Value): Fold if-then-else with identical arms.diff --git a/gcc/ada/exp_fixd.adb b/gcc/ada/exp_fixd.adb --- a/gcc/ada/exp_fixd.adb +++

[Ada] Fix parser not detecting casing issues in keywords

2020-10-22 Thread Pierre-Marie de Rodat
Casing issues are not detected when using `-gnaty` if the keyword does not start with a capital letter. This is fixed by checking if any letter in the keywoard is uppercase. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * scng.adb (Scan): Check if any letter of the token is

[Ada] Adjust documentation for Has_Constrained_Partial_View flag

2020-10-22 Thread Pierre-Marie de Rodat
This documents that the Has_Constrained_Partial_View flag now explicitly applies to the base type only. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * einfo.ads (Has_Constrained_Partial_View): Add "base type" marker.diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads ---

[Ada] Implement AI12-0280's interactions with container aggregates

2020-10-22 Thread Pierre-Marie de Rodat
AI12-0280 has already been mostly implemented, but some interactions with container aggregates were not initially implemented. In particular, RM 6.1.1's mention of "the expression of a container_element_association" in the definition of the term "repeatedly evaluated" needs to be reflected in the

[Ada] Implement AI12-0030: Stream attribute availability

2020-10-22 Thread Pierre-Marie de Rodat
An attempt to reference a streaming attribute of a type that has no corresponding attribute definition is typically rejected at compile time. For example, if a task type T lacks a user-defined Read attribute, then a reference to T'Read is illegal. However, obscure ways to bypass these legality

[Ada] Fix oversight in Eval_Attribute for Bit_Position

2020-10-22 Thread Pierre-Marie de Rodat
The code would correctly distinguish the entity from the selected component case but not use the result of the analysis in the latter case. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_attr.adb (Eval_Attribute): Fix oversight for Bit_Position.diff --git

[Ada] AI12-0307: uniform resolution rules for aggregates

2020-10-22 Thread Pierre-Marie de Rodat
The resolution rules for container aggregates can lead to ambiguities when homonym subprograms have a formal of a composite type, and the actual in a call is an aggregate. This patch adds an indication that this aggregate should be qualified to remove the ambiguity. Tested on x86_64-pc-linux-gnu,

[Ada] Reduce scope of local variables for detecting extra WITH clauses

2020-10-22 Thread Pierre-Marie de Rodat
Reduce visibility of variables in procedure Check_Unused_Withs by moving them to a nested procedure Check_One_Unit. Code cleanup; semantics is unaffected. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_warn.adb (Check_Unused_Withs): Move local variables from to

[Ada] Fix bogus error on conversion from Float to 128-bit unsigned

2020-10-22 Thread Pierre-Marie de Rodat
The compiler confuses itself because it generates a range check in Float whose upper bound is 2 ** 128, but this number is larger than the largest number representable in Float so it triggers an error when converted to Float as part of the check. The fix is to saturate the upper bound of the

[Ada] Ada_2020: ongoing work for aggregates for bounded containers

2020-10-22 Thread Pierre-Marie de Rodat
This patch completes the handling of predefined bounded containers, including indexed containers with iterated_component_associations. The size of the constructed object is taken from the size of the aggregate if it can be determined statically, and otherwise uses the default value for the given

[Ada] Fix transformation of Suppress aspect into pragma

2020-10-22 Thread Pierre-Marie de Rodat
Using the Suppress aspect results in a crash. This is caused by the incorrect transformation of the Suppress aspect into its pragma equivalent: the entity and check name were inverted. We use this change as an excuse to turn Make_Aitem_Pragma into a function that returns a new value instead of

[Ada] Refactor appending to possibly empty lists

2020-10-22 Thread Pierre-Marie de Rodat
Reuse Append_New_To when expanding pragmas and appending code to possibly empty lists of statements. This is equivalent to checking it the list exists, allocating a new list if necessary, and appending to it. Code cleanup only related to implementation of aspect Subprogram_Variant, which is

[Ada] Fix error message for import aspect

2020-10-22 Thread Pierre-Marie de Rodat
Confusing error messages are emitted about arguments when erroneously using the import/convention aspect. This is caused by GNAT turning aspects into pragmas and then emitting error messages about pragmas. This is fixed by checking if the pragma comes from an aspect specification and emitting a

[Ada] Add No_Implicit_Task_Allocations and No_Implicit_PO_Allocations to Jorvik

2020-10-22 Thread Pierre-Marie de Rodat
Jorvik was meant to include the restrictions No_Implicit_Task_Allocations and No_Implicit_Protected_Object_Allocations but they accidentally got overlooked during the standardisation of the GNAT_Extended_Ravenscar profile. These restrictions are important as they allow us to statically determine

Re: [patch] libstdc++: Scope configuration for vxworks to all versions

2020-10-22 Thread Olivier Hainque
> On 22 Oct 2020, at 11:09, Jonathan Wakely wrote: > > (Please CC the libstdc++ list for all lisbtdc++ patches) Oh, sure. > Looks good, thanks. Great, thanks for your prompt feedback :) Olivier

Re: [Ada,FYI] revamp ada.numerics.aux

2020-10-22 Thread Alexandre Oliva
On Oct 22, 2020, Alexandre Oliva wrote: > (some regressions remain on x86 and x86_64, > so further changes are expected Here's the fix I'm installing. I'd failed to add the __nolibm bit to x86*-vxworks in the Ada.Numerics.Aux revamp patch. Then, when I added __wraplf for low-precision real

Re: [PATCH] LTO: get_section: add new argument

2020-10-22 Thread Martin Jambor
Hi, On Thu, Oct 22 2020, Martin Liška wrote: > All right, there's a patch that works for me. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > From 33c58cab6bc0d779b11e7ffb36bfb485d73d6816 Mon Sep 17 00:00:00 2001 > From:

Re: enable sincos optimization on cygming targets

2020-10-22 Thread Alexandre Oliva
On Oct 22, 2020, Jonathan Yong <10wa...@gmail.com> wrote: > No objections for mingw-w64 since it has been tested, but I'm not > certain if the original mingw.org version has it. Prompted by you, I looked into the original mingw32, and found it does NOT have sincos, so I withdraw the patch, in

[PATCH] lto: LTO cgraph support for late declare variant resolution

2020-10-22 Thread Jakub Jelinek via Gcc-patches
On Thu, May 14, 2020 at 02:17:45PM +0200, Jakub Jelinek via Gcc-patches wrote: > > For LTO, the patch only saves/restores the two cgraph_node bits added in the > > patch, but doesn't yet stream out and back in the on the side info for the > > declare_variant_alt. For the LTO partitioning, I

[r11-4203 Regression] FAIL: libgomp.fortran/examples-4/simd-2.f90 -Os (test for excess errors) on Linux/x86_64

2020-10-22 Thread sunil.k.pandey via Gcc-patches
On Linux/x86_64, 7026bb9504eb0f95e114f832cd6dd14302376861 is the first bad commit commit 7026bb9504eb0f95e114f832cd6dd14302376861 Author: liuhongt Date: Sat Sep 26 15:34:23 2020 +0800 Refactor implementation of *_bcst{_1,_2,_3} patterns. caused FAIL:

Re: [PATCH] calls.c:can_implement_as_sibling_call_p REG_PARM_STACK_SPACE check

2020-10-22 Thread Alan Modra via Gcc-patches
On Mon, Oct 12, 2020 at 10:37:05PM +1030, Alan Modra wrote: > Ping? > > On Fri, Oct 02, 2020 at 05:03:50PM +0930, Alan Modra wrote: > https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555309.html Ping^2 -- Alan Modra Australia Development Lab, IBM

[PATCH] middle-end/97521 - fix VECTOR_CST expansion

2020-10-22 Thread Richard Biener
This fixes expansion of VECTOR_BOOLEAN_TYPE_P VECTOR_CSTs which when using an integer mode are not always "mask-mode" but may be using an integer mode when there's no supported vector mode. The patch makes sure to only go the mask-mode expansion if the elements do not line up to cover the full

[PATCH] Refactor vect_analyze_slp_instance a bit

2020-10-22 Thread Richard Biener
In preparation for a larger change this refactors vect_analyze_slp_instance so it doesn't need to know a vector type early. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-10-22 Richard Biener * tree-vect-slp.c (vect_analyze_slp_instance): Refactor so

RE: [PATCH] SLP: Move load/store-lanes check till late

2020-10-22 Thread Richard Biener
On Thu, 22 Oct 2020, Tamar Christina wrote: > Hi Richi, > > > -Original Message- > > From: rguent...@c653.arch.suse.de On > > Behalf Of Richard Biener > > Sent: Thursday, October 22, 2020 9:44 AM > > To: Tamar Christina > > Cc: gcc-patches@gcc.gnu.org; nd ; o...@ucw.cz > > Subject: Re:

[Committed] Fix PR97502

2020-10-22 Thread Andreas Krebbel via Gcc-patches
The S/390 backend does not define vec_cmp expanders so far. We relied solely on expanding vcond. With commit 502d63b6d various testcases started to ICE now. This patch just adds the missing expanders to prevent the ICE. However, there are still a couple of performance-related testcase

[Committed] Fix PR97439

2020-10-22 Thread Andreas Krebbel via Gcc-patches
decimal_real_maxval misses to set the sign flag in the REAL_VALUE_TYPE. Bootstrapped and regression tested on IBM Z. Committed to head, gcc-10, gcc-9, and gcc-8 branches. gcc/ChangeLog: PR rtl-optimization/97439 * dfp.c (decimal_real_maxval): Set the sign flag in the

RE: [PATCH] SLP: Move load/store-lanes check till late

2020-10-22 Thread Tamar Christina via Gcc-patches
Hi Richi, > -Original Message- > From: rguent...@c653.arch.suse.de On > Behalf Of Richard Biener > Sent: Thursday, October 22, 2020 9:44 AM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; nd ; o...@ucw.cz > Subject: Re: [PATCH] SLP: Move load/store-lanes check till late > > On

Re: [PATCH] phiopt: Optimize x ? __builtin_clz (x) : 32 in GIMPLE [PR97503]

2020-10-22 Thread Rainer Orth
Hi Jakub, > On Wed, Oct 21, 2020 at 07:30:46PM +0200, Rainer Orth wrote: >> this broke sparc-sun-solaris2.11 bootstrap >> >> /vol/gcc/src/hg/master/local/gcc/tree-ssa-phiopt.c: In function 'bool >> cond_removal_in_popcount_clz_ctz_pattern(basic_block, basic_block, edge, >> edge, gimple*, tree,

Re: [PATCH] openmp: Implement support for OMP_TARGET_OFFLOAD

2020-10-22 Thread Rainer Orth
Hi Jakub, >> the patch also breaks bootstrap on both i386-pc-solaris2.11 and >> sparc-sun-solaris2.11: >> >> /vol/gcc/src/hg/master/local/libgomp/env.c: In function 'initialize_env': >> /vol/gcc/src/hg/master/local/libgomp/env.c:414:16: error: 'new_offload' >> may be used uninitialized in this

Re: [PATCH] ipa-modref-tree.c: fix selftest leaks

2020-10-22 Thread Jan Hubicka
> "make selftest-valgrind" was reporting: > > 40 bytes in 1 blocks are definitely lost in loss record 25 of 735 >at 0x483AE7D: operator new(unsigned long) (vg_replace_malloc.c:344) >by 0xFA0CEA: selftest::test_insert_search_collapse() (ipa-modref-tree.c:40) >by 0xFA2F9B:

Re: [PATCH] ipa-modref-tree.c: fix selftest leaks

2020-10-22 Thread Richard Biener via Gcc-patches
On Thu, Oct 22, 2020 at 12:26 PM David Malcolm via Gcc-patches wrote: > > "make selftest-valgrind" was reporting: > > 40 bytes in 1 blocks are definitely lost in loss record 25 of 735 >at 0x483AE7D: operator new(unsigned long) (vg_replace_malloc.c:344) >by 0xFA0CEA:

[committed] analyzer: fix ICE when handling callback exceeds enode limit [PR97514]

2020-10-22 Thread David Malcolm via Gcc-patches
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. Pushed to master as r11-4222-gf7decfaebbcb8522fcb39b03a391a5c2cb64f460. gcc/analyzer/ChangeLog: PR analyzer/97514 * engine.cc (exploded_graph::add_function_entry): Handle failure to create an enode, rather than

  1   2   >