Re: [GCC Wiki] Update of "DebugFission" by CaryCoutant

2016-03-18 Thread Thomas Schwinge
Hi Cary! On Thu, 16 May 2013 16:58:12 -, GCC Wiki wrote: > The "DebugFission" page has been changed by CaryCoutant: > http://gcc.gnu.org/wiki/DebugFission?action=diff&rev1=18&rev2=19 > > = DWARF Extensions for Separate Debug Information Files = > > Updated January 24, 2013 > + > + Th

Re: Aggressive load in gcc when accessing escaped pointer?

2016-03-18 Thread Richard Biener
On March 18, 2016 3:26:37 PM GMT+01:00, Markus Trippelsdorf wrote: >On 2016.03.18 at 22:05 +0800, Cy Cheng wrote: >> Hi, >> >> Please look at this c code: >> >> typedef struct _PB { >> void* data; /* required.*/ >> int f1_; >> float f2_; >> } PB; >> >> PB** bar(PB** t); >> >> void qu

Re: Aggressive load in gcc when accessing escaped pointer?

2016-03-18 Thread Markus Trippelsdorf
On 2016.03.18 at 22:05 +0800, Cy Cheng wrote: > Hi, > > Please look at this c code: > > typedef struct _PB { > void* data; /* required.*/ > int f1_; > float f2_; > } PB; > > PB** bar(PB** t); > > void qux(PB* c) { > bar(&c); /* c is escaped because of bar */ > c->f1_ =

Re: Aggressive load in gcc when accessing escaped pointer?

2016-03-18 Thread Cy Cheng
:D But I don't understand why &c - 8 is invalid? Which rule in C99 it volatile? That's see the example again with some changes: // Now, I make c point to &c - 8 PB** bar(PB** t) { char* ptr = (char*)t; *t = (PB*)(ptr-8); } void qux(PB* c) { PB* cc; bar(&c); c->f1_ = 0;// invalid