diff options
author | Geoffrey Keating <geoffk@gcc.gnu.org> | 1999-08-21 05:31:45 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 1999-08-21 05:31:45 +0000 |
commit | 20300b056db4b6792bc481390c62eeb7430f1a87 (patch) | |
tree | aa04f3782cdbc7d991c92df1ea79fe631f770d80 /gcc/invoke.texi | |
parent | 8328efa35757478f4653c9c6857f33ab5bcfd7e5 (diff) | |
download | gcc-20300b056db4b6792bc481390c62eeb7430f1a87.zip gcc-20300b056db4b6792bc481390c62eeb7430f1a87.tar.gz gcc-20300b056db4b6792bc481390c62eeb7430f1a87.tar.bz2 |
The 'xxx may be clobbered by longjmp/vfork' warnings are part of
by -Wuninitialized.
From-SVN: r28787
Diffstat (limited to 'gcc/invoke.texi')
-rw-r--r-- | gcc/invoke.texi | 22 |
1 files changed, 10 insertions, 12 deletions
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 |