[pushed] Objective-C: fix crash with -fobjc-nilcheck

2021-08-18 Thread Iain Sandoe
generating the tree for the `{}` initializer. Signed-off-by: Iain Sandoe Co-authored-by: Matt Jacobson PR objc/101666 gcc/objc/ChangeLog: * objc-act.c (objc_build_constructor): Handle empty constructor lists. * objc-next-runtime-abi-02.c

[pushed] configure: Allow host fragments to react to --enable-host-shared.

2021-08-18 Thread Iain Sandoe
i686, x86_64-darwin, x86_64,powerpc64-linux, pushed to master (the non-darwin-specific change is trivial). thanks Iain Signed-off-by: Iain Sandoe ChangeLog: * Makefile.in: Regenerate. * Makefile.tpl: Make the state of the configured host shared flag available to mak

[pushed] Darwin, jit: Fix build [PR100613].

2021-08-18 Thread Iain Sandoe
with its correct install name so that two-level library naming works. * The extension for shared libraries should be .dylib tested on i686, powerpc, x86_64-darwin, x86_64, powerpc64-linux pushed to master, thanks Iain Signed-off-by: Iain Sandoe PR jit/100613 - libgccjit should produce dylib

[PATCH] c++tools : Add a simple handler for ModuleCompiledRequest.

2021-08-18 Thread Iain Sandoe
Hi, I have found it useful when working with modules stuff to have the completed set of command/responses available (some people working with the interfaces for more sophisticated tools are using them). This message is a hand-shake telling the server that a CMI has been built, and for the simplis

[PATCH] JIT, testsuite, Darwin: Initial testsuite fixes.

2021-08-18 Thread Iain Sandoe
d unused variable warnings and the clash with the libc definition of wait () * In accordance with the advice in the expect man page, ensures that the final output of the 'totals' print is stable. tested on i686, x86_64-darwin, x86_64, powerpc64-linux, OK for master? than

[PATCH] testsuite, JIT, Darwin: Adjust asm tests for Mach-O.

2021-08-18 Thread Iain Sandoe
tested on x86_64-darwin, x86_64-linux, OK for master? thanks Iain Signed-off-by: Iain Sandoe gcc/testsuite/ChangeLog: * jit.dg/test-asm.c: Provide Mach-O fragment. * jit.dg/test-asm.cc: Likewise. --- gcc/testsuite/jit.dg/test-asm.c | 13 + gcc/testsuite/jit.dg/test

Re: [PATCH] JIT, testsuite, Darwin: Initial testsuite fixes.

2021-08-19 Thread Iain Sandoe
Hi David, > On 18 Aug 2021, at 20:54, David Malcolm via Gcc-patches > wrote: > > On Wed, 2021-08-18 at 20:40 +0100, Iain Sandoe wrote: >> Hi, >> >> * Note, the strategy in jit.exp has the assumption that >> $target==$host >> the patches here ad

[pushed] Objective-C, NeXT runtime: Correct the default for fobjc-nilcheck.

2021-08-19 Thread Iain Sandoe
: Iain Sandoe gcc/objc/ChangeLog: * objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init): Default receiver nilchecks on. --- gcc/objc/objc-next-runtime-abi-02.c | 4 1 file changed, 4 insertions(+) diff --git a/gcc/objc/objc-next-runtime-abi-02.c b/gcc/objc/objc-next

[PATCH] configure: Allow a host makefile fragment to override PIE flag settings.

2021-08-19 Thread Iain Sandoe
values on the basis of the configured host platform/version. 3. Sets suitable values for the Darwin cases that currently fail. tested on i686,powerpc,x86-64-darwin, x86_64, powerpc64-linux, OK for master? thanks Iain Signed-off-by: Iain Sandoe ChangeLog: * Makefile.in: R

[PATCH] Jit, testsuite: Amend expect processing to tolerate more platforms.

2021-08-19 Thread Iain Sandoe
porting such lines to the log. At least this should allow debugging of any cases where output that should be recognized is being dropped. tested on i686, x86_64-darwin, x86_64,powerpc64-linux, OK for master? thanks Iain Signed-off-by: Iain Sandoe gcc/testsuite/ChangeLog: * jit.dg

[PATCH] testsuite, Darwin : Do not claim 'GAS' for cctools assembler.

2021-08-19 Thread Iain Sandoe
Hi, Although the cctools assembler is based of GNU GAS, it is from a very old version (1.38) which does not support many of the features that the target supports test is expecting***. tested on i686 and x86_64 darwin versions using the cctools as. OK for master? thanks Iain *** I guess we could

[PATCH] libgfortran : Use the libtool macro to determine libm availability.

2021-08-19 Thread Iain Sandoe
Hi, A while ago had a report of build failure against a Darwin branch on the latest OS release. This was because (temporarily) the symlink from libm.dylib => libSystem.dylib had been removed/omitted. libm is not needed on Darwin, and should not be added unconditionally even if that is (mostly) h

Re: [PATCH] libgfortran : Use the libtool macro to determine libm availability.

2021-08-20 Thread Iain Sandoe
> On 20 Aug 2021, at 08:52, Tobias Burnus wrote: > > On 20.08.21 09:34, Richard Biener via Fortran wrote: > >> On Thu, Aug 19, 2021 at 10:10 PM Iain Sandoe wrote: >>> libm is not needed on Darwin, and should not be added unconditionally >>> even if tha

Re: [PATCH] configure: Allow a host makefile fragment to override PIE flag settings.

2021-08-20 Thread Iain Sandoe
Hi Richard, > On 20 Aug 2021, at 09:39, Richard Sandiford wrote: > > Iain Sandoe writes: >> This concerns the settings of flags (using the host makefile fragment) for >> tools that will run on the host. >> >> At present the (no)PIE flags are comput

Re: [PATCH] libgfortran : Use the libtool macro to determine libm availability.

2021-08-22 Thread Iain Sandoe
> On 21 Aug 2021, at 23:18, Eric Gallager wrote: > > On Fri, Aug 20, 2021 at 3:53 AM Tobias Burnus wrote: >> >> On 20.08.21 09:34, Richard Biener via Fortran wrote: >> >>> On Thu, Aug 19, 2021 at 10:10 PM Iain Sandoe wrote: >>>> libm

Re: [pushed] libiberty, Darwin : Fix simple-object LTO table for cross-endian case.

2021-08-23 Thread Iain Sandoe
Hi, > On 23 Aug 2021, at 09:07, Martin Liška wrote: > > On 8/18/21 20:37, Iain Sandoe wrote: >> For mach-o, we encapsulate streamed IR for LTO in three special >> sections with a table that describes their entries. The table is expected >> to be written with nativ

[PATCH] configure: Adjust several assembler checks to remove an unused parm.

2021-08-26 Thread Iain Sandoe
in the gcc directory. OK if regstraps succeed on x86_64-linux and darwin? thanks Iain Signed-off-by: Iain Sandoe gcc/ChangeLog: * configure.ac (darwin2[[0-9]]* | darwin19*): Alter use of gcc_GAS_CHECK_FEATURE to remove an extraneous parameter. (amdgcn-* | gcn-*) Likewise

[PING] Re: [PATCH] configure, jit: Allow for 'make check-gcc-jit'.

2021-08-27 Thread Iain Sandoe
+Jeff (it’s probably borderline obvious - but in the top level Makefile .. so) > On 17 Aug 2021, at 21:53, David Malcolm wrote: > > On Tue, 2021-08-17 at 19:59 +0100, Iain Sandoe wrote: >> Hi, >> >> For those of us who habitually build Ada, it’s convenient t

Re: [PATCH] libgfortran : Use the libtool macro to determine libm availability.

2021-08-27 Thread Iain Sandoe
> On 22 Aug 2021, at 09:44, Iain Sandoe wrote: > > > >> On 21 Aug 2021, at 23:18, Eric Gallager wrote: >> >> On Fri, Aug 20, 2021 at 3:53 AM Tobias Burnus >> wrote: >>> >>> On 20.08.21 09:34, Richard Biener via Fortran wrote:

[pushed] Darwin : Mark the mod init/term section starts with a linker-visible sym.

2021-08-27 Thread Iain Sandoe
-debug fails. The solution is to provide a stable linker-visible symbol. tested on powerpc, i686, x86_64-darwin, x8-64-linux pushed to master, thanks Iain Signed-off-by: Iain Sandoe gcc/ChangeLog: * config/darwin.c (finalize_ctors): Add a section-start linker- visible symbol

[pushed] Darwin, X86 : Implement __cache_clear.

2021-08-27 Thread Iain Sandoe
Hi, We had a NOP cache clear, but there is a suitable mechanism provided by a system call. This connects it up. tested on i686, x86_64-darwin and x86_64-linux pushed to master, thanks Iain Signed-off-by: Iain Sandoe gcc/ChangeLog: * config/i386/darwin.h (CLEAR_INSN_CACHE): New

[pushed] testsuite, Darwin : Skip a test requiring strndup in libc.

2021-08-28 Thread Iain Sandoe
Hi Before Darwin11 there is no strndup in libc. This test fails with warning output because of that - so skip it on these versions (since they are not able to use strndup anyway). tested across the Darwin range and on x86_64, powerpc64 linux. pushed to master, thanks Iain gcc/testsuite/ChangeLog

[pushed] Darwin: Fixes for darwin_libc_has_function.

2021-08-29 Thread Iain Sandoe
-64-linux), pushed to master, thanks Iain Signed-off-by: Iain Sandoe gcc/ChangeLog: * config/darwin.c (darwin_libc_has_function): Do not run the checks for x86 or modern Darwin. Make sure that there is a value set for darwin_macosx_version_min before testing. --- gcc

[PATCH] libiberty, configure, Darwin: Avoid detecting deprecated sbrk.

2021-08-30 Thread Iain Sandoe
, tested on powerpc,i686,x86_64-darwin, x86_64, powerpc64- linux, OK for master? thanks Iain Signed-off-by: Iain Sandoe libiberty/ChangeLog: * configure: Regenerate. * configure.ac: Do not search for sbrk on Darwin. * xmalloc.c: Do not declare sbrk unless it has been found

[pushed] Darwin, X86, testsuite: Fix pr87767 tests for Darwin.

2020-09-14 Thread Iain Sandoe
Hi The tests assume non-PIC for m32 (which means that they fail on default PIC targets, like Darwin), also on Linux with -fpic, FWIW. There is also a missing space before the closing '}' on one of the dg-require- effective-target which means that test fails on machines without avx512f. Tested on

[pushed] libbacktrace, Mach-O : Support PowerPC archs.

2020-09-16 Thread Iain Sandoe
Hi, This adds the PPC architecture variants for Mach-O libbacktrace. With this (as for X86 and Arm) when dsymutil is run on the binary we get a basic usable backtrace. Testsuite results on powerpc-apple-darwin9 are the same as for X86: * btest fails (TBC why) * dwarf5 tests fail because dsymu

[pushed] Darwin, testsuite : Skip a test that requires ELF.

2020-09-21 Thread Iain Sandoe
Hi, The symver support is only available to ELF targets. tested on x86_64-darwin16, pushed to master thanks Iain gcc/testsuite/ChangeLog: * gcc.dg/ipa/symver1.c: Skip for Darwin. --- gcc/testsuite/gcc.dg/ipa/symver1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/testsuite/gc

[pushed] Darwin : Begin rework of zero-fill sections.

2020-10-10 Thread Iain Sandoe
Hi, Much of the existing work in the Darwin BSS and common sections was to accommodate the PowerPC section anchors. We want to segregate this, since it might become desirable to support section anchors for arm64. First revision (here) is to use the same section conventions as the Xcode toocha

[pushed] Objective-C, Darwin : Update metadata section uses.

2020-10-10 Thread Iain Sandoe
Hi, Newer versions of ld64 are more picky about adherence to placement rules for objective c metadata. This adds protocol refs and uses the ivar refs for all targets. tested across the Darwin supported range (and on x86_64-linux) pushed to master, thanks Iain gcc/ChangeLog: * config/da

[pushed] Darwin : Only emit Objective-C section switches for older linkers.

2020-10-10 Thread Iain Sandoe
Hi At one time, the system linkers needed to have at least a dummy entry for every Objective-C section in use. This removes the extra emitted code when it is not needed by the linker. tested across the supported Darwin range, and on x86_64-linux, pushed to master, thanks Iain gcc/ChangeLog:

[pushed] Objective-C, Darwin : Compute super refs directly.

2020-10-10 Thread Iain Sandoe
Hi, The current code assumed that super refs could be computed indirectly, i.e. that the metadata generated by the compiler was immutable by the runtime. This does not always hold (it depends on the NeXT runtime version). So, compute super refs directly. tested across the Darwin supported range,

[pushed] Objective-C, Darwin : Update protocol metadata to current version.

2020-10-11 Thread Iain Sandoe
Hi Later versions of the NeXT runtime protocol metadata contain additional fields. This patch adds these fields and populates a new list of method types. tested across the range of supported Darwin systems, and on x86_64-linux pushed to master, thanks Iain gcc/objc/ChangeLog: * objc-ne

[pushed] Ojective-C, Darwin : Adjust category superclass ref names (NFC).

2020-10-11 Thread Iain Sandoe
Hi, Make the order of the class and superclass match the metadata order from clang. Makes it easier to compare produced meta- data between implementations. tested across the Darwin range and on x86_64-linux, pushed to master thanks Iain gcc/objc/ChangeLog: * objc-next-runtime-abi-02.c

[pushed] Objective-C++, Darwin : Make metadata 'extern "C"'.

2020-10-11 Thread Iain Sandoe
Hi, For current system toolchains NeXT runtime metadata symbols are not mangled for Objective-C++ (i.e. they are considered to be 'extern "C"'). This change becomes essential when we start to emit metadata refs as hidden and weak which is required by later editions of the runtime and linkers. te

[pushed] Objective-C, Darwin : Update message call codegen.

2020-10-11 Thread Iain Sandoe
Hi Platform compilers based on LLVM do not use the objc_sendMsg_fixit and friends for newer editions of the OS (runtimes for Arm64 do not even have those entries). We need to arrange to allow for this codegen on modern Darwin. The _fixit versions are needed for some OS versions (at least, up to

[pushed] Darwin, Objective-C : Update meta-data linkage.

2020-10-11 Thread Iain Sandoe
Hi Newer versions of ld64 require that some meta-data symbols are global, and that a larger set are linker-visible. tested across the Darwin range, and on x86_64-linux pushed to master thanks Iain gcc/ChangeLog: * config/darwin.c (darwin_globalize_label): Add protocol meta-data

[pushed] Darwin, Objective-C : Adjust objective-c symbol linkage with version.

2020-10-11 Thread Iain Sandoe
Hi Earlier linkers cannot handle publicly-visible (or linker-visible) metadata, so we need to make the output of these conditional on version. tested across the Darwin range, and on x86_64-linux pushed to master thanks Iain gcc/ChangeLog: * config/darwin.c (darwin_globalize_label): Make

[pushed] testsuite, Objective-C : Compatibility fixes.

2020-10-11 Thread Iain Sandoe
Hi Changes to deal with warnings and/or errors seen when compiling the tests with clang (allowing us to compare a sub-set of the tests between implementations). tested across the Darwin range, and on x86_64-linux pushed to master thanks Iain gcc/testsuite/ChangeLog: * objc-obj-c++-share

[pushed] testsuite, Objective-C : Update a test for newer OS versions.

2020-10-11 Thread Iain Sandoe
Hi Objective-C GC is not available for any recent Darwin version, nor is it available for the upcoming release of Darwin20. This just updates the skip conditions for the test. tested across the Darwin range, and on x86_64-linux pushed to master thanks Iain gcc/testsuite/ChangeLog: * ob

[pushed] testsuite, Objective-C : Adjust gnu-api tests for Darwin.

2020-10-11 Thread Iain Sandoe
Hi (Darwin tests both the GNU and NeXT runtimes) The GNU v2 API matches the next v2 API in most respects. However, some of the tests depend on access to items that the later NeXT headers consider to be 'internal implementation details' and are not exposed (we arrange that with a DEFINE). One te

[pushed] testsuite, Objective-C : Add initialize method to root class.

2020-10-11 Thread Iain Sandoe
Hi Older versions of the runtime don't like it when the root class has a missing initialize method. They try to forward to an non- existent super class resulting in a crash. TODO: maybe we can diagnose this. tested across the Darwin range, and on x86_64-linux pushed to master thanks Iain gcc/t

[pushed] testsuite, Objective-C : Update forward-1.m.

2020-10-11 Thread Iain Sandoe
Hi Newer versions of the runtime / NSObject don't respond to forward:. This uses the replacement. tested across the Darwin range, and on x86_64-linux pushed to master thanks Iain gcc/testsuite/ChangeLog: * objc.dg/torture/forward-1.m: Implement forwarding using the native NeXT (

[pushed] testsuite, Objective-C : Fix call-super-2.m for newer NeXT headers.

2020-10-11 Thread Iain Sandoe
Hi, We were using a callout to runtime.h which, eventually brings in the system runtime.h. One newer versions of the Darwin/NeXT headers this declares the objc_getClass() function as returning Class, rather than the internal representation of that. This breaks a fragile assumption in objc-act th

[pushed] testsuite, Objective-C : Fix two plugin diagnostics tests for Darwin.

2020-10-11 Thread Iain Sandoe
Hi The @selector and @protocol keywords produce a var decl without useful location information. The current diagnostics plugin does not look at VAR_DECLs (and it would not be helpful if it did in this case, since a single decl is shared across all the users). However, we can, in this case, make e

[pushed] testsuite, Objective-c++ : Fix GNU API tests to work with NeXT where possible.

2020-10-11 Thread Iain Sandoe
Hi (Darwin tests both GNU and NeXT runtimes). The version 2 GNU Objective C API is mostly compatible with the NeXT one. However, there are a few testsuite tweaks needed (and one test fails for NeXT without considerable increase in complexity). tested across the Darwin range, and on x86_64-linux

[pushed] testsuite, objective-c++ : GC is not available from Darwin16.

2020-10-11 Thread Iain Sandoe
Hi, Update the dg-skip to cover newer systems. tested across the Darwin range, and on x86_64-linux pushed to master thanks Iain gcc/testsuite/ChangeLog: * obj-c++.dg/objc-gc-3.mm:i Skip for Darwin >= 16. --- gcc/testsuite/obj-c++.dg/objc-gc-3.mm | 2 +- 1 file changed, 1 insertion(+),

[pushed] testsuite, Objective-c++ : Add a dummy retain/release to testuite object.

2020-10-11 Thread Iain Sandoe
Hi On newer systems, the throw/catch process sends retain and release messages to thrown objects. While these are not needed in the testsuite cases, they cause the tests to fail because the selector is not handled. Add dummy methods to the testsuite object. tested across the Darwin range, and on

[pusshed] testsuite, Objective-c++ : Update diagnostic plugin test.

2020-10-11 Thread Iain Sandoe
Hi The @selector() and @protocol() operators produce var decls these do not work with the example plugin. Unfortunately, unlike the ObjC front end, it is not so easy to construct a substitute expression that works reliably. Where it does not work we xfail for now. tested across the Darwin range

[pushed] Objective-C++ : Fix bitfield ivars regression.

2020-10-11 Thread Iain Sandoe
Hi This fixes a regression present from 8.x; It used to be OK to test for a DECL_INITIAL value to flag that an ivar was a bitfield (the initial value was the width). This still works on C / Objective-C, but no longer on C++. Replace the test with DECL_C_BIT_FIELD() which is set for both C and C

[pushed] libobjc, Darwin : Fix powerpc encoding regression.

2020-10-11 Thread Iain Sandoe
Hi This corrects a typo in the recipe for the special type alignment rules that are used for 32bit powerpc Darwin platforms. The regression is present in all open branches (but luckily not on 7.5). I plan to fix it on the branches too. tested across the Darwin range, and on x86_64-linux pushed

Re: [PATCH] Avoid depending on destructor order

2022-09-24 Thread Iain Sandoe
> On 23 Sep 2022, at 15:30, David Edelsohn via Gcc-patches > wrote: > > On Fri, Sep 23, 2022 at 10:12 AM Thomas Neumann wrote: > >>> >>>+static const bool in_shutdown = false; >>> >>> I'll let Jason or others decide if this is the right solution. It seems >>> that in_shutdown also co

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-27 Thread Iain Sandoe
Hi Kewen, > On 28 Sep 2022, at 06:30, Kewen.Lin via Gcc-patches > wrote: > PR106680 shows that -m32 -mpowerpc64 is different from > -mpowerpc64 -m32, this is determined by the way how we > handle option powerpc64 in rs6000_handle_option. > > Segher pointed out this difference should be taken a

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-28 Thread Iain Sandoe
(reduced CC list, if folks want to be re-included .. please add them back). > On 28 Sep 2022, at 07:37, Iain Sandoe wrote: >> On 28 Sep 2022, at 06:30, Kewen.Lin via Gcc-patches >> wrote: > >> PR106680 shows that -m32 -mpowerpc64 is different from >> -mpowerpc

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-28 Thread Iain Sandoe
Hi Kewen > On 28 Sep 2022, at 17:18, Iain Sandoe wrote: > > (reduced CC list, if folks want to be re-included .. please add them back). > >> On 28 Sep 2022, at 07:37, Iain Sandoe wrote: > >>> On 28 Sep 2022, at 06:30, Kewen.Lin via Gcc-patches >>>

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-28 Thread Iain Sandoe
Hi Folks, > On 28 Sep 2022, at 22:30, Segher Boessenkool > wrote: > On Wed, Sep 28, 2022 at 05:18:47PM +0100, Iain Sandoe wrote: >>> On 28 Sep 2022, at 07:37, Iain Sandoe wrote: >>>> On 28 Sep 2022, at 06:30, Kewen.Lin via Gcc-patches >>>> w

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-28 Thread Iain Sandoe
> On 29 Sep 2022, at 00:04, Iain Sandoe wrote: > > adding —with-tune=G5 to the configure line .. the cross-build then succeeded > (at "-O1 -g" as I was building to debug) - maybe that will provide a clue, > but I’m > out of time for today. perhaps we also need

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-29 Thread Iain Sandoe
Hi Kewen, thanks for looking at this! (I suspect it would also affect a 32b linux host with a 64b multilib) quite likely powerpc-darwin is the only 32b ppc host in regular testing. > On 29 Sep 2022, at 06:45, Kewen.Lin via Gcc-patches > wrote: > > on 2022/9/29 03:09, Iain Sandoe

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-29 Thread Iain Sandoe
Hi Kewen, > On 29 Sep 2022, at 10:12, Kewen.Lin via Gcc-patches > wrote: > on 2022/9/29 16:16, Iain Sandoe wrote: >>> >>> I'm testing the attached diff which can be applied on top of the previous >>> proposed patch >>> on ppc64 and pp

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-29 Thread Iain Sandoe
Hi Segher > On 29 Sep 2022, at 18:04, Segher Boessenkool > wrote: > On Thu, Sep 29, 2022 at 09:16:33AM +0100, Iain Sandoe wrote: >> OK. So one small wrinkle, >> >> Darwin already has >> >> if (TARGET_64BIT && ! TARGET_POWERPC64) >>

Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-09-29 Thread Iain Sandoe
Hi Segher > On 29 Sep 2022, at 18:18, Segher Boessenkool > wrote: > > On Thu, Sep 29, 2022 at 12:04:05AM +0100, Iain Sandoe wrote: >>> On 28 Sep 2022, at 22:30, Segher Boessenkool >>> wrote: >>> That works on Linux as well. What still does not work

Re: [PATCH RFC] c++: fix broken conversion in coroutines

2022-09-30 Thread Iain Sandoe
Hi Jason, > On 30 Sep 2022, at 23:06, Jason Merrill wrote: > > You can't use CONVERT_EXPR to convert between two class types, and it was > breaking copy elision. > > Unfortunately, this patch breaks symmetric-transfer-00-basic.C, where > susp_type is Loopy::handle_type. How is this supposed to

Re: [PATCH RFC] c++: fix broken conversion in coroutines

2022-10-06 Thread Iain Sandoe
> On 6 Oct 2022, at 22:44, Jason Merrill wrote: > > On 10/3/22 23:53, Jason Merrill wrote: >> On 9/30/22 18:50, Iain Sandoe wrote: >>> Hi Jason, >>> >>>> On 30 Sep 2022, at 23:06, Jason Merrill wrote: >>>> >>>> You

Re: [RFC] Add support for vectors in comparisons (like the C++ frontend does)

2022-10-10 Thread Iain Sandoe
Hi Paul, Not a review of the patch - but a couple of observations. > On 10 Oct 2022, at 15:11, Paul Iannetta via Gcc-patches > wrote: > I am trying to bridge the gap between the extensions supported by the C > and C++ front-ends. When it comes to vector extensions, C++ supports > vectors in c

Re: [RFC] Add support for vectors in comparisons (like the C++ frontend does)

2022-10-10 Thread Iain Sandoe
Hi Paul, > On 10 Oct 2022, at 16:20, Paul Iannetta wrote: > On Mon, Oct 10, 2022 at 03:37:24PM +0100, Iain Sandoe wrote: >> Hi Paul, >> >> Not a review of the patch - but a couple of observations. >> >>> On 10 Oct 2022, at 15:11, Paul Iannetta via Gcc-p

Re: [PATCH] coroutines: Use cp_build_init_expr consistently.

2022-10-11 Thread Iain Sandoe
Hi Jason > On 11 Oct 2022, at 23:06, Jason Merrill wrote: > > On 10/11/22 17:58, Iain Sandoe wrote: >> Tested on x86_64-darwin19, OK for master? >> thanks >> Iain >> -- >8 -- >> Now we have the TARGET_EXPR_ELIDING_P flag, it is important to ensure i

Re: [PATCH] coroutines: Use cp_build_init_expr consistently.

2022-10-11 Thread Iain Sandoe
> On 12 Oct 2022, at 00:19, Jason Merrill wrote: > > On 10/11/22 18:17, Iain Sandoe wrote: >> Hi Jason >>> On 11 Oct 2022, at 23:06, Jason Merrill wrote: >>> >>> On 10/11/22 17:58, Iain Sandoe wrote: >>>> Now we have the TARGET_EXPR_EL

Re: [PATCH v2] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-10-12 Thread Iain Sandoe
t; gcc/testsuite/ChangeLog: > > * gcc.target/powerpc/pr106680-1.c: New test. > * gcc.target/powerpc/pr106680-2.c: New test. > * gcc.target/powerpc/pr106680-3.c: New test. > * gcc.target/powerpc/pr106680-4.c: New test. > > 2022-10-12 Kewen Lin &g

Re: [PATCH 2/2] c++tools: Work around a BSD bug in getaddrinfo().

2022-03-14 Thread Iain Sandoe
> On 14 Mar 2022, at 07:45, Richard Biener wrote: > > On Mon, Mar 14, 2022 at 12:17 AM Iain Sandoe via Gcc-patches > wrote: >> >> Some versions of the BSD getaddrinfo() call do not work with the specific >> input of "0" for the servname entry (a se

Re: [PATCH RFC] Fix ICE due to shared BLOCK node in coroutine generation [PR103328]

2022-03-27 Thread Iain Sandoe
Hi Folks > On 27 Mar 2022, at 02:33, Jason Merrill wrote: > > On 3/17/22 07:37, Benno Evers via Gcc-patches wrote: >> The coroutine transformation moves the original function body into a >> newly created actor function, but the block of the >> `current_binding_level` still points into the origin

Re: [PATCH] Disable -fsplit-stack support on non-glibc targets

2022-01-28 Thread Iain Sandoe
anges. A recent patch added tests for OPTION_GLIBC that is defined in linux.h and linux64.h. This broke bootstrap for powerpc Darwin. Fixed by adding a definition to 0 for OPTION_GLIBC. Signed-off-by: Iain Sandoe gcc/ChangeLog: * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0. --- g

Re: [pushed] LRA, rs6000, Darwin: Amend lo_sum use for forced constants [PR104117].

2022-02-14 Thread Iain Sandoe
Hi Richard, (hopefully, my take won’t cloud the issue ….) > On 14 Feb 2022, at 16:00, Richard Sandiford via Gcc-patches > wrote: > > Hi Vlad, > > Vladimir Makarov via Gcc-patches writes: >> On 2022-02-14 04:44, Richard Sandiford via Gcc-patches wrote: >>> Ia

Re: [pushed] LRA, rs6000, Darwin: Amend lo_sum use for forced constants [PR104117].

2022-02-20 Thread Iain Sandoe
Hi Folks. > On 14 Feb 2022, at 16:58, Vladimir Makarov wrote: > On 2022-02-14 11:00, Richard Sandiford wrote: >> Vladimir Makarov via Gcc-patches writes: >>> >>> Hi, Richard. Change LRA is mine and I approved it for Iain's patch. >>> >>> I think there is no need for this code and it is misle

Re: [pushed] LRA, rs6000, Darwin: Amend lo_sum use for forced constants [PR104117].

2022-02-24 Thread Iain Sandoe
Folks, > On 22 Feb 2022, at 14:44, Vladimir Makarov wrote: > > > On 2022-02-20 12:34, Iain Sandoe wrote: >> >> ^^^ this is mostly for my education - the stuff below is a potential >> solution to leaving lra-constraints unchanged and fixing the Darwin bug…. >

Re: [PATCH] c++: Lost deprecated/unavailable attr in class tmpl [PR104682]

2022-02-28 Thread Iain Sandoe
> On 28 Feb 2022, at 16:13, Jason Merrill wrote: > > On 2/25/22 17:59, Marek Polacek wrote: >> [ Most likely a GCC 13 patch, but I'm posting it now so that I don't lose >> it. ] >> When looking into the other PR I noticed that we fail to give a warning >> for a deprecated enumerator when the

Re: [PATCH] coroutines: Handle initial awaiters with non-void returns [PR 100127].

2021-11-18 Thread Iain Sandoe
> On 18 Nov 2021, at 22:13, Jason Merrill via Gcc-patches > wrote: > > On 11/5/21 11:46, Iain Sandoe wrote: >> The way in which a C++20 coroutine is specified discards any value >> that might be returned from the initial or final await expressions. >> This P

Re: [PATCH] coroutines: Handle initial awaiters with non-void returns [PR 100127].

2021-11-19 Thread Iain Sandoe
Hi Jason, > On 18 Nov 2021, at 23:42, Iain Sandoe wrote: > > > >> On 18 Nov 2021, at 22:13, Jason Merrill via Gcc-patches >> wrote: >> >> On 11/5/21 11:46, Iain Sandoe wrote: >>> The way in which a C++20 coroutine is specified discards any valu

[ping][PATCH] DWARF: Match behaviour of .cfi_xxx when doing manual frame output.

2021-12-02 Thread Iain Sandoe
Hi, I’d like to ping this patch at least for opinion on whether the approach is reasonable (as noted below it could be put behind a target hook if necessary) thanks Iain > On 17 Nov 2021, at 17:17, Iain Sandoe via Gcc-patches > wrote: > > At present, for several reasons, it is

Re: [PATCH 1/2] Add cumulative_args_t variants of TARGET_FUNCTION_ROUND_BOUNDARY and friends

2021-12-02 Thread Iain Sandoe
> On 2 Dec 2021, at 21:08, Jeff Law via Gcc-patches > wrote: > On 11/22/2021 8:15 AM, Richard Biener via Gcc-patches wrote: >> On Mon, Nov 22, 2021 at 3:40 PM Maxim Blinov >> wrote: >>> Hi Richard, >>> >>> The purpose of this patch is to give more of the target code access to >>> the cumula

Re: [PATCH 0/4] Add aarch64-darwin support for off-stack trampolines

2021-12-02 Thread Iain Sandoe
> On 3 Dec 2021, at 03:12, Jeff Law wrote: > > > > On 11/22/2021 7:49 AM, Maxim Blinov wrote: >> Hi all, apologies for forgetting to add the cover letter. > No worries. I'd already assumed this was to support aarch64 trampolines on > darwin by having them live elsewere as managed entities.

Re: [PATCH v2] rs6000: Rework option -mpowerpc64 handling [PR106680]

2022-10-13 Thread Iain Sandoe
> On 12 Oct 2022, at 09:57, Iain Sandoe wrote: >> On 12 Oct 2022, at 09:12, Kewen.Lin wrote: > >> PR106680 shows that -m32 -mpowerpc64 is different from >> -mpowerpc64 -m32, this is determined by the way how we >> handle option powerpc64 in rs6000_handle_opt

Re: [PATCH 0/6] Add Intel Sierra Forest Instructions

2022-10-20 Thread Iain Sandoe
Hi Hongtao, > On 20 Oct 2022, at 10:20, Hongtao Liu wrote: > > On Thu, Oct 20, 2022 at 5:17 PM Iain Sandoe wrote: >> >> >> >>> On 20 Oct 2022, at 10:09, Hongtao Liu via Gcc-patches >>> wrote: >>> >>> On Thu, Oct 20, 2022 at 9

Re: [PATCH] coroutines: Wrap awaiting if/swich in a BIND_EXPR, if needed [PR106188]

2022-09-04 Thread Iain Sandoe
Hi Arsen, Thanks for the analysis, for working on this and the patch; the solution overall seems the right one, but I have a suggestion on the implementation ... > On 3 Sep 2022, at 21:57, Arsen Arsenović wrote: > > In the edge case of a coroutine not containing any locals, the ifcd/swch > tem

Re: libsanitizer: merge from upstream

2022-09-04 Thread Iain Sandoe
Hi Martin, > On 30 Aug 2022, at 11:53, Martin Liška wrote: > > On 5/4/22 10:59, Martin Liška wrote: >> Hello. > I've just done one more merge from upstream. > Upstream revision: 84a71d5259c2682403cdbd8710592410a2f128ab. Which (again) breaks bootstrap on Darwin (since upstream uses features and

Re: [PATCH v2] coroutines: Ensure there's a top level bind when rewriting [PR106188]

2022-09-04 Thread Iain Sandoe
Hi Arsen, > On 4 Sep 2022, at 20:04, Arsen Arsenović wrote: > > In the edge case of a coroutine not containing any locals, the ifcd/swch > temporaries would get added to the coroutine frame, corrupting its > layout. To prevent this, we can make sure there is always a BIND_EXPR at > the top of th

Re: [PATCH] OpenMP, libgomp: Environment variable syntax extension.

2022-09-09 Thread Iain Sandoe
> On 9 Sep 2022, at 23:08, Jakub Jelinek wrote: > > On Fri, Sep 09, 2022 at 10:50:19PM +0200, Rainer Orth wrote: >> Hi Jakub, >> >>> On Wed, Aug 31, 2022 at 12:56:25PM +0200, Marcel Vollweiler wrote: libgomp/ChangeLog: >> [...] (initialize_env): Extended to parse the new syntax o

Re: [PATCH] OpenMP, libgomp: Environment variable syntax extension.

2022-09-10 Thread Iain Sandoe
Hi Jakub, Rainer, > On 9 Sep 2022, at 23:17, Jakub Jelinek wrote: > > On Fri, Sep 09, 2022 at 11:13:52PM +0100, Iain Sandoe wrote: >> We already have such a header … >> include/environ.h > > Ah, ok, then please just use it. Seems libgomp Makefile.am > a

Re: [PATCH] c++, coroutines: Avoid expanding within templates [PR103868]

2022-04-28 Thread Iain Sandoe
Hi Jason, > On 20 Apr 2022, at 04:45, Jason Merrill wrote: > > On 4/18/22 15:49, Eric Gallager via Gcc-patches wrote: >> On Mon, Apr 18, 2022 at 10:01 AM Iain Sandoe via Gcc-patches >> wrote: >>> >>> From: Nathan Sidwell >>> >>>

Re: [PATCH] c++, coroutines: Make sure our temporaries are in a bind expr [PR105287]

2022-04-28 Thread Iain Sandoe
Hi Jason, > On 20 Apr 2022, at 03:14, Jason Merrill wrote: > > On 4/18/22 10:02, Iain Sandoe wrote: >> There are a few cases where we can generate a temporary that does not need >> to be added to the coroutine frame (i.e. these are genuinely ephemeral). The >&

Re: [PATCH] c++, coroutines: Partial reversion of r12-8308-g15a176a833f23e [PR105426].

2022-04-28 Thread Iain Sandoe
> On 28 Apr 2022, at 20:26, Jakub Jelinek wrote: > > On Thu, Apr 28, 2022 at 08:17:04PM +0100, Iain Sandoe wrote: >> Signed-off-by: Iain Sandoe >> >> PR c++/105426 >> >> gcc/cp/ChangeLog: >> >> * coroutines.cc (r

Re: [PATCH] gengtype: do not skip char after escape sequnce

2022-05-04 Thread Iain Sandoe
> On 4 May 2022, at 20:14, Martin Liška wrote: > > Right now, when a \$x escape sequence occures, the > next character after $x is skipped, which is bogus. > > The code has very low coverage right now. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to b

Re: [PATCH] PR85678: Change default to -fno-common

2019-10-26 Thread Iain Sandoe
Georg-Johann Lay wrote: > Wilco Dijkstra schrieb: >> GCC currently defaults to -fcommon. As discussed in the PR, this is an >> ancient >> C feature which is not conforming with the latest C standards. On many >> targets >> this means global variable accesses have a codesize and performance pe

Re: [PATCH] PR85678: Change default to -fno-common

2019-10-28 Thread Iain Sandoe
Wilco Dijkstra wrote: >>> >>> I suppose targets can override this decision. >> I think they probably could via the override_options mechanism. > > Yes, it's trivial to add this to target_option_override(): > > if (!global_options_set.x_flag_no_common) >flag_no_common = 0; for the record,

Re: [PATCH] PR85678: Change default to -fno-common

2019-10-29 Thread Iain Sandoe
Hi Wilco, Wilco Dijkstra wrote: >> Testsuite fails are order “a few hundred” mostly seem to be related to >> tree-prof >> and vector tests (plus the anticipated scan-asm stuff, where code-gen will >> have >> changed). I don’t have cycles to analyse the causes right now - but that >> gives >>

Re: [Darwin, testsuite, committed] Fix Wnonnull on Darwin.

2019-10-30 Thread Iain Sandoe
Iain Sandoe wrote: > Iain Sandoe wrote: > >> Martin Sebor wrote: >> >>> On 10/20/2019 07:27 AM, Iain Sandoe wrote: >>>> Martin Sebor wrote: >>>>> On 10/19/19 2:56 AM, Iain Sandoe wrote: >>>>>> Andreas Schwab wrote: >

Re: [Darwin, testsuite, committed] Fix Wnonnull on Darwin.

2019-10-31 Thread Iain Sandoe
Iain Sandoe wrote: > Iain Sandoe wrote: > >> Iain Sandoe wrote: >> >>> Martin Sebor wrote: >>> >>>> On 10/20/2019 07:27 AM, Iain Sandoe wrote: >>>>> Martin Sebor wrote: >>>>>> On 10/19/19 2:56 AM, Iain

[Darwin, testsuite, committed] Fix PR 79274

2019-11-03 Thread Iain Sandoe
, x86_64-linux-gnu applied to gcc-8 and gcc-7 branches thanks Iain gcc/testsuite/ 2019-11-03 Iain Sandoe PR c++/79274 * g++.dg/tls/pr77285-2.C: XFAIL test for Darwin. diff --git a/gcc/testsuite/g++.dg/tls/pr77285-2.C b/gcc/testsuite/g++.dg/tls/pr77285-2.C index bac273a4d6

[Darwin, X86, testsuite, committed] Fix pr92258.c.

2019-11-07 Thread Iain Sandoe
This test uses -masm=intel, which isn't supported by Darwin, so add the necessary dg-require-effective-target. tested on x86_64-darwin16, applied as obvious to mainline, thanks Iain gcc/testsuite/ChangeLog: 2019-11-07 Iain Sandoe * gcc.target/i386/pr92258.c: Add dg-require

[Darwin, committed] Add include guard to darwin-protos.h

2019-11-08 Thread Iain Sandoe
The Darwin protos header is missing an include guard, this adds one. tested on x86_64-darwin16 applied to mainline thanks Iain gcc/ChangeLog: 2019-11-08 Iain Sandoe * config/darwin-protos.h: Add include quard. diff --git a/gcc/config/darwin-protos.h b/gcc/config/darwin-protos.h

Re: [PATCH 1/5] Libsanitizer: merge from trunk with merge.sh.

2019-11-09 Thread Iain Sandoe
Eric Gallager wrote: > On 11/5/19, Jakub Jelinek wrote: >> On Mon, Nov 04, 2019 at 04:10:27PM +0100, Martin Liska wrote: >>> libsanitizer/ChangeLog: >>> >>> 2019-11-05 Martin Liska >>> >>> * all source files: Merge from upstream r375507. >>> --- >>> libsanitizer/BlocksRuntime/Block.h

[Darwin, machopic 10/n] Rework X86 mcount stub code.

2019-11-09 Thread Iain Sandoe
on routine local. tested on x86_64-darwin16 (m32/m64) applied to mainline, thanks Iain gcc/ 2019-11-09 Iain Sandoe * config/darwin.c (machopic_mcount_stub_name): Validate the symbol stub name when it is created. * config/i386/darwin.h (FUNCTION_PROFILER): Remove

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