[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

Fix handling of access ranges in ipa-modref

2020-10-11 Thread Jan Hubicka
Hi, this patch fixes the range tracking in argument and re-enables it for clones (the bug that broke dealII and x264 benchmarks) It turned out that there was three problems 1) for SRA/ipa-cp clones we did not update summarries to represent new signature. This is now done in modref_transform.

[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

Re: [PATCH] libstdc++: Pretty printers for std::_Bit_reference, std::_Bit_iterator and std::_Bit_const_iterator

2020-10-11 Thread Michael Weghorn via Gcc-patches
On 22/09/2020 12.04, Jonathan Wakely wrote: > On 14/09/20 16:49 +0200, Michael Weghorn via Libstdc++ wrote: >> Hi, >> >> the attached patch implements pretty printers relevant for iteration >> over std::vector, thus handling the TODO >> added in commit 36d0dada6773d7fd7c5ace64c90e723930a3b81e >> ("

[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

[PATCH] PR libfortran/97063 - Wrong result for vector (step size is negative) * matrix

2020-10-11 Thread Harald Anlauf
PR libfortran/97063 - Wrong result for vector (step size is negative) * matrix Dear all, when matrix-multiplying rank-1 times rank-2 arrays, a wrong result was produced when a negative stride was used for the rank-1 array. In that case special code for rank-2 times rank-2 was erroneously executed

Re: [PING][PATCH] correct handling of indices into arrays with elements larger than 1 (PR c++/96511)

2020-10-11 Thread Martin Sebor via Gcc-patches
On 10/9/20 9:13 AM, Jason Merrill wrote: On 10/9/20 10:51 AM, Martin Sebor wrote: On 10/8/20 1:40 PM, Jason Merrill wrote: On 10/8/20 3:18 PM, Martin Sebor wrote: On 10/7/20 3:01 PM, Jason Merrill wrote: On 10/7/20 4:11 PM, Martin Sebor wrote: ... For the various member functions, please in

import elementary functions as intrinsics

2020-10-11 Thread Alexandre Oliva
Importing them as intrinsics enables GCC to treat them as builtins whose behavior is known by GCC. Specifically, if they aren't intrinsics, calls to Sin and Cos won't be combined into sincos. We still need to make Sin and Cos wrappers inline in user-exposed interfaces to get users the benefit o

[PATCH 1/2] [target 87767] Refactor AVX512 broadcast patterns with speical memory constraint.

2020-10-11 Thread Hongtao Liu via Gcc-patches
Hi: This is done in 2 steps: 1. Extend special memory constraint to handle non MEM_P cases, i.e. (vec_duplicate:V4SF (mem:SF (addr))) 2. Refactor implementation of *_bcst{_1,_2,_3} patterns. Add new predicate bcst_mem_operand and corresponding constraint "Br" to merge "$(pattern)_bcst{_1,_2,_

[PATCH 2/2] [target 87767] Refactor AVX512 broadcast patterns with speical memory constraint.

2020-10-11 Thread Hongtao Liu via Gcc-patches
Add new predicate bcst_mem_operand and corresponding constraint "Br" to merge "$(pattern)_bcst{_1,_2,_3}" into "$(pattern)", also delete those separate "*_bcst{_1,_2,_3}" patterns. gcc/ChangeLog: PR target/87767 * config/i386/constraints.md ("Br"): New special memory con

Re: [PING][PATCH] correct handling of indices into arrays with elements larger than 1 (PR c++/96511)

2020-10-11 Thread Jason Merrill via Gcc-patches
On 10/11/20 6:45 PM, Martin Sebor wrote: On 10/9/20 9:13 AM, Jason Merrill wrote: On 10/9/20 10:51 AM, Martin Sebor wrote: On 10/8/20 1:40 PM, Jason Merrill wrote: On 10/8/20 3:18 PM, Martin Sebor wrote: On 10/7/20 3:01 PM, Jason Merrill wrote: On 10/7/20 4:11 PM, Martin Sebor wrote: ... F

[PATCH v2] arm&aarch64: subdivide the type attribute "alu_shfit_imm"

2020-10-11 Thread Qian, Jianhua
Hi Richard Thanks for your comments. I have updated the patch. > -Original Message- > From: Richard Sandiford > Sent: Thursday, October 1, 2020 3:53 AM > To: Qian, Jianhua/钱 建华 > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] arm&aarch64: subdivide the type attribute > "alu_shfit_im