From: Geoffrey Keating Date: Sat, 21 Aug 1999 05:31:45 +0000 (+0000) Subject: The 'xxx may be clobbered by longjmp/vfork' warnings are part of X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=20300b056db4b6792bc481390c62eeb7430f1a87;p=platform%2Fupstream%2Fgcc.git The 'xxx may be clobbered by longjmp/vfork' warnings are part of by -Wuninitialized. From-SVN: r28787 --- diff --git a/gcc/invoke.texi b/gcc/invoke.texi index 7dadd3f..52c6c19 100644 --- a/gcc/invoke.texi +++ b/gcc/invoke.texi @@ -1532,6 +1532,16 @@ another common case: @noindent This has no bug because @code{save_y} is used only if it is set. +@cindex @code{longjmp} warnings +This option also warns when a nonvolatile automatic variable might be +changed by a call to @code{longjmp}. + +The compiler sees only the calls to @code{setjmp}. It cannot know +where @code{longjmp} will be called; in fact, a signal handler could +call it at any point in the code. As a result, you may get a warning +even when there is in fact no problem because @code{longjmp} cannot +in fact be called at the place which would cause a problem. + Some spurious warnings can be avoided if you declare all the functions you use that never return as @code{noreturn}. @xref{Function Attributes}. @@ -1564,18 +1574,6 @@ the warning. Print extra warning messages for these events: @itemize @bullet -@cindex @code{longjmp} warnings -@item -A nonvolatile automatic variable might be changed by a call to -@code{longjmp}. These warnings as well are possible only in -optimizing compilation. - -The compiler sees only the calls to @code{setjmp}. It cannot know -where @code{longjmp} will be called; in fact, a signal handler could -call it at any point in the code. As a result, you may get a warning -even when there is in fact no problem because @code{longjmp} cannot -in fact be called at the place which would cause a problem. - @item A function can return either with or without a value. (Falling off the end of the function body is considered returning without