[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc
Subject: Re: RFC: Update Intel386, x86-64 and IA MCU psABIs for passing/returning empty struct
From: Matthijs van Duin <matthijsvanduin () gmail ! com>
Date: 2016-02-20 18:50:17
Message-ID: CAALWOA8s1HR4_YQ+W02U+_vX9Hqqu7dRpqU+jo0wtLEwGye9Yg () mail ! gmail ! com
[Download RAW message or body]
On 20 February 2016 at 18:55, H.J. Lu <hjl.tools@gmail.com> wrote:
> struct dummy0
> {
> };
>
> struct dummy
> {
> dummy0 d[20];
>
> dummy0 * foo (int i);
> };
>
> dummy0 *
> dummy::foo (int i)
> {
> return &d[i];
> }
>
> dummy0 *
> bar (dummy d, int i)
> {
> return d.foo (i);
> }
1. This has undefined behaviour due to returning a pointer to a local variable
2. There's still no need for the reference to the original argument
since copying it is a nop.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic