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
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
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_ =
: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