This patch fixes an ICE caused when the ipa-sra optimization deletes
function arguments that are referenced from within a thread safety
attribute. It will attempt to detect this situation and recover
gracefully. Since a graceful recovery is not always possible, an
optional warning (-Wwarn-thread-optimization) can be turned on to
inform the user that certain attributes have been removed by
optimization.
Bootstrapped and passed gcc regression testsuite on
x86_64-unknown-linux-gnu. Okay for google/gcc-4_6?
-DeLesley
Changelog.google-4_6:2011-11-02 DeLesley Hutchins <deles...@google.com>
* tree-threadsafe-analyze.c: Ignores invalid attributes, issues
a warning, recovers gracefully. * common.opt: Adds new thread
safety warning.
testsuite/Changelog.google-4_6:2011-11-02 DeLesley Hutchins
<deles...@google.com>
* g++.dg/thread-ann/thread_annot_lock-82.C: Expanded regression test
-- DeLesley Hutchins | Software Engineer | deles...@google.com | 505-206-0315