aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2012-01-04 14:53:30 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2012-01-04 14:53:30 +0000
commit7ba6572377d8cc69471fc77f37c1880e808c449c (patch)
tree76eafa789febfbb0613a05a25b137223b34ef3d5
parent3a54c4564436e79b70b8dd3b6651b7a2fbaea028 (diff)
downloadgcc-7ba6572377d8cc69471fc77f37c1880e808c449c.zip
gcc-7ba6572377d8cc69471fc77f37c1880e808c449c.tar.gz
gcc-7ba6572377d8cc69471fc77f37c1880e808c449c.tar.bz2
re PR middle-end/51212 (ICE: verify_flow_info failed: BB 3 can not throw but has an EH edge with -fgnu-tm -fnon-call-exceptions and transaction_callable)
PR middle-end/51212 * opts.c (finish_options): Sorry out when using transactional memory and non-call exceptions. * doc/invoke.texi (C Dialect Options): Document it. From-SVN: r182877
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/doc/invoke.texi3
-rw-r--r--gcc/opts.c3
3 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fc64456..d01b88d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2012-01-04 Aldy Hernandez <aldyh@redhat.com>
+ PR middle-end/51212
+ * opts.c (finish_options): Sorry out when using transactional
+ memory and non-call exceptions.
+ * doc/invoke.texi (C Dialect Options): Document it.
+
+2012-01-04 Aldy Hernandez <aldyh@redhat.com>
+
PR middle-end/51696
* trans-mem.c (diagnose_tm_1): Display indirect calls with no name
correctly.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index bb05d88..1e45b61 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1742,6 +1742,9 @@ For more information on GCC's support for transactional memory,
@xref{Enabling libitm,,The GNU Transactional Memory Library,libitm,GNU
Transactional Memory Library}.
+Note that the transactional memory feature is not supported with
+non-call exceptions (@option{-fnon-call-exceptions}).
+
@item -fms-extensions
@opindex fms-extensions
Accept some non-standard constructs used in Microsoft header files.
diff --git a/gcc/opts.c b/gcc/opts.c
index 2ed5560..121cf69 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -666,6 +666,9 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
if (opts->x_flag_tm && opts->x_flag_non_call_exceptions)
sorry ("transactional memory is not supported with non-call exceptions");
+ if (opts->x_flag_tm && opts->x_flag_non_call_exceptions)
+ sorry ("transactional memory is not supported with non-call exceptions");
+
/* -Wmissing-noreturn is alias for -Wsuggest-attribute=noreturn. */
if (opts->x_warn_missing_noreturn)
opts->x_warn_suggest_attribute_noreturn = true;