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): Call sorry on -fgnu-tm and -fnon-call-exceptions combination. From-SVN: r182636
This commit is contained in:
parent
a05fe19071
commit
ee777b7164
@ -1,3 +1,9 @@
|
||||
2011-12-22 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
PR middle-end/51212
|
||||
* opts.c (finish_options): Call sorry on -fgnu-tm and
|
||||
-fnon-call-exceptions combination.
|
||||
|
||||
2011-12-22 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
* doc/invoke.texi (C++ Dialect Options): Add missing options and
|
||||
|
@ -663,6 +663,9 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
|
||||
opts->x_flag_toplevel_reorder = 0;
|
||||
}
|
||||
|
||||
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;
|
||||
|
19
gcc/testsuite/g++.dg/tm/pr51212.C
Normal file
19
gcc/testsuite/g++.dg/tm/pr51212.C
Normal file
@ -0,0 +1,19 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-fgnu-tm -fnon-call-exceptions" }
|
||||
|
||||
struct S
|
||||
{
|
||||
S ()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
__attribute__ ((transaction_callable))
|
||||
void foo (int *p)
|
||||
{
|
||||
S s;
|
||||
if (*p)
|
||||
;
|
||||
}
|
||||
|
||||
// { dg-message "sorry, unimplemented: transactional memory is not supported with non-call exceptions" "-fnon-call-exceptions and -fgnu-tm together" { target *-*-* } 0 }
|
Loading…
Reference in New Issue
Block a user