Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #103360

Re: Error message for a dangling pointer

Path csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From BartC <bc@freeuk.com>
Newsgroups comp.lang.c
Subject Re: Error message for a dangling pointer
Date Tue, 7 Feb 2017 15:07:23 +0000
Organization A noiseless patient Spider
Lines 46
Message-ID <o7cno2$fav$1@dont-email.me> (permalink)
References <dangling-pointers-20170207022252@ram.dialup.fu-berlin.de> <ln1sva3gh8.fsf@kst-u.example.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 8bit
Injection-Date Tue, 7 Feb 2017 15:05:38 -0000 (UTC)
Injection-Info mx02.eternal-september.org; posting-host="80dff8dbed11b5e5226231c8dfc6b880"; logging-data="15711"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1++E++la6uLMr0y5T3yv356"
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0
In-Reply-To <ln1sva3gh8.fsf@kst-u.example.com>
Cancel-Lock sha1:ch4dre8pwwmHkNJhyWM9Lb5eBM4=
Xref csiph.com comp.lang.c:103360

Show key headers only | View raw


On 07/02/2017 02:02, Keith Thompson wrote:
> ram@zedat.fu-berlin.de (Stefan Ram) writes:
>>   For teaching purposes, I just wrote this program to show
>>   dangling pointers:
>>
>> #include <stdio.h>
>> int main( void )
>> { int * p;
>>   { int i = 27; p = &i; }
>>   printf( "%d\n", *p ); }
>
> (A side note: Your students might later have difficulties with more, um,
> conventional C code layouts.)
>
>>   I hope you all agree that »p« in the last line /is/
>>   a dangling pointer.
>
> Yes.
>
>>   The error message and output is not what I expected,
>>   but still interesting:
>>
>> main.c: In function 'main':
>> main.c:6:3: warning: 'i' is used uninitialized in this function [-Wuninitialized]
>>    printf( "%d\n", *p ); }
>>    ^
>> main.c:5:9: note: 'i' was declared here
>>    { int i = 27; p = &i; }
>>          ^
>> 0
>>
>>   »i« /was/ initialized in the program,
>>   so the error message is not accurate.
>>
>>   (I do not write »misleading«, since it is so
>>   obviously wrong that it won't mislead anyone.)
>
> I get that message with gcc 6.3.0, and with a gcc snapshot from
> 2017-01-12 that claims to be gcc 7.0.0, but not with gcc 6.2.0
> (or with clang).

I couldn't get any diagnostic with any compiler. That included gcc 5.1.x 
and 6.2.x with all warnings turned on.

-- 
bartc

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Error message for a dangling pointer Keith Thompson <kst-u@mib.org> - 2017-02-06 18:02 -0800
  Re: Error message for a dangling pointer BartC <bc@freeuk.com> - 2017-02-07 15:07 +0000
    Re: Error message for a dangling pointer David Brown <david.brown@hesbynett.no> - 2017-02-07 16:24 +0100

csiph-web