Re: [wwwdocs][patch] gcc-15/changes.html: Fortran - mention F2023 logical-kind additions

2024-05-28 Thread FX Coudert
Seems good, thanks Tobias!

FX


Re: [PATCH] jit: Ensure ssize_t is defined.

2024-05-26 Thread FX Coudert
ping


> Le 11 mai 2024 à 17:16, FX Coudert  a écrit :
> 
> Hi,
> 
> On some targets it seems that ssize_t is not defined by any of the headers 
> transitively included by . This leads to a bootstrap fail when jit 
> is enabled. The attached patch fixes it by include . Other 
> headers in GCC treat  as available on all targets, so we include 
> it unconditionally.
> 
> Tested on x86_64-darwin and x86_64-linux. OK to push?
> 
> FX
> 
> <0001-jit-Ensure-ssize_t-is-defined.patch>



Re: [Patch] Fortran: invoke.texi - link to OpenCoarrays.org + mention libcaf_single

2024-05-19 Thread FX Coudert
Hi Tobias,

> OK for mainline?

Seems reasonable, OK to push in 48 hours unless someone has suggestions related 
to wording.

FX

Re: [Patch] Fortran: Fix SHAPE for zero-size arrays

2024-05-19 Thread FX Coudert
Hi Tobias,

> That is for https://gcc.gnu.org/PR115150 – a GCC 12/13/14/15 regression, 
> caused when switching from a libgomp call to inline code and missing the 
> corner case of zero-size arrays …

OK to push, thanks.

FX



Results for 15.0.0 20240516 (experimental) [remotes/origin/trunk e656656e711] (GCC) testsuite on x86_64-apple-darwin23

2024-05-16 Thread FX Coudert via Gcc-testresults
r105980.C  -std=gnu++14 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23893)
FAIL: g++.target/i386/pr105980.C  -std=gnu++14 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++17 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23893)
FAIL: g++.target/i386/pr105980.C  -std=gnu++17 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++20 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23893)
FAIL: g++.target/i386/pr105980.C  -std=gnu++20 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++98 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23893)
FAIL: g++.target/i386/pr105980.C  -std=gnu++98 (test for excess errors)
FAIL: g++.target/i386/pr107563-a.C   scan-assembler-times por 1
FAIL: g++.target/i386/pr107563-b.C   scan-assembler-times por 1

=== g++ Summary ===

# of expected passes255073
# of unexpected failures62
# of expected failures  2775
# of unresolved testcases   1
# of unsupported tests  11514
/Users/fx/ibin-20240516/gcc/xg++  version 15.0.0 20240516 (experimental) 
[remotes/origin/trunk e656656e711] (GCC) 

=== gcc tests ===


Running target unix
FAIL: gcc.dg/debug/dwarf2/dwarf2-macro.c scan-assembler Start new file
FAIL: gcc.dg/debug/dwarf2/dwarf2-macro2.c scan-assembler At line number 0
FAIL: gcc.dg/pr97172-2.c (test for excess errors)
FAIL: gcc.dg/pubtypes-2.c scan-assembler long+[ t]+0x14d+[ t]+[#;]+[ 
t]+Pub Info Length
FAIL: gcc.dg/pubtypes-3.c scan-assembler long+[ t]+0x14d+[ t]+[#;]+[ 
t]+Pub Info Length
FAIL: gcc.dg/pubtypes-4.c scan-assembler long+[ t]+0x184+[ t]+[#;]+[ 
t]+Pub Info Length
FAIL: gcc.dg/scantest-lto.c scan-assembler-not ascii
FAIL: gcc.dg/scantest-lto.c scan-assembler-times ascii 0
FAIL: gcc.dg/strlenopt-73.c scan-tree-dump-times optimized "_not_eliminated_" 0
FAIL: gcc.dg/strlenopt-73.c scan-tree-dump-times optimized "strlen" 0
FAIL: gcc.dg/strlenopt-80.c scan-tree-dump-times optimized "failure_on_line 
(" 0
FAIL: gcc.dg/strlenopt-82.c scan-tree-dump-times optimized 
"call_in_true_branch_not_eliminated_" 0
FAIL: gcc.dg/graphite/scop-19.c scan-tree-dump-times graphite "number of SCoPs: 
0" 1
FAIL: gcc.dg/lto/pr61526 c_lto_pr61526_0.o-c_lto_pr61526_1.o link,  -fPIC -flto 
-flto-partition=1to1 
FAIL: gcc.dg/lto/pr99849 c_lto_pr99849_0.o-c_lto_pr99849_0.o link,  -flto 
-flto-partition=1to1 -O2 -Wno-incompatible-pointer-types 
-Wno-discarded-qualifiers -fPIC 
XPASS: gcc.dg/tree-ssa/pr91091-2.c scan-tree-dump-times fre1 "x = " 1
XPASS: gcc.dg/tree-ssa/ssa-fre-100.c scan-tree-dump-not fre1 "baz"
XPASS: gcc.dg/tree-ssa/ssa-fre-77.c scan-tree-dump fre1 "return 1;"
FAIL: gcc.dg/tree-ssa/ssa-lim-15.c scan-tree-dump lim2 "Executing store motion"
FAIL: outputs-25 exe savetmp named2-4: outputs.args.3
FAIL: outputs-25 exe savetmp named2-4: std out
FAIL: gcc.target/i386/amxtile-4.c scan-assembler-times pxor[^\\n]*%xmm 1
FAIL: gcc.target/i386/apx-ndd-no-seg-global-1.c scan-assembler-not mov
FAIL: gcc.target/i386/apx-push2pop2-2.c scan-assembler-not pop2(|p)[t ]*%r
FAIL: gcc.target/i386/apx-push2pop2-2.c scan-assembler-not push2(|p)[t ]*%r
FAIL: gcc.target/i386/avx512bw-pr103750-2.c scan-assembler-not kmov
FAIL: gcc.target/i386/avx512bw-pr88465.c scan-assembler-times kxnor[dq][ \\t] 2
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr103750-2.c scan-assembler-not kmov
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-pr103750-2.c scan-assembler-not kmov
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/harden-sls-4.c scan-assembler jmp[ \\t]+*_?fptr
FAIL: gcc.target/i386/pr100704-3.c scan-assembler push[lq]\\tf+
FAIL: gcc.target/i386/pr101908-1.c scan-assembler-not (?n)movhpd[ t]
FAIL: gcc.target/i386/pr101908-3.c scan-assembler-not (?n)movhpd[ t]+
FAIL: gcc.target/i386/pr107548-1.c scan-assembler-not addl
FAIL: gcc.target/i386/pr107548-1.c scan-assembler-times \\tv?movd\\t 3
FAIL: gcc.target/i386/pr107548-1.c scan-assembler-times v?paddd 6
FAIL: gcc.target/i386/pr107548-2.c scan-assembler v?psrldq
FAIL: gcc.target/i386/pr107548-2.c scan-assembler-not \\taddq\\t
FAIL: gcc.target/i386/pr107548-2.c scan-assembler-times v?paddq 2
FAIL: gcc.target/i386/pr11877-2.c scan-assembler-not \$0,
FAIL: gcc.target/i386/pr11877.c scan-assembler-not \$0,
FAIL: gcc.target/i386/pr34256.c scan-assembler-times mov 5
FAIL: gcc.target/i386/pr78035.c scan-assembler-times cmp 2
FAIL: gcc.target/i386/pr89618-2

[PATCH] jit: Ensure ssize_t is defined.

2024-05-11 Thread FX Coudert
Hi,

On some targets it seems that ssize_t is not defined by any of the headers 
transitively included by . This leads to a bootstrap fail when jit is 
enabled. The attached patch fixes it by include . Other headers in 
GCC treat  as available on all targets, so we include it 
unconditionally.

Tested on x86_64-darwin and x86_64-linux. OK to push?

FX



0001-jit-Ensure-ssize_t-is-defined.patch
Description: Binary data


Re: [PATCH, libgfortran] aix: Fix building fat library for AIX

2024-05-06 Thread FX Coudert
> libgfortran/ChangeLog:
> * config/t-aix (all-local, libcaf_single): Explicitly reference
> caf/.libs/single.o

OK, and sorry for the breakage.

FX



Re: [PATCH] libgfortran: Fix libgfortran.so versioning on Solaris with subdirs

2024-05-05 Thread FX Coudert
Hi Rainer,

> This patch fixes this by allowing for the new structure.
> Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11.
> 
> Ok for trunk?

OK to push, given it’s localised inside LIBGFOR_USE_SYMVER_SUN.

I find it weird though that .libs is harcoded there. If we look at all the 
lib*/Makefile.am in gcc, the only thing that ever needs to specify .libs is for 
Solaris versioning. It feels like it should be more generic, as you say (but 
that’s for longer term).

FX


Re: [PATCH] libgfortran: Fix up the autoreconf warnings.

2024-05-02 Thread FX Coudert
> libgfortran/ChangeLog:
> * Makefile.am: Use sub-dirs, amend recipies accordingly.
> * Makefile.in: Regenerate.

Thanks Iain, I’ve tested it both with and without maintainer mode, and 
regenerated files with no issue. I can also confirm that the many autoreconf 
warnings that plagued libgfortran are now gone.

Push as affd24bfc62203db9f9937c0d6cf8f1f75b80d72

FX

Re: [PATCH] jit: Ensure ssize_t is defined.

2024-05-02 Thread FX Coudert
I’d like to ping the patch at 
https://gcc.gnu.org/pipermail/gcc-patches/2024-January/644134.html
The original proposal by Iain was:

diff --git a/gcc/jit/libgccjit.h b/gcc/jit/libgccjit.h
index 235cab053e0..db4f27a48bf 100644
--- a/gcc/jit/libgccjit.h
+++ b/gcc/jit/libgccjit.h
@@ -21,6 +21,9 @@ along with GCC; see the file COPYING3. If not see
#define LIBGCCJIT_H

#include 
+#if __has_include()
+# include  /* For ssize_t. */
+#endif

#ifdef __cplusplus
extern "C" {


but it seems we can’t use __has_include. However, other code in GCC treats 
 as available on all targets. See unconditional inclusion in 
gcc/system.h and gcc/tsystem.h. The latter even says:

/* All systems have this header.  */
#include 


So: would an unconditional inclusion be suitable? I’ve tested on linux and 
darwin with no issues:

diff --git a/gcc/jit/libgccjit.h b/gcc/jit/libgccjit.h
index 74e847b2dec..cbe0f70abee 100644
--- a/gcc/jit/libgccjit.h
+++ b/gcc/jit/libgccjit.h
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #define LIBGCCJIT_H
   #include 
+#include 
   #ifdef __cplusplus
 extern "C” {


Thanks,
FX

Re: Updated Sourceware infrastructure plans

2024-04-18 Thread FX Coudert via Gcc
> I regenerate auto* files from time to time for libgfortran. Regenerating
> them has always been very fragile (using --enable-maintainer-mode),
> and difficult to get right.

I have never found them difficult to regenerate, but if you have only a non 
maintainer build, it is a pain to have to make a new maintainer build for a 
minor change.

Moreover, our m4 code is particularly painful to use and unreadable. I have 
been wondering for some time: should we switch to simpler Python scripts? It 
would also mean that we would have fewer files in the generated/ folder: right 
now, every time we add new combinations of types, we have a combinatorial 
explosion of files.

$ ls generated/sum_*
generated/sum_c10.c generated/sum_c17.c generated/sum_c8.c  generated/sum_i16.c 
generated/sum_i4.c  generated/sum_r10.c generated/sum_r17.c generated/sum_r8.c
generated/sum_c16.c generated/sum_c4.c  generated/sum_i1.c  generated/sum_i2.c  
generated/sum_i8.c  generated/sum_r16.c generated/sum_r4.c

We could imagine having a single file for all sum intrinsics.

How do Fortran maintainers feel about that?

FX

Re: [PATCH] Fortran: ALLOCATE of fixed-length CHARACTER with SOURCE/MOLD [PR113793]

2024-04-16 Thread FX Coudert
Hi Harald,

> Regtested on x86_64-pc-linux-gnu.  OK for mainline?

Looks good to me.

FX


Re: [PATCH 0/1] libgfortran: Fix compilation of gf_vsnprintf

2024-04-12 Thread FX Coudert
> Gentle ping. If this looks good, can someone commit to main (I don't have 
> commit privileges). This is also something that could be considered for 
> stable, since it's been around for many years.

Thanks for the patch. Pushed as 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3bd3ca05b519b99b5ea570c10fd80737cd4c6c49

FX

Re: [PATCH] Fortran: fix argument checking of intrinsics C_SIZEOF, C_F_POINTER [PR106500]

2024-04-09 Thread FX Coudert
Hi Harald,

Thanks for the patch.


> +  if (attr.function)
> +{
> +  gfc_error ("FPTR at %L to C_F_POINTER is a function returning a 
> pointer",
> + >where);
> +  return false;
> +}
> +
>if (fptr->rank > 0 && !is_c_interoperable (fptr, , false, true))
>  return gfc_notify_std (GFC_STD_F2018, "Noninteroperable array FPTR "
> "at %L to C_F_POINTER: %s", >where, msg);


In both of these gfc_error(), could we change our error message to say "FPTR 
argument” instead of “FPTR”? “FPTR to C_F_POINTER” does not really make sense 
to me.

This would be more in line with what the generally do:

> Error: 'x' argument of 'sqrt' intrinsic at (1) must be REAL or COMPLEX

So maybe “FPTR argument to C_F_POINTER at %L” ? That’s much more readable to me.

Otherwise, OK.

FX

Results for 14.0.1 20240319 (experimental) [remotes/origin/HEAD 9eeca775367] (GCC) testsuite on x86_64-apple-darwin23

2024-03-21 Thread FX Coudert via Gcc-testresults
O -fPIC 
-flto 
FAIL: g++.dg/lto/pr88046 cp_lto_pr88046_0.o-cp_lto_pr88046_0.o link,  -O2 -fPIC 
-flto 
FAIL: g++.dg/lto/pr88758 cp_lto_pr88758_0.o-cp_lto_pr88758_1.o link,  -O3 -fPIC 
-flto -shared 
FAIL: g++.dg/lto/pr89330 cp_lto_pr89330_0.o-cp_lto_pr89330_1.o link,  -O3 -g 
-flto -shared -fPIC -Wno-odr 
FAIL: g++.dg/lto/pr91574 cp_lto_pr91574_0.o-cp_lto_pr91574_0.o link,  -fPIC 
-flto -O2 
FAIL: g++.dg/lto/pr92609  (test for LTO warnings, pr92609_0.C line 75)
FAIL: g++.dg/lto/pr92609 cp_lto_pr92609_0.o-cp_lto_pr92609_1.o link,  -fPIC 
-flto 
FAIL: g++.dg/lto/pr93166 cp_lto_pr93166_0.o-cp_lto_pr93166_0.o link,  -fPIC -O2 
-flto -fvisibility=hidden 
FAIL: g++.dg/modules/pr99425-2_b.X -std=c++2b (test for excess errors)
FAIL: g++.dg/tls/thread_local13.C  -std=gnu++14 execution test
FAIL: g++.dg/tls/thread_local13.C  -std=gnu++17 execution test
FAIL: g++.dg/tls/thread_local13.C  -std=gnu++20 execution test
FAIL: g++.dg/tls/thread_local14.C  -std=gnu++14 execution test
FAIL: g++.dg/tls/thread_local14.C  -std=gnu++17 execution test
FAIL: g++.dg/tls/thread_local14.C  -std=gnu++20 execution test
FAIL: g++.dg/torture/tail-padding1.C   -Os  (internal compiler error: in 
cxx_eval_call_expression, at cp/constexpr.cc:3027)
FAIL: g++.dg/torture/tail-padding1.C   -Os  (test for excess errors)
UNRESOLVED: g++.dg/torture/tail-padding1.C   -Os  compilation failed to produce 
executable
FAIL: g++.target/i386/pr105980.C  -std=gnu++14 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23888)
FAIL: g++.target/i386/pr105980.C  -std=gnu++14 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++17 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23888)
FAIL: g++.target/i386/pr105980.C  -std=gnu++17 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++20 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23888)
FAIL: g++.target/i386/pr105980.C  -std=gnu++20 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++98 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23888)
FAIL: g++.target/i386/pr105980.C  -std=gnu++98 (test for excess errors)

=== g++ Summary ===

# of expected passes253514
# of unexpected failures84
# of expected failures  2778
# of unresolved testcases   1
# of unsupported tests  11387
/Users/fx/ibin-20240319/gcc/xg++  version 14.0.1 20240319 (experimental) 
[remotes/origin/HEAD 9eeca775367] (GCC) 

=== gcc tests ===


Running target unix
FAIL: gcc.dg/cpp/ucnid-1-utf8.c (test for excess errors)
FAIL: gcc.dg/cpp/ucnid-1.c (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr49032.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr49032.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr49032.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr65771.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr65771.c -gdwarf-2 -g3 -O (test for excess err

[PATCH] Fortran: add two small F2023 features

2024-03-19 Thread FX Coudert
Hi,

These two (independent) patches add two tiny Fortran 2023 features: new 
ISO_FORTRAN_ENV named constants and SELECTED_LOGICAL_KIND intrinsic.

Bootstrapped and regtested on x86_64-pc-linux-gnu.
Please review, and let me know if it’s okay to push once we’re back in stage 1.
(I know it’s not particularly soon, but I don’t want to forget these so I’m 
posting them for review)

FX





0001-Fortran-add-F2023-ISO_FORTRAN_ENV-named-constants.patch
Description: Binary data


0002-Fortran-add-SELECTED_LOGICAL_KIND.patch
Description: Binary data


Re: [PATCH] Fix libcc1plugin and libc1plugin to avoid poisoned identifiers

2024-03-16 Thread FX Coudert
Given its fixes build, is obvious, and tested appropriately: patch pushed as 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5213047b1d50af63dfabb5e5649821a6cb157e33

FX

Results for 14.0.1 20240312 (experimental) [master 73dac51b325] (GCC) testsuite on x86_64-apple-darwin23

2024-03-13 Thread FX Coudert via Gcc-testresults
O -fPIC 
-flto 
FAIL: g++.dg/lto/pr88046 cp_lto_pr88046_0.o-cp_lto_pr88046_0.o link,  -O2 -fPIC 
-flto 
FAIL: g++.dg/lto/pr88758 cp_lto_pr88758_0.o-cp_lto_pr88758_1.o link,  -O3 -fPIC 
-flto -shared 
FAIL: g++.dg/lto/pr89330 cp_lto_pr89330_0.o-cp_lto_pr89330_1.o link,  -O3 -g 
-flto -shared -fPIC -Wno-odr 
FAIL: g++.dg/lto/pr91574 cp_lto_pr91574_0.o-cp_lto_pr91574_0.o link,  -fPIC 
-flto -O2 
FAIL: g++.dg/lto/pr92609  (test for LTO warnings, pr92609_0.C line 75)
FAIL: g++.dg/lto/pr92609 cp_lto_pr92609_0.o-cp_lto_pr92609_1.o link,  -fPIC 
-flto 
FAIL: g++.dg/lto/pr93166 cp_lto_pr93166_0.o-cp_lto_pr93166_0.o link,  -fPIC -O2 
-flto -fvisibility=hidden 
FAIL: g++.dg/modules/pr99425-2_b.X -std=c++2b (test for excess errors)
FAIL: g++.dg/tls/thread_local13.C  -std=gnu++14 execution test
FAIL: g++.dg/tls/thread_local13.C  -std=gnu++17 execution test
FAIL: g++.dg/tls/thread_local13.C  -std=gnu++20 execution test
FAIL: g++.dg/tls/thread_local14.C  -std=gnu++14 execution test
FAIL: g++.dg/tls/thread_local14.C  -std=gnu++17 execution test
FAIL: g++.dg/tls/thread_local14.C  -std=gnu++20 execution test
FAIL: g++.dg/torture/tail-padding1.C   -Os  (internal compiler error: in 
cxx_eval_call_expression, at cp/constexpr.cc:3027)
FAIL: g++.dg/torture/tail-padding1.C   -Os  (test for excess errors)
UNRESOLVED: g++.dg/torture/tail-padding1.C   -Os  compilation failed to produce 
executable
FAIL: g++.old-deja/g++.law/cvt17.C  -std=c++14  (test for errors, line 18)
FAIL: g++.old-deja/g++.law/cvt17.C  -std=c++14 (internal compiler error: Abort 
trap: 6)
FAIL: g++.old-deja/g++.law/cvt17.C  -std=c++14 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++14 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23882)
FAIL: g++.target/i386/pr105980.C  -std=gnu++14 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++17 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23882)
FAIL: g++.target/i386/pr105980.C  -std=gnu++17 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++20 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23882)
FAIL: g++.target/i386/pr105980.C  -std=gnu++20 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++98 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23882)
FAIL: g++.target/i386/pr105980.C  -std=gnu++98 (test for excess errors)

=== g++ Summary ===

# of expected passes253360
# of unexpected failures87
# of expected failures  2778
# of unresolved testcases   1
# of unsupported tests  11382
/Users/fx/ibin-20240312/gcc/xg++  version 14.0.1 20240312 (experimental) 
[master 73dac51b325] (GCC) 

=== gcc tests ===


Running target unix
FAIL: gcc.dg/cpp/ucnid-1-utf8.c (test for excess errors)
FAIL: gcc.dg/cpp/ucnid-1.c (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr49032.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr49032.c -gdwarf-2 -g3 -O (test 

[PATCH] testsuite, darwin: improve check for -shared support

2024-03-07 Thread FX Coudert
The undefined symbols are allowed for C checks, but when
this is run as C++, the mangled foo() symbol is still
seen as undefined, and the testsuite thinks darwin does not
support -shared.

Pushed after approval by Iain Sandoe in PR114233

FX




0001-testsuite-darwin-improve-check-for-shared-support.patch
Description: Binary data


Re: [PATCH] Include safe-ctype.h after C++ standard headers, to avoid over-poisoning

2024-03-07 Thread FX Coudert
> I think it's an obvious change ...

Thanks, pushed.

Dimitry, I suggest you post the second patch for review.

FX


Results for 15.0.0 (clang-1500.3.9.4) testsuite on x86_64-apple-darwin23

2024-03-06 Thread FX Coudert via Gcc-testresults
e/tail-padding1.C   -Os  (internal compiler error: in 
cxx_eval_call_expression, at cp/constexpr.cc:3027)
FAIL: g++.dg/torture/tail-padding1.C   -Os  (test for excess errors)
UNRESOLVED: g++.dg/torture/tail-padding1.C   -Os  compilation failed to produce 
executable
FAIL: g++.target/i386/pr105980.C  -std=gnu++98 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23882)
FAIL: g++.target/i386/pr105980.C  -std=gnu++98 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++14 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23882)
FAIL: g++.target/i386/pr105980.C  -std=gnu++14 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++17 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23882)
FAIL: g++.target/i386/pr105980.C  -std=gnu++17 (test for excess errors)
FAIL: g++.target/i386/pr105980.C  -std=gnu++20 (internal compiler error: in 
insn_default_length, at config/i386/i386.md:23882)
FAIL: g++.target/i386/pr105980.C  -std=gnu++20 (test for excess errors)

=== g++ Summary ===

# of expected passes253197
# of unexpected failures73
# of expected failures  2778
# of unresolved testcases   1
# of unsupported tests  11391
/Users/fx/ibin-20240306/gcc/xg++  version 14.0.1 20240306 (experimental) 
[master b7d14310406] (GCC) 

=== gcc tests ===


Running target unix
FAIL: gcc.dg/cpp/ucnid-1-utf8.c (test for excess errors)
FAIL: gcc.dg/cpp/ucnid-1.c (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20020220-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20020327-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/20050907-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr29609-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr29609-2.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-2.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr36690-3.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr37616.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr49032.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr49032.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr49032.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/pr65771.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/pr65771.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/pr65771.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/tls-1.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/tls-1.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/tls-1.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/debug/trivial.c -gdwarf-2 -g3 (test for excess errors)
FAIL: gcc.dg/debug/trivial.c -gdwarf-2 -g3 -O (test for excess errors)
FAIL: gcc.dg/debug/trivial.c -gdwarf-2 -g3 -O3 (test for excess errors)
FAIL: gcc.dg/framework-1.c (test for excess errors)
FAIL: gcc.dg/pr97172-2.c (test for excess errors)
FAIL: gcc.dg/pubtypes-2.c scan-assembler long+[ t]+0x14d+[ t]+[#;]+[ 
t]+Pub Info Length
FAIL: gcc.dg/pubtypes-3.c scan-assembler long+[ t]+0x14d+[ t]+[#;]+[ 
t]+Pub Info Length
FAIL: gcc.dg/pubtypes-4.c scan-assembler long+[ t]+0x184+[ t]+[#;]+[ 
t]+Pub Info Length
FAIL: gcc.dg/scantest-lto.c scan-assembler-not ascii
FAIL: gcc.dg/scantest-lto.c scan-assembler-times ascii 0
FAIL: gcc.dg/strlenopt-73.c scan-tree-dump-times optimized "strlen" 0
FAIL: gcc.dg/strlenopt-73.c scan-tree-dump-times op

Re: [PATCH] Include safe-ctype.h after C++ standard headers, to avoid over-poisoning

2024-03-06 Thread FX Coudert
> Hmm I recall trying it and finding a problem - was there some different fix 
> applied
> in the end?

The bug is still open, I don’t think a patch was applied, and I don’t find any 
email to the list stating what the problem could be.

FX

Re: [PATCH] Include safe-ctype.h after C++ standard headers, to avoid over-poisoning

2024-03-06 Thread FX Coudert
I would like to patch this patch from September 2023:
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631611.html

This bug is now hitting macOS in the latest version of Xcode (it was originally 
seen on freebsd).
I confirm that the patch is restoring bootstrap on x86_64-apple-darwin23

OK to push?
FX





> Ref: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632
> 
> When building gcc's C++ sources against recent libc++, the poisoning of
> the ctype macros due to including safe-ctype.h before including C++
> standard headers such as , , etc, causes many compilation
> errors, similar to:
> 
> In file included from /home/dim/src/gcc/master/gcc/gensupport.cc:23:
> In file included from /home/dim/src/gcc/master/gcc/system.h:233:
> In file included from /usr/include/c++/v1/vector:321:
> In file included from
> /usr/include/c++/v1/__format/formatter_bool.h:20:
> In file included from
> /usr/include/c++/v1/__format/formatter_integral.h:32:
> In file included from /usr/include/c++/v1/locale:202:
> /usr/include/c++/v1/__locale:546:5: error: '__abi_tag__' attribute
> only applies to structs, variables, functions, and namespaces
> 546 | _LIBCPP_INLINE_VISIBILITY
> | ^
> /usr/include/c++/v1/__config:813:37: note: expanded from macro
> '_LIBCPP_INLINE_VISIBILITY'
> 813 | # define _LIBCPP_INLINE_VISIBILITY _LIBCPP_HIDE_FROM_ABI
> | ^
> /usr/include/c++/v1/__config:792:26: note: expanded from macro
> '_LIBCPP_HIDE_FROM_ABI'
> 792 |
> __attribute__((__abi_tag__(_LIBCPP_TOSTRING(
> _LIBCPP_VERSIONED_IDENTIFIER
> | ^
> In file included from /home/dim/src/gcc/master/gcc/gensupport.cc:23:
> In file included from /home/dim/src/gcc/master/gcc/system.h:233:
> In file included from /usr/include/c++/v1/vector:321:
> In file included from
> /usr/include/c++/v1/__format/formatter_bool.h:20:
> In file included from
> /usr/include/c++/v1/__format/formatter_integral.h:32:
> In file included from /usr/include/c++/v1/locale:202:
> /usr/include/c++/v1/__locale:547:37: error: expected ';' at end of
> declaration list
> 547 | char_type toupper(char_type __c) const
> | ^
> /usr/include/c++/v1/__locale:553:48: error: too many arguments
> provided to function-like macro invocation
> 553 | const char_type* toupper(char_type* __low, const
> char_type* __high) const
> | ^
> /home/dim/src/gcc/master/gcc/../include/safe-ctype.h:146:9: note:
> macro 'toupper' defined here
> 146 | #define toupper(c) do_not_use_toupper_with_safe_ctype
> | ^
> 
> This is because libc++ uses different transitive includes than
> libstdc++, and some of those transitive includes pull in various ctype
> declarations (typically via ).
> 
> There was already a special case for including  before
> safe-ctype.h, so move the rest of the C++ standard header includes to
> the same location, to fix the problem.
> 


Re: [patch, libgfortran] Bug 105473 - semicolon allowed when list-directed read integer with decimal='point'

2024-02-17 Thread FX Coudert
> OK for trunk and later backport to 13?

OK. Thanks for the patch!

FX


Re: [patch, libgfortran] PR107068 Run-time error when reading logical arrays with a namelist

2024-02-17 Thread FX Coudert
> OK for trunk?
> I think simple enough to backport to 13 as well.

OK, but probably best to wait a few weeks before backporting.

FX


Re: [patch, libgfortran] PR99210 X editing for reading file with encoding='utf-8'

2024-02-14 Thread FX Coudert
> Regression tested on x86_64 and new test case.
> OK for trunk?

OK, and thanks!

FX


[PATCH] i386, testsuite: adjust asm patterns

2024-02-10 Thread FX Coudert
The new testcase gcc.target/i386/asm-raw-symbol.c fails on darwin. This is 
partly because symbols are prefixed with underscore, and also because the order 
of operands in the addition is reversed (but I think it’s valid still). The 
code generated is this:

_func:
LFB0:
pushq   %rbp
LCFI0:
movq%rsp, %rbp
LCFI1:
# 8 "/Users/fx/gcc-upstream/gcc/testsuite/gcc.target/i386/asm-raw-symbol.c" 1
@ _func
# 0 "" 2
# 9 "/Users/fx/gcc-upstream/gcc/testsuite/gcc.target/i386/asm-raw-symbol.c" 1
@ 4+_var
# 0 "" 2
nop
popq%rbp
LCFI2:
ret



I’m adjusting the pattern accordingly.
OK to push?

FX



0001-i386-testsuite-adjust-asm-patterns.patch
Description: Binary data


[pushed] Darwin, testsuite: skip some -mcmodel=large tests

2024-02-10 Thread FX Coudert
Three new tests using -mcmodel=large, which darwin does not support. Skipping 
them.
Pushed as obvious.

FX




0001-Darwin-testsuite-skip-some-mcmodel-large-tests.patch
Description: Binary data


[PATCH] Darwin, testsuite: -multiply_defined is obsolete

2024-02-10 Thread FX Coudert
With Xcode 15, gcc.dg/ssp-2.c fails due to a warning: -multiply_defined is 
obsolete

The patches ignores the warning when present.
OK to push?

FX



0001-Darwin-testsuite-multiply_defined-is-obsolete.patch
Description: Binary data


[PATCH] Darwin, testsuite: -bind_at_load is deprecated

2024-02-10 Thread FX Coudert
With Xcode 15, gcc.dg/darwin-ld-2.c fails due to a warning:
ld: warning: -bind_at_load is deprecated on macOS

The patches ignores the warning when present.
OK to push?

FX




0001-Darwin-testsuite-bind_at_load-is-deprecated.patch
Description: Binary data


Analyzer test failures

2024-02-10 Thread FX Coudert via Gcc
Hi,

I’m seeing the following analyzer test failures on darwin. They were introduced 
in December, when the tests were moved around:

FAIL: c-c++-common/analyzer/fd-glibc-byte-stream-socket.c
FAIL: c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c
FAIL: c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c
FAIL: c-c++-common/analyzer/fd-symbolic-socket.c

They all have an unexpected analyzer warning, like this:

/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/analyzer/fd-glibc-byte-stream-socket.c:
 In function 'int main()':
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/analyzer/fd-glibc-byte-stream-socket.c:43:17:
 warning: leak of file descriptor 'socket(2, 1, 0)' [CWE-775] 
[-Wanalyzer-fd-leak]
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/analyzer/fd-glibc-byte-stream-socket.c:43:17:
 note: (1) socket created here
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/analyzer/fd-glibc-byte-stream-socket.c:43:17:
 note: (2) when 'socket' succeeds
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/analyzer/fd-glibc-byte-stream-socket.c:43:17:
 note: (3) 'socket(2, 1, 0)' leaks here
FAIL: c-c++-common/analyzer/fd-glibc-byte-stream-socket.c  -std=c++98 (test for 
excess errors)

I see they’ve been xfail'ed off on AIX and HPUX in previous patches, so I’m 
wondering: are the tests glibc-specific? If so, should we mark them as suck? Or 
are they real failures of the analyzer?

FX

Re: [PATCH] testsuite, gfortan: Update link flags [PR112862].

2024-01-28 Thread FX Coudert
> Tested on i686, x86_64, aarch64 Darwin, x86_64, aarch64 Linux,
> OK for trunk?

Looks good to me. Please leave 48h before pushing for other Fortran maintainers 
to comment if they see something I missed (in particular the coarrays part).

FX

Re: [Fortran] half-cycle trig functions and atan[d] fixes

2024-01-24 Thread FX Coudert
Hi,

> Hopefully, FX sees this as my emails to gmail bounce.

I am seeing this email.


> Now, if
> the OS adds cospi() to libm and it's in libm's symbol map, then the
> cospi() used by gfortran depends on the search order of the loaded
> libraries.

We only include the fallback math functions in libgfortran when they are not 
available on the system. configure detects what is present in the libc being 
targeted, and conditionally compiles the necessary fallback functions (and only 
them).

FX



Re: [Fortran] half-cycle trig functions and atan[d] fixes

2024-01-23 Thread FX Coudert
Hi Steve,

Thanks for the patch. I’ll take time to do a proper review, but after a first 
read I had the following questions:

- "an OS's libm may/will contain cospi(), etc.”: do those functions conform to 
any standard? Are there plans to implement them outside FreeBSD at this point?

- On systems where libquadmath is used for _Float128, does libquadmath contain 
the implementation of the q() variants for those functions?

- If I get this right, to take one example, the Fortran front-end will emit a 
call to gfortran_acospi_r4(), libgfortran provides this as a wrapper calling 
acospif(), which is called either from libm or from libgfortran. This is 
different from other math library functions, like ACOS() where the acosf() call 
is generated directly from the front-end (and then the implementation comes 
either from libm or from libgfortran). Why not follow our usual way of doing 
things?

- On most targets, cospi() and friends are not available. Therefore, we end up 
doing the fallback (with limited precision as you noted) but with a lot of 
indirection. We could generate that code directly in the front-end, couldn’t we?


Best,
FX

Re: [PATCH] Fortran: bogus warnings with REPEAT intrinsic and -Wconversion-extra [PR96724]

2024-01-06 Thread FX Coudert
Hi Harald,

OK to push, thanks for picking it up!

FX


[PATCH] libgfortran: avoid duplicate libraries in spec

2023-12-19 Thread FX Coudert
When gfortran invokes the linker, it reads the linking spec from libgfortran. 
This ends up doing things like:

-lm -lgcc_s -lgcc -lc -lgcc_s -lgcc

where you can see that libgcc (both -lgcc and -lgcc_s) is linked in twice. This 
wasn’t a problem, until the new macOS linker, which gives a warning for this: 
the warning is innocuous, but having a warning for every time you call gfortran 
for linking clutters the terminal, and makes all the testsuite fail. And 
linking twice is superfluous, so removing it will not be a problem.

I am the author of the original commit to the spec, in 2010, but honestly I 
have no memory: I think I vaguely remember saying “better safe than sorry”, but 
13 years later it could just be a false memory ;)

Anyway, this was tested on x86_64-darwin and x64_86-linux, as well as 
*-*-solaris2.11 by Rainer.
OK to commit? (seems admissible in stage 3 because it fixes regtesting on 
darwin22 and darwin23).

FX



libgfortran/ChangeLog:

PR libfortran/110651
* libgfortran.spec.in: Remove duplicate libraries.
---
 libgfortran/libgfortran.spec.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)




0001-libgfortran-avoid-duplicate-libraries-in-spec.patch
Description: Binary data


Re: [PATCH] i386: Fix missed APX_NDD check for shift/rotate expanders [PR 112943]

2023-12-14 Thread FX Coudert
The testcase fails on darwin:

+FAIL: gcc.target/i386/pr112943.c (test for excess errors)

because it does not support _Decimal64.

/* { dg-do compile { target { ! ia32 } } } */

should be changed to:

/* { dg-do compile { target { dfp && { ! ia32 } } } } */


Thanks,
FX


Re: Backport of "fixincludes: Update darwin_flt_eval_method for macOS 14"

2023-12-11 Thread FX Coudert
> Yes, OK (build fixes are on my list, but you got to it first).

Backported to 13 as 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=87e6cc0103369f8891c3c3a516f4d93187c2c12b
Backported to 12 as 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=65595b02668c99edcfd5aedac984ebcbb64a1685

FX

Backport of "fixincludes: Update darwin_flt_eval_method for macOS 14"

2023-12-11 Thread FX Coudert
Hi,

I’d like to backport the fixincludes for macOS 14 SDK at 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=93f803d53b5ccaabded9d7b4512b54da81c1c616
 to the active branches, i.e. 13, 12 and 11 (unless I am mistaken).

The fix has been there for months, it’s stable and very specific. Without it, 
we can’t compile GCC for macOS 14.
OK to backport?

FX

Re: [PATCH v8] c++: implement P2564, consteval needs to propagate up [PR107687]

2023-12-11 Thread FX Coudert
Hi Marek,

The patch is causing three failures on x86_64-apple-darwin21:

> FAIL: g++.dg/cpp2a/concepts-explicit-inst1.C -std=c++20 scan-assembler 
> _Z1gI1XEvT_
> FAIL: g++.dg/cpp2a/concepts-explicit-inst1.C -std=c++20 scan-assembler 
> _Z1gI1YEvT_
> FAIL: g++.dg/cpp2a/consteval-prop6.C -std=c++20 at line 58 (test for 
> warnings, line 57)

How could I help debug this?

FX

[PATCH] Testsuite, asan, darwin: Adjust output pattern

2023-12-11 Thread FX Coudert
Since the last import from upstream libsanitizer, the output has changed
and now looks more like this:

READ of size 6 at 0x7ff7beb2a144 thread T0
#0 0x101cf7796 in MemcmpInterceptorCommon(void*, int (*)(void const*, void 
const*, unsigned long), void const*, void const*, unsigned long) 
sanitizer_common_interceptors.inc:813
#1 0x101cf7b99 in memcmp sanitizer_common_interceptors.inc:840
#2 0x108a0c39f in __stack_chk_guard+0xf (dyld:x86_64+0x8039f)

so let's adjust the pattern accordingly.

Tested on x86_64-apple-darwin21. OK to push?

FX




0001-Testsuite-asan-darwin-Adjust-output-pattern.patch
Description: Binary data


[PATCH] Testsuite, i386: mark test as requiring dfp

2023-12-11 Thread FX Coudert
Test currently fails on darwin with:
error: decimal floating-point not supported for this target

Pushed as obvious fix.
FX



0001-Testsuite-i386-mark-test-as-requiring-dfp.patch
Description: Binary data


[PATCH] Testsuite: restrict test to nonpic targets

2023-12-11 Thread FX Coudert
The test is currently failing on x86_64-apple-darwin. This patch requires 
nonpic, as suggested in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112297 by 
Andrew Pinski.

OK to commit?

FX




0001-Testsuite-restrict-test-to-nonpic-targets.patch
Description: Binary data


Re: [r14-5930 Regression] FAIL: gcc.c-torture/compile/libcall-2.c -Os (test for excess errors) on Linux/x86_64

2023-12-11 Thread FX Coudert
>> Pushed as 
>> https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b74981b5cf32ebf4bfffd25e7174b5c80243447a

Somehow I pushed the wrong commit, we should skip the test and not xfail.
This showed up in 
https://gcc.gnu.org/pipermail/gcc-testresults/2023-December/802839.html

So, new commit push as obvious fixup: 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=53e954a673a0d6ac80ab1f0591ea4f751e67374c

FX



Re: [PATCH] strub: skip emutls after strubm errors

2023-12-10 Thread FX Coudert
> Yes, GCC/nvptx ICEs gone with that, thanks!

And on darwin as well, test results are back to the same state as before. 
Thanks!

FX

Re: [PATCH] Fortran: allow NULL() for POINTER, OPTIONAL, CONTIGUOUS dummy [PR111503]

2023-12-08 Thread FX Coudert
Hi Harald,

> here's another fix for the CONTIGUOUS attribute: NULL() should
> derive its characteristics from its MOLD argument; otherwise it is
> "determined by the entity with which the reference is associated".
> (F2018:16.9.144).

Looking good to me, but leave 48 hours for someone else to object if they want.

Best,
FX

Re: Several test failures due to "Introduce strub: machine-independent stack scrubbing"

2023-12-07 Thread FX Coudert
> However, I'm very surprised that you're hitting this with the initial
> commit.  It's as if strub support was disabled on the target, but even
> if you were hitting this with e.g. offloading, only the followup commit
> introduced code to disable strub for such targets as nvptx.  Anyway, do
> you by any chance have any offloading enabled?

I may have misidentified the problem, my testing was done on:

LAST_UPDATED: Wed Dec 6 16:01:43 UTC 2023 (revision 458e7c93792)
https://gcc.gnu.org/pipermail/gcc-testresults/2023-December/802595.html

I’m restarting a build right now, will report back.

FX

Several test failures due to "Introduce strub: machine-independent stack scrubbing"

2023-12-07 Thread FX Coudert
: c-c++-common/torture/strub-callable2.c   -O3 -g  (internal compiler 
error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -g  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -Os  (internal compiler error: 
in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto -flto-partition=none  
(internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto -flto-partition=none  
(test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto  (internal compiler 
error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto  (test for excess 
errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O0  (internal compiler error: 
in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O0  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O1  (internal compiler error: 
in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O1  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2  (internal compiler error: 
in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O3 -g  (internal compiler 
error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O3 -g  (test for excess 
errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -Os  (internal compiler error: 
in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto -flto-partition=none 
 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto -flto-partition=none 
 (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto  (internal compiler 
error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto  (test for excess 
errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O0  (internal compiler error: in 
verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O0  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O1  (internal compiler error: in 
verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O1  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2  (internal compiler error: in 
verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O3 -g  (internal compiler error: 
in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O3 -g  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -Os  (internal compiler error: in 
verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto -flto-partition=none  
(internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto -flto-partition=none  
(test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto  (internal compiler 
error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto  (test for excess errors)


The output for one typical case is:

$ /Users/fx/ibin-20231206/gcc/xgcc -B/Users/fx/ibin-20231206/gcc/  
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/strub-apply2.c
-fdiagnostics-plain-output   -Wc++-compat  -fstrub=strict -S -o strub-apply2.s
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/strub-apply2.c:8:1: error: 
'strub' mode 'disabled' selected for 'apply_args', when 'at-calls' was requested
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/strub-apply2.c:10:16: sorry, 
unimplemented: at-calls 'strub' does not support call to '__builtin_apply_args'
during IPA pass: emutls
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/strub-apply2.c:12:1: internal 
compiler error: in verify_curr_properties, at passes.cc:2198


Cheers,
FX

Re: [PATCH, v3] Fortran: deferred-length character optional dummy arguments [PR93762,PR100651]

2023-12-02 Thread FX Coudert
Hi,

> this patch extends the previous version by adding further code testing
> the presence of an optional deferred-length character argument also
> in the function initialization code.  This allows to re-enable a
> commented-out test in v2.

Nice, that sounds logical.

> Regtested on x86_64-pc-linux-gnu.  OK for mainline?

OK.

FX


Re: [11 PATCH] libiberty, Darwin: Fix a build warning. [PR112823]

2023-12-02 Thread FX Coudert
> Thanks. I can't push it myself - could you do that for me?

Pushed.

FX


Re: [r14-5930 Regression] FAIL: gcc.c-torture/compile/libcall-2.c -Os (test for excess errors) on Linux/x86_64

2023-12-02 Thread FX Coudert
> mcmodel=large s not supported (yet) on any Darwin arch [PR90698], so the test 
> needs skipping or xfailing, I think (either way with a reference to the PR).

Pushed as 
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b74981b5cf32ebf4bfffd25e7174b5c80243447a

FX

Re: [r14-5930 Regression] FAIL: gcc.c-torture/compile/libcall-2.c -Os (test for excess errors) on Linux/x86_64

2023-12-01 Thread FX Coudert
That commit makes gcc.target/i386/libcall-1.c on darwin:

FAIL: gcc.target/i386/libcall-1.c scan-assembler globl\t__divti3

because the pattern is not found, the only mention of divti3 in the generated 
assembly is:

LCFI0:
movabsq $_b@GOTOFF, %rdx
movabsq $___divti3@PLTOFF, %rax
leaqL2(%rip), %r15
pushq   %rbx


The source code is:

---
/* Make sure that external refences for libcalls are generated even for
   indirect calls.  */

/* { dg-do compile { target int128 } } */
/* { dg-options "-O2 -mcmodel=large" } */
/* { dg-final { scan-assembler "globl\t__divti3" } } */

__int128 a, b; void foo () { a = a / b; }
---

Looking at, for example, gcc.target/i386/falign-functions-3.c it seems that 
test avoids scanning for global references on darwin. Probably the new test 
needs the same exception.

FX

Re: [PATCH] testsuite, x86: Handle a broken assembler.

2023-11-29 Thread FX Coudert
Thanks Richard,
Pushed as 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d65eb8a6bbeae7533dd41cb307b427f3f8585d9b

FX

Re: [PATCH] Fortran: deferred-length character optional dummy arguments [PR93762,PR100651]

2023-11-28 Thread FX Coudert
Hi Harald,

The patch looks OK to me. Probably wait a bit for another opinion, since I’m 
not that active and I may have missed something.

Thanks,
FX

Re: [PATCH] testsuite, x86: Handle a broken assembler.

2023-11-27 Thread FX Coudert
Hi,

I’d like to ping that patch from Iain Sandoe. It would clear up a number of 
failures in the darwin testsuite.

Thanks,
FX



> --- 8< ---
> 
> Earlier assembler support for complex fp16 on x86_64 Darin is broken. This
> adds an additional test to the existing target-supports that fails for the
> broken assemblers but works for the newer, fixed, ones.
> 
> gcc/testsuite/ChangeLog:
> 
> * lib/target-supports.exp: Test an asm line that fails on broken
> Darwin assembler versions.
> 
> Signed-off-by: Iain Sandoe 
> ---
> gcc/testsuite/lib/target-supports.exp | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/gcc/testsuite/lib/target-supports.exp 
> b/gcc/testsuite/lib/target-supports.exp
> index f0b692a2e19..61ab063afbe 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -10062,6 +10062,7 @@ proc check_effective_target_avx512fp16 { } {
> void foo (void)
> {
> asm volatile ("vmovw %edi, %xmm0");
> + asm volatile ("vfcmulcph %xmm1, %xmm2, %xmm3{%k1}");
> }
> } "-O2 -mavx512fp16" ]
> }
> -- 
> 2.39.2 (Apple Git-143)


Re: [PATCH v5] gcc: Introduce -fhardened

2023-11-26 Thread FX Coudert
Hi Marek,

The new test at gcc.target/i386/cf_check-6.c fails on darwin with:
  Excess errors:
  cc1: warning: '-fhardened' not supported for this target

Other tests are only run on Linux, so I added this to 
gcc.target/i386/cf_check-6.c as well.
Pushed as 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e40a13eaca4d87ec33beb0d9d31985e0023bfe3e

FX

Re: [committed] i386: Fix ICE with -fsplit-stack -mcmodel=large [PR112686]

2023-11-26 Thread FX Coudert
Hi Uros,

The new test at gcc.target/i386/pr112686.c fails on darwin with:

Excess errors:
cc1: error: '-fsplit-stack' currently only supported on GNU/Linux
cc1: error: '-fsplit-stack' is not supported by this compiler configuration

It needs an /* { dg-require-effective-target split_stack } */
which I have added and pushed as 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=c54ee4fc1667593081ce80030eeb70838267ad96

FX

Re: Darwin: Replace environment runpath with embedded [PR88590]

2023-11-22 Thread FX Coudert
Hi,

> I believe this can be applied as a partial reversion of a previously approved 
> patch,

Yes, that makes sense.
Pushed as 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=ce966ae66067d8d365431ef7a323f4207fcb729a

FX

Re: [PATCH 1/4] libsanitizer: merge from upstream (c425db2eb558c263)

2023-11-21 Thread FX


> I see that the fix was applied locally (and my bootstraps on various Darwin 
> versions worked OK),
> but I’m not clear if you submitted a PR upstream (or just the bug report).  
> If the fix is to remain
> local-only, it should be added to the list in LOCAL_PATCHES.

Patch was submitted upstream: https://github.com/llvm/llvm-project/pull/72642

FX


Re: gfortran.dg/dg.exp debug messages pollute test output

2023-11-18 Thread FX Coudert
> I suppose 'set t [...]' can be let go, too?

Duh (x2).
Pushed, on top of the previous patch.

FX



0001-Testsuite-remove-unused-variables.patch
Description: Binary data


Re: Darwin: Replace environment runpath with embedded [PR88590]

2023-11-17 Thread FX Coudert
>> I have done a full rebuild, and having looked more at the structure of 
>> libtool.m4 I am now convinced that having that line outside of the scope of 
>> _LT_DARWIN_LINKER_FEATURES is simply wrong (probably a copy-pasto or 
>> leftover from earlier code).
>> Having rebuilt everything, it only manifests itself in 
>> fixincludes/ChangeLog. Iain is traveling right now, but when he is back I 
>> would like to submit this patch if he agrees with the above. It was 
>> regtested on x86_64-apple-darwin21.

With the correct patch attached.



0001-Build-fix-error-in-fixinclude-configure.patch
Description: Binary data


Re: [PATCH 1/4] libsanitizer: merge from upstream (c425db2eb558c263)

2023-11-17 Thread FX Coudert
> If they accept it say within a day, wait for it + cherry-pick to GCC,
> otherwise apply to GCC as a local patch in anticipation they accept it.
> If it is all that fixes Darwin support, great.

With that patch, I can finish bootstrap, and regtesting is undergoing but I’m 
seeing no issue so far.

FX

Re: Darwin: Replace environment runpath with embedded [PR88590]

2023-11-17 Thread FX Coudert
Hi,

> If I remove the line from libtool.m4 (innocent smile) I see that 
> fixincludes/configure is better, and it does not appear to change the 
> regenerated files in other directories (I didn’t do a build yet, just tried 
> to regenerate with some manual autoconf invocations).

I have done a full rebuild, and having looked more at the structure of 
libtool.m4 I am now convinced that having that line outside of the scope of 
_LT_DARWIN_LINKER_FEATURES is simply wrong (probably a copy-pasto or leftover 
from earlier code).

Having rebuilt everything, it only manifests itself in fixincludes/ChangeLog. 
Iain is traveling right now, but when he is back I would like to submit this 
patch if he agrees with the above. It was regtested on x86_64-apple-darwin21.

Thomas, can you confirm that it also fixes things for you? Although I don’t see 
why it wouldn’t.

FX



0001-libsanitizer-fix-build-on-darwin.patch
Description: Binary data


Re: [PATCH 1/4] libsanitizer: merge from upstream (c425db2eb558c263)

2023-11-17 Thread FX Coudert
I have reported the issue to llvm at 
https://github.com/llvm/llvm-project/issues/72639
There is a trivial one-line patch to fix it, which I hope they will accept. Not 
sure what our policy is here, in the meantime.

FX

Re: [PATCH 1/4] libsanitizer: merge from upstream (c425db2eb558c263)

2023-11-17 Thread FX Coudert
Heads-up: this broke bootstrap on darwin:

> +typedef void (^dispatch_mach_handler_t)(dispatch_mach_reason reason,
> +dispatch_mach_msg_t message,
> +mach_error_t error);


Blocks are an Apple/clang extension, not (yet) supported by GCC.

FX


Re: [committed] libcpp: Regenerate config.in

2023-11-16 Thread FX Coudert
Hi,

I have a related question. When I bootstrap gcc in maintainer mode on 
x86_64-darwin, I get the following diff in the sources:

diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
index c0aa51af3f0..17da7bb9867 100644
--- a/libstdc++-v3/config.h.in
+++ b/libstdc++-v3/config.h.in
@@ -167,7 +167,7 @@
 /* Define to 1 if you have the `hypotl' function. */
 #undef HAVE_HYPOTL
  -/* Define if you have the iconv() function. */
+/* Define if you have the iconv() function and it works. */
 #undef HAVE_ICONV
   /* Define to 1 if you have the  header file. */


which I think it due to commit db50aea62595452db12565186cb520728540d987 that 
modified config/iconv.m4. But I am wondering: why am I the only one to see 
that? It appears the bot builders and not catching it. Do you have any idea?

Thanks,
FX

Re: Darwin: Replace environment runpath with embedded [PR88590]

2023-11-15 Thread FX Coudert
> So I currently see the following in my build logs:
> 
>[...]
>mkdir -p -- ./fixincludes
>Configuring in ./fixincludes
>configure: creating cache ./config.cache
>[...]/source-gcc/fixincludes/configure: line 3030: 
> enable_darwin_at_rpath_--srcdir=[...]/source-gcc/fixincludes=no: No such file 
> or directory
>checking build system type... x86_64-pc-linux-gnu
>checking host system type... x86_64-pc-linux-gnu
>checking target system type... nvptx-unknown-none
>[...]
> 
> I'm not convinced that's achieving what it means to achieve?

I’ve tried to understand where that line gets expanded from:

>>> +enable_darwin_at_rpath_$1=no

It comes from:

> _LT_TAGVAR(enable_darwin_at_rpath, $1)=no

in the top-level libtool.m4. I can’t say that I understand why that line is 
there. All the other definitions using this structure are all inside the 
definition of _LT_ prefixed functions, defined by m4_defun. This one line is 
alone, outside of any function.

If I remove the line from libtool.m4 (innocent smile) I see that 
fixincludes/configure is better, and it does not appear to change the 
regenerated files in other directories (I didn’t do a build yet, just tried to 
regenerate with some manual autoconf invocations).

Food for thought.
FX

Re: gfortran.dg/dg.exp debug messages pollute test output

2023-11-15 Thread FX Coudert
> FX submitted the patch series, I can find the reference if you need it.

Patch was submitted in this thread: 
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630096.html


>> Besides,
>> it's unclear if those messages can just be removed (they are pretty
>> cryptic as is) or at least changed to use verbose instead of puts.
>> Please fix.

I don’t see value in this output, so I think it’s best to remove the puts calls 
entirely. Attached patch does that.
Testing under progress, OK if it passes? (or does that count as obvious fix-up 
of the previous patch)

FX




0001-Testsuite-silence-some-noise-in-output.patch
Description: Binary data


Re: [PATCH] Testsuite, i386: Mark test as requiring dfp

2023-11-05 Thread FX Coudert
kind ping for this easy patch


> Le 30 oct. 2023 à 15:19, FX Coudert  a écrit :
> 
> Hi,
> 
> The test is currently failing on x86_64-apple-darwin with "decimal 
> floating-point not supported for this target”.
> Marking the test as requiring dfp fixes the issue.
> 
> OK to push?
> 
> FX
> 


0001-Testsuite-i386-Mark-test-as-requiring-dfp.patch
Description: Binary data


Re: [PATCH] Testsuite, i386: Fix test by passing -march

2023-10-30 Thread FX Coudert
> Well It can fail on x86_64-linux-gnu too if GCC was configured with
> --with-arch=core2 for an example.
> So having it, in this case, not being darwin specific would be
> beneficial for all x86_64/i?86 targets.

I pushed it as-is, meaning it will indeed apply to all x86_64/i?86 targets.

FX


Re: Darwin: Replace environment runpath with embedded [PR88590]

2023-10-30 Thread FX Coudert
Hi,

> +enable_darwin_at_rpath_$1=no

I actually don’t understand why this one would have $1 in the name, unlike all 
other regenerated configure files. What value do we expect for $1 at this point 
in the file? That’s just plain weird.

FX

[PATCH] Testsuite, i386: Mark test as requiring ifunc

2023-10-30 Thread FX Coudert
Hi,

The test is currently failing on x86_64-apple-darwin.
Marking the test as requiring ifunc fixes the issue.

OK to push?

FX



0001-Testsuite-i386-Mark-test-as-requiring-ifunc.patch
Description: Binary data


[PATCH] Testsuite, i386: Mark test as requiring dfp

2023-10-30 Thread FX Coudert
Hi,

The test is currently failing on x86_64-apple-darwin with "decimal 
floating-point not supported for this target”.
Marking the test as requiring dfp fixes the issue.

OK to push?

FX



0001-Testsuite-i386-Mark-test-as-requiring-dfp.patch
Description: Binary data


[PATCH] Testsuite, Darwin: Fix trampoline warning

2023-10-30 Thread FX Coudert
Heap-based trampolines are enabled on darwin20 and later, meaning that no 
warning is emitted.
Fixes the test failure on x86_64-apple-darwin21

OK to push?
FX



0001-Testsuite-Darwin-Fix-trampoline-warning.patch
Description: Binary data


[PATCH] Testsuite, i386: Fix test by passing -march

2023-10-30 Thread FX Coudert
Hi,

The newly introduced test gcc.target/i386/pr111698.c currently fails on Darwin, 
where the default arch is core2.
Andrew suggested in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112287 to pass 
a recent value to -march, and I can confirm that it fixes the testsuite failure 
on x86_64-apple-darwin21.

OK to push?

FX



0001-Testsuite-i386-Fix-test-by-passing-march.patch
Description: Binary data


[PATCH] Testsuite, Darwin: skip PIE test

2023-10-30 Thread FX Coudert
Hi,

The recent commit of 
https://gcc.gnu.org/pipermail/gcc-patches/2023-October/634347.html has made 
this test invalid. We now don’t emit __PIE__, and the test should be skipped on 
darwin.

Fixes the new failure on x86_64-apple-darwin21. OK to push?
FX



0001-Testsuite-Darwin-skip-PIE-test.patch
Description: Binary data


Re: Darwin: Replace environment runpath with embedded [PR88590]

2023-10-22 Thread FX Coudert
Thanks a lot Alexandre for the review!

FX


Re: [PATCH] Testsuite, DWARF2: adjust regexp to match darwin output

2023-09-29 Thread FX Coudert
Thanks Jeff, pushed as 94e68ce96c285e479736851f1ad8cc87c8c3ff0c

FX


Re: [PATCH] Testsuite, DWARF2: adjust regexp to match darwin output

2023-09-20 Thread FX Coudert
ping**2


> Hi,
> 
> This was a painful one to fix, because I hate regexps, especially when they 
> are quoted. On darwin, we have this failure:
> 
>FAIL: gcc.dg/debug/dwarf2/inline4.c scan-assembler 
> DW_TAG_inlined_subroutine[^(]*([^)]*)[^(]*(DIE 
> (0x[0-9a-f]*) DW_TAG_formal_parameter[^(]*(DIE 
> (0x[0-9a-f]*) DW_TAG_variable
> 
> That hideous regexp is trying to match (generated on Linux):
> 
>>.uleb128 0x4# (DIE (0x5c) DW_TAG_inlined_subroutine)
>>.long   0xa0# DW_AT_abstract_origin
>>.quad   .LBI4   # DW_AT_entry_pc
>>.byte   .LVU2   # DW_AT_GNU_entry_view
>>.quad   .LBB4   # DW_AT_low_pc
>>.quad   .LBE4-.LBB4 # DW_AT_high_pc
>>.byte   0x1 # DW_AT_call_file (u.c)
>>.byte   0xf # DW_AT_call_line
>>.byte   0x14# DW_AT_call_column
>>.uleb128 0x5# (DIE (0x7d) DW_TAG_formal_parameter)
>>.long   0xad# DW_AT_abstract_origin
>>.long   .LLST0  # DW_AT_location
>>.long   .LVUS0  # DW_AT_GNU_locviews
>>.uleb128 0x6# (DIE (0x8a) DW_TAG_variable)
> 
> It is using the parentheses to check what is between  
> DW_TAG_inlined_subroutine, DW_TAG_formal_parameter and DW_TAG_variable. 
> There’s only one block of parentheses in the middle, that "(u.c)”. However, 
> on darwin, the generated output is more compact:
> 
>>.uleb128 0x4; (DIE (0x188) DW_TAG_inlined_subroutine)
>>.long   0x1b8   ; DW_AT_abstract_origin
>>.quad   LBB4; DW_AT_low_pc
>>.quad   LBE4; DW_AT_high_pc
>>.uleb128 0x5; (DIE (0x19d) DW_TAG_formal_parameter)
>>.long   0x1c6   ; DW_AT_abstract_origin
>>.uleb128 0x6; (DIE (0x1a2) DW_TAG_variable)
> 
> I think that’s valid as well, and the test should pass (what the test really 
> wants to check is that there is no DW_TAG_lexical_block emitted there, see 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37801 for its origin). It could 
> be achieved in two ways:
> 
> 1. making darwin emit the DW_AT_call_file
> 2. adjusting the regexp to match, making the internal block of parentheses 
> optional 
> 
> I chose the second approach. It makes the test pass on darwin. If someone can 
> test it on linux, it’d be appreciated :) I don’t have ready access to such a 
> system right now.
> 
> Once that passes, OK to commit?
> FX



0001-Testsuite-DWARF2-adjust-regexp-to-match-darwin-outpu.patch
Description: Binary data


[PATCH, pushed] testsuite: adjust for darwin linker warning

2023-09-08 Thread FX Coudert via Gcc-patches
Pushed as obvious to fix two testsuite FAILs on darwin with recent macOS 
linkers when -no_pie is passed.

FX



0001-testsuite-adjust-for-darwin-linker-warning.patch
Description: Binary data


Re: [PATCH] core: Support heap-based trampolines

2023-09-06 Thread FX Coudert via Gcc-patches
Hi,

ping**2 on the revised patch, for Richard or another global reviewer. So far 
all review feedback is that it’s a step forward, and it’s been widely used for 
both aarch64-darwin and x86_64-darwin distributions for almost three years now.

OK to commit?
FX



> Le 5 août 2023 à 16:20, FX Coudert  a écrit :
> 
> Hi Richard,
> 
> Thanks for your feedback. Here is an amended version of the patch, taking 
> into consideration your requests and the following discussion. There is no 
> configure option for the libgcc part, and the documentation is amended. The 
> patch is split into three commits for core, target and libgcc.
> 
> Currently regtesting on x86_64 linux and darwin (it was fine before I split 
> up into three commits, so I’m re-testing to make sure I didn’t screw anything 
> up).
> 
> OK to commit?
> FX



0001-core-Support-heap-based-trampolines.patch
Description: Binary data


0002-target-Support-heap-based-trampolines.patch
Description: Binary data


0003-libgcc-support-heap-based-trampolines.patch
Description: Binary data


Re: Testsuite: fix contructor priority test

2023-09-03 Thread FX Coudert via Gcc-patches
Hi,

I was about to ping the attached patch, and realised it bordered on obvious, so 
I pushed it directly.

FX



> Le 19 août 2023 à 22:40, FX Coudert  a écrit :
> 
> Bordering on obvious, tested on darwin where the test case fails before (and 
> now passes).
> 
> OK to commit?
> FX
> 
> <0001-Testsuite-fix-contructor-priority-test.patch>


0001-Testsuite-fix-contructor-priority-test.patch
Description: Binary data


Re: [PATCH] Darwin: homogenize spelling of macOS

2023-08-31 Thread FX Coudert via Gcc-patches
Hi,

Thanks Sandra and Iain.
Patch pushed.

FX


[PATCH] Darwin: homogenize spelling of macOS

2023-08-31 Thread FX Coudert via Gcc-patches
This patch homogenizes to some extent the use of “Mac OS X” or “OS X” or “Mac 
OS” in the gcc/ folder to “macOS”, which is the modern way of writing it. It is 
not a global replacement though, and each use was audited.

- When referring to specific versions that used the “OS X” or “Mac OS” as their 
name, it was kept.
- All uses referring to powerpc*-apple-darwin* were kept as-is, because those 
versions all predate the change to “macOS”.
- I did not touch Ada or D
- I did not touch testsuite comments

Tested by building on x86_64-apple-darwin, and generating the docs.
OK to push?

FX




0001-Darwin-homogenize-spelling-of-macOS.patch
Description: Binary data


Re: Analyzer failure due to missing header

2023-08-30 Thread FX Coudert via Gcc
> std::max and std::min, introduced by d99d73c77d1e and 2bad0eeb5573, are not 
> available because  is not included.

I originally thought this was only seen in cross-compilers, but it actually 
broke bootstrap on darwin.
Attached patch restores it, OK to commit?

FX



0001-Analyzer-include-algorithm-header.patch
Description: Binary data


Re: Analyzer failure due to missing header

2023-08-30 Thread FX Coudert via Gcc-patches
> std::max and std::min, introduced by d99d73c77d1e and 2bad0eeb5573, are not 
> available because  is not included.

I originally thought this was only seen in cross-compilers, but it actually 
broke bootstrap on darwin.
Attached patch restores it, OK to commit?

FX



0001-Analyzer-include-algorithm-header.patch
Description: Binary data


Analyzer failure due to missing header

2023-08-30 Thread FX Coudert via Gcc
Hi David,

I’m seeing the following failures on building GCC with Apple’s clang:

> /Users/fx/devel/gcc/gcc-repo-write/gcc/analyzer/region-model.cc:3426:16: 
> error: unexpected type name 'byte_size_t': expected expression
>std::max (bytes.m_size_in_bytes,
> ^
> /Users/fx/devel/gcc/gcc-repo-write/gcc/analyzer/region-model.cc:3426:12: 
> error: no member named 'max' in namespace 'std'; did you mean 'fmax'?
>std::max (bytes.m_size_in_bytes,
>~^~~
> fmax
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:420:9:
>  note: 'fmax' declared here
> using ::fmax _LIBCPP_USING_IF_EXISTS;
> ^
> /Users/fx/devel/gcc/gcc-repo-write/gcc/analyzer/region-model.cc:3450:18: 
> error: expected '(' for function-style cast or type construction
>   = std::min ((TREE_STRING_LENGTH (string_cst)
>  ^
> /Users/fx/devel/gcc/gcc-repo-write/gcc/hwint.h:59:31: note: expanded from 
> macro 'HOST_WIDE_INT'
> #   define HOST_WIDE_INT long long
>   ^
> /Users/fx/devel/gcc/gcc-repo-write/gcc/analyzer/region-model.cc:3450:14: 
> error: no member named 'min' in namespace 'std'
>   = std::min ((TREE_STRING_LENGTH (string_cst)
> ~^

std::max and std::min, introduced by d99d73c77d1e and 2bad0eeb5573, are not 
available because  is not included. The following patch fixes the 
build for me:

diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc
index 4f31a6dcf0f..1ca8c8839bf 100644
--- a/gcc/analyzer/region-model.cc
+++ b/gcc/analyzer/region-model.cc
@@ -20,6 +20,7 @@ along with GCC; see the file COPYING3.  If not see
   #include "config.h"
 #define INCLUDE_MEMORY
+#define INCLUDE_ALGORITHM
 #include "system.h"
 #include "coretypes.h"
 #include "make-unique.h”


Could you check it is what you intended, and push it?

Thanks,
FX

Re: [PATCH] Testsuite, DWARF2: adjust regexp to match darwin output

2023-08-29 Thread FX Coudert via Gcc-patches
ping


> Hi,
> 
> This was a painful one to fix, because I hate regexps, especially when they 
> are quoted. On darwin, we have this failure:
> 
>FAIL: gcc.dg/debug/dwarf2/inline4.c scan-assembler 
> DW_TAG_inlined_subroutine[^(]*([^)]*)[^(]*(DIE 
> (0x[0-9a-f]*) DW_TAG_formal_parameter[^(]*(DIE 
> (0x[0-9a-f]*) DW_TAG_variable
> 
> That hideous regexp is trying to match (generated on Linux):
> 
>>.uleb128 0x4# (DIE (0x5c) DW_TAG_inlined_subroutine)
>>.long   0xa0# DW_AT_abstract_origin
>>.quad   .LBI4   # DW_AT_entry_pc
>>.byte   .LVU2   # DW_AT_GNU_entry_view
>>.quad   .LBB4   # DW_AT_low_pc
>>.quad   .LBE4-.LBB4 # DW_AT_high_pc
>>.byte   0x1 # DW_AT_call_file (u.c)
>>.byte   0xf # DW_AT_call_line
>>.byte   0x14# DW_AT_call_column
>>.uleb128 0x5# (DIE (0x7d) DW_TAG_formal_parameter)
>>.long   0xad# DW_AT_abstract_origin
>>.long   .LLST0  # DW_AT_location
>>.long   .LVUS0  # DW_AT_GNU_locviews
>>.uleb128 0x6# (DIE (0x8a) DW_TAG_variable)
> 
> It is using the parentheses to check what is between  
> DW_TAG_inlined_subroutine, DW_TAG_formal_parameter and DW_TAG_variable. 
> There’s only one block of parentheses in the middle, that "(u.c)”. However, 
> on darwin, the generated output is more compact:
> 
>>.uleb128 0x4; (DIE (0x188) DW_TAG_inlined_subroutine)
>>.long   0x1b8   ; DW_AT_abstract_origin
>>.quad   LBB4; DW_AT_low_pc
>>.quad   LBE4; DW_AT_high_pc
>>.uleb128 0x5; (DIE (0x19d) DW_TAG_formal_parameter)
>>.long   0x1c6   ; DW_AT_abstract_origin
>>.uleb128 0x6; (DIE (0x1a2) DW_TAG_variable)
> 
> I think that’s valid as well, and the test should pass (what the test really 
> wants to check is that there is no DW_TAG_lexical_block emitted there, see 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37801 for its origin). It could 
> be achieved in two ways:
> 
> 1. making darwin emit the DW_AT_call_file
> 2. adjusting the regexp to match, making the internal block of parentheses 
> optional 
> 
> I chose the second approach. It makes the test pass on darwin. If someone can 
> test it on linux, it’d be appreciated :) I don’t have ready access to such a 
> system right now.
> 
> Once that passes, OK to commit?
> FX
> 


0001-Testsuite-DWARF2-adjust-regexp-to-match-darwin-outpu.patch
Description: Binary data


Re: [PATCH] libgomp, testsuite: Do not call nonstandard functions on darwin

2023-08-22 Thread FX Coudert via Gcc-patches
> Revised patch. I does the job on darwin, can you check that it still tests 
> the functions on Linux?
> And if so, OK to commit?

With the correct file, sorry.



0001-libgomp-testsuite-Do-not-call-nonstandard-functions.patch
Description: Binary data


Re: [PATCH] libgomp, testsuite: Do not call nonstandard functions on darwin

2023-08-22 Thread FX Coudert via Gcc-patches
Revised patch. I does the job on darwin, can you check that it still tests the 
functions on Linux?
And if so, OK to commit?

FX



0001-Testsuite-DWARF2-adjust-regexp-to-match-darwin-outpu.patch
Description: Binary data


Re: [PATCH] libgomp, testsuite: Do not call nonstandard functions on darwin

2023-08-21 Thread FX Coudert via Gcc-patches
>> I understand, I wanted to not just report the issue but propose an option. 
>> It seems a bit heavy to design an effective target just for one test, 
>> though, no?
> 
> It has the advantage of getting it right on all current and future targets.

Something like this? (not tested yet)


diff --git a/libgomp/testsuite/lib/libgomp.exp 
b/libgomp/testsuite/lib/libgomp.exp
index 2f9e538278f..85d467434e9 100644
--- a/libgomp/testsuite/lib/libgomp.exp
+++ b/libgomp/testsuite/lib/libgomp.exp
@@ -377,6 +377,24 @@ proc offload_target_to_openacc_device_type { 
offload_target } {
 }
 }
  +# Return 1 if certain nonstandard math functions are available
+# on the target.
+proc libgomp_check_effective_target_nonstandard_math_functions { } {
+return [check_no_compiler_messages nonstandard_math_functions executable {
+#include 
+int main() {
+  float x = 42;
+  double y = 42;
+  x = gammaf (x);
+  x = __builtin_scalbf (x, 2.f);
+  x =__builtin_significandf (x);
+  y = gamma (y);
+  y = __builtin_scalb (y, 2.);
+  y =__builtin_significand (y);
+  return 0;
+} } "-lm" ]
+}
+
 # Return 1 if compiling for the specified offload target
 # Takes -foffload=... into account by checking OFFLOAD_TARGET_NAMES=
 # in the -v compiler output.



Re: [PATCH] libgomp, testsuite: Do not call nonstandard functions on darwin

2023-08-21 Thread FX Coudert via Gcc-patches
> I don't like the #if !defined(__APPLE__) conditionals everywhere in the
> test, I think much cleaner would be to add an effective target to test
> for those functions

I understand, I wanted to not just report the issue but propose an option. It 
seems a bit heavy to design an effective target just for one test, though, no?

Another possibility would be to replace #if !defined(__APPLE__) by #if 
defined(__linux__), or glibc?

FX




[committed] Testsuite, darwin: account for macOS 13 and 14

2023-08-20 Thread FX Coudert via Gcc-patches
Committed as obvious, making gcc.dg/darwin-minversion-link.c pass on macOS 13 
and 14 (darwin22 and darwin23, respectively).

FX



0001-Testsuite-darwin-account-for-macOS-13-and-14.patch
Description: Binary data


[PATCH] libgomp, testsuite: Do not call nonstandard functions on darwin

2023-08-20 Thread FX Coudert via Gcc-patches
Hi,

testsuite/libgomp.c/simd-math-1.c calls nonstandard functions that are not 
available on darwin (and possibly other systems?). Because I did not want to 
disable their testing completely, I suggest we simply use preprocessor macros 
to avoid them on darwin.

This fixes the test failure on aarch64-apple-darwin.
OK to commit?

FX



0001-libgomp-testsuite-Do-not-call-nonstandard-functions-.patch
Description: Binary data


[PATCH, committed] Testsuite, darwin: Fix analyzer testcases

2023-08-20 Thread FX Coudert via Gcc-patches
Committed as obvious, fixing three more darwin-specific failures in analyzer 
testsuite.
This fixes:

FAIL: gcc.dg/plugin/taint-CVE-2011-0521-5.c 
-fplugin=./analyzer_kernel_plugin.so  (test for warnings, line 39)
FAIL: gcc.dg/plugin/taint-CVE-2011-0521-6.c 
-fplugin=./analyzer_kernel_plugin.so  (test for warnings, line 36)
XPASS: gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c 
-fplugin=./analyzer_kernel_plugin.so  (test for bogus messages, line 39)

Committed to trunk,
FX


0001-Testsuite-darwin-Fix-analyzer-testcases.patch
Description: Binary data


Re: [PATCH] Testsuite: mark IPA test as requiring alias support

2023-08-20 Thread FX Coudert via Gcc-patches
Hi,

> IMO, changes like this qualify as obvious, so I’d go ahead (thanks for this 
> test fail triage)

Makes sense. I’ve committed, as well as another one, attached, slightly 
amending the expected pattern of a sarif plugin test.

FX



0001-Testsuite-plugin-make-testcase-pattern-more-flexible.patch
Description: Binary data


[PATCH] Testsuite: mark IPA test as requiring alias support

2023-08-20 Thread FX Coudert via Gcc-patches
Hi,

The fact that this test needs alias support was indicated in 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85656 but never committed. Without 
it, the test fails on darwin.

OK to commit?

FX



0001-Testsuite-mark-IPA-test-as-requiring-alias-support.patch
Description: Binary data


[PATCH] Testsuite, DWARF2: adjust regexp to match darwin output

2023-08-20 Thread FX Coudert via Gcc-patches
Hi,

This was a painful one to fix, because I hate regexps, especially when they are 
quoted. On darwin, we have this failure:

FAIL: gcc.dg/debug/dwarf2/inline4.c scan-assembler 
DW_TAG_inlined_subroutine[^(]*([^)]*)[^(]*(DIE 
(0x[0-9a-f]*) DW_TAG_formal_parameter[^(]*(DIE 
(0x[0-9a-f]*) DW_TAG_variable

That hideous regexp is trying to match (generated on Linux):

> .uleb128 0x4# (DIE (0x5c) DW_TAG_inlined_subroutine)
> .long   0xa0# DW_AT_abstract_origin
> .quad   .LBI4   # DW_AT_entry_pc
> .byte   .LVU2   # DW_AT_GNU_entry_view
> .quad   .LBB4   # DW_AT_low_pc
> .quad   .LBE4-.LBB4 # DW_AT_high_pc
> .byte   0x1 # DW_AT_call_file (u.c)
> .byte   0xf # DW_AT_call_line
> .byte   0x14# DW_AT_call_column
> .uleb128 0x5# (DIE (0x7d) DW_TAG_formal_parameter)
> .long   0xad# DW_AT_abstract_origin
> .long   .LLST0  # DW_AT_location
> .long   .LVUS0  # DW_AT_GNU_locviews
> .uleb128 0x6# (DIE (0x8a) DW_TAG_variable)

It is using the parentheses to check what is between  
DW_TAG_inlined_subroutine, DW_TAG_formal_parameter and DW_TAG_variable. There’s 
only one block of parentheses in the middle, that "(u.c)”. However, on darwin, 
the generated output is more compact:

> .uleb128 0x4; (DIE (0x188) DW_TAG_inlined_subroutine)
> .long   0x1b8   ; DW_AT_abstract_origin
> .quad   LBB4; DW_AT_low_pc
> .quad   LBE4; DW_AT_high_pc
> .uleb128 0x5; (DIE (0x19d) DW_TAG_formal_parameter)
> .long   0x1c6   ; DW_AT_abstract_origin
> .uleb128 0x6; (DIE (0x1a2) DW_TAG_variable)

I think that’s valid as well, and the test should pass (what the test really 
wants to check is that there is no DW_TAG_lexical_block emitted there, see 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37801 for its origin). It could be 
achieved in two ways:

1. making darwin emit the DW_AT_call_file
2. adjusting the regexp to match, making the internal block of parentheses 
optional 

I chose the second approach. It makes the test pass on darwin. If someone can 
test it on linux, it’d be appreciated :) I don’t have ready access to such a 
system right now.

Once that passes, OK to commit?
FX



0001-Testsuite-DWARF2-adjust-regexp-to-match-darwin-outpu.patch
Description: Binary data


[PATCH] Testsuite, LTO: silence warning to make test pass on Darwin

2023-08-20 Thread FX Coudert via Gcc-patches
Hi,

On darwin (both x86_64-apple-darwin and aarch64-apple-darwin) we see the 
following test failure:

FAIL: gcc.dg/lto/20091013-1 c_lto_20091013-1_2.o assemble, -fPIC -r -nostdlib 
-O2 -flto

which is due to this extra warning:

In function 'fontcmp',
inlined from 'find_in_cache' at 
/tmp/gcc-darwin-arm64/gcc/testsuite/gcc.dg/lto/20091013-1_2.c:140:13,
inlined from 'WineEngCreateFontInstance' at 
/tmp/gcc-darwin-arm64/gcc/testsuite/gcc.dg/lto/20091013-1_2.c:160:15:
/tmp/gcc-darwin-arm64/gcc/testsuite/gcc.dg/lto/20091013-1_2.c:107:8: warning: 
'memcmp' specified bound 4 exceeds source size 0 [-Wst
ringop-overread]
/tmp/gcc-darwin-arm64/gcc/testsuite/gcc.dg/lto/20091013-1_2.c: In function 
'WineEngCreateFontInstance':
/tmp/gcc-darwin-arm64/gcc/testsuite/gcc.dg/lto/20091013-1_2.c:66:20: note: 
source object allocated here

Now, the main file for the test has:

/* { dg-extra-ld-options "-flinker-output=nolto-rel -Wno-stringop-overread" } */

and I believe the intent of -Wno-stringop-overread is to silence this warning, 
but that only applies to the linker, and the warning on darwin is produced by 
the compiler (in addition to the linker). Adding the flag to the compilation of 
the source file makes the test pass on darwin.

OK to commit?
FX




0001-Testsuite-LTO-silence-warning-to-make-test-pass-on-D.patch
Description: Binary data


Re: [PATCH] core: Support heap-based trampolines

2023-08-20 Thread FX Coudert via Gcc-patches
Hi,

A gentle ping on the revised patch, for Richard or another global reviewer.

Thanks,
FX



> Le 5 août 2023 à 16:20, FX Coudert  a écrit :
> 
> Hi Richard,
> 
> Thanks for your feedback. Here is an amended version of the patch, taking 
> into consideration your requests and the following discussion. There is no 
> configure option for the libgcc part, and the documentation is amended. The 
> patch is split into three commits for core, target and libgcc.
> 
> Currently regtesting on x86_64 linux and darwin (it was fine before I split 
> up into three commits, so I’m re-testing to make sure I didn’t screw anything 
> up).
> 
> OK to commit?
> FX



0001-core-Support-heap-based-trampolines.patch
Description: Binary data


0002-target-Support-heap-based-trampolines.patch
Description: Binary data


0003-libgcc-support-heap-based-trampolines.patch
Description: Binary data


  1   2   3   4   5   6   7   8   9   >