aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2010-05-21 15:32:29 -0400
committerJason Merrill <jason@gcc.gnu.org>2010-05-21 15:32:29 -0400
commitd3f28910851bee99e959d8841c818417109d0a33 (patch)
tree910f63348f513f24157b7b8f6b170ad11a410c48 /gcc/doc
parent14db98d4a6349271ab34e894c9b0780cb985666b (diff)
downloadgcc-d3f28910851bee99e959d8841c818417109d0a33.zip
gcc-d3f28910851bee99e959d8841c818417109d0a33.tar.gz
gcc-d3f28910851bee99e959d8841c818417109d0a33.tar.bz2
tree-eh.c (cleanup_is_dead_in): New.
* tree-eh.c (cleanup_is_dead_in): New. (lower_try_finally): Don't generate a dead cleanup region. (lower_cleanup): Likewise. From-SVN: r159682
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/implement-cxx.texi14
-rw-r--r--gcc/doc/invoke.texi13
2 files changed, 22 insertions, 5 deletions
diff --git a/gcc/doc/implement-cxx.texi b/gcc/doc/implement-cxx.texi
index 9968f59..1de2536 100644
--- a/gcc/doc/implement-cxx.texi
+++ b/gcc/doc/implement-cxx.texi
@@ -28,6 +28,7 @@ environment); refer to their documentation for details.
@menu
* Conditionally-supported behavior::
+* Exception handling::
@end menu
@node Conditionally-supported behavior
@@ -45,3 +46,16 @@ constructor or destructor can be passed to ... (C++0x 5.2.2).}
Such argument passing is not supported.
@end itemize
+
+@node Exception handling
+@section Exception handling
+
+@itemize @bullet
+@item
+@cite{In the situation where no matching handler is found, it is
+implementation-defined whether or not the stack is unwound before
+std::terminate() is called (C++98 15.5.1).}
+
+The stack is not unwound before std::terminate is called.
+
+@end itemize
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 195cdfb..c3e2d37 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -187,7 +187,7 @@ in the following sections.
-fno-implicit-templates @gol
-fno-implicit-inline-templates @gol
-fno-implement-inlines -fms-extensions @gol
--fno-nonansi-builtins -fno-operator-names @gol
+-fno-nonansi-builtins -fnothrow-opt -fno-operator-names @gol
-fno-optional-diags -fpermissive @gol
-fno-pretty-templates @gol
-frepo -fno-rtti -fstats -ftemplate-depth=@var{n} @gol
@@ -1933,10 +1933,13 @@ ANSI/ISO C@. These include @code{ffs}, @code{alloca}, @code{_exit},
@opindex fnothrow-opt
Treat a @code{throw()} exception specification as though it were a
@code{noexcept} specification to reduce or eliminate the text size
-overhead relative to a function with no exception specification. The
-semantic effect is that an exception thrown out of a function with
-such an exception specification will result in a call to
-@code{terminate} rather than @code{unexpected}.
+overhead relative to a function with no exception specification. If
+the function has local variables of types with non-trivial
+destructors, the exception specification will actually make the
+function smaller because the EH cleanups for those variables can be
+optimized away. The semantic effect is that an exception thrown out of
+a function with such an exception specification will result in a call
+to @code{terminate} rather than @code{unexpected}.
@item -fno-operator-names
@opindex fno-operator-names