Philip Ashmore <cont...@philipashmore.com> writes: > "reference to a char *" should read "reference to a char * on the stack"
gcc does warn about obvious instances of this; do you know why it doesn't in this case? For instance in this case: #include <string.h> char *f () { char a[10]; return strcpy (a, "hello"); } It doesn't warn, I suppose because the call to strcpy hides the connection between "a" and the return value. However, arguably it _could_ detect this, because strcpy is actually inlined -- and then removed entirely, presumably because it notices that the copy target disappears before it's ever used. So the resulting assembly code is the same as just "return a;"! hmm, I wonder if this is worth a gcc bug report... (clang trunk shows exactly the same behavior) -miles -- Yossarian was moved very deeply by the absolute simplicity of this clause of Catch-22 and let out a respectful whistle. "That's some catch, that Catch-22," he observed. "It's the best there is," Doc Daneeka agreed. -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87obya1nv3....@catnip.gol.com