r142800 - in /branches/thread-annotations/gcc: ...
lcwu@gcc.gnu.org
lcwu@gcc.gnu.org
Wed Dec 17 23:08:00 GMT 2008
Author: lcwu
Date: Wed Dec 17 23:08:22 2008
New Revision: 142800
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142800
Log:
This patch contains some major enhancements and bug fixes to the lock
attributes and thread-safety analysis, including
* Delay parsing of the arguments of lock attributes applied to class members
until after the outermost class is finished parsing (similar to how the class
methods are handled).
* Delay instantiation of the lock attributes applied to template class members.
* Allow lock attributes to be applied to function definitions.
* Handle unsupported/unrecognized lock expressions more gracefully (by
downgrading the analysis and/or ignoring the locks).
* Add a new flag 'Wthread-unsupported-lock-name' to warn about downgraded or
ignored locks.
* Handle lock expressions containing (gimple) function calls.
* Handle lockable objects wrapped in smart pointers.
* Fix issues in handling indirect references and array accesses.
* Use canonicalized expressions for locks that are fields.
* Fix a bug in parsing identifier arguments of attributes.
* Fix other miscellaneous issues/bugs.
* Added new test cases.
Added:
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-23.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-24.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-25.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-26.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-27.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-28.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-29.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-30.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-31.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-32.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-33.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-34.C
branches/thread-annotations/gcc/testsuite/gcc.dg/thread_annot_common_c.h
branches/thread-annotations/gcc/testsuite/gcc.dg/thread_annot_lock-23.c
branches/thread-annotations/gcc/testsuite/gcc.dg/thread_annot_lock-24.c
branches/thread-annotations/gcc/testsuite/gcc.dg/thread_annot_lock-25.c
branches/thread-annotations/gcc/testsuite/gcc.dg/thread_annot_lock-26.c
branches/thread-annotations/gcc/testsuite/gcc.dg/thread_annot_lock-27.c
Modified:
branches/thread-annotations/gcc/ChangeLog
branches/thread-annotations/gcc/attribs.c
branches/thread-annotations/gcc/c-common.c
branches/thread-annotations/gcc/c-common.h
branches/thread-annotations/gcc/c-decl.c
branches/thread-annotations/gcc/c-parser.c
branches/thread-annotations/gcc/common.opt
branches/thread-annotations/gcc/cp/call.c
branches/thread-annotations/gcc/cp/decl2.c
branches/thread-annotations/gcc/cp/lex.c
branches/thread-annotations/gcc/cp/parser.c
branches/thread-annotations/gcc/cp/pt.c
branches/thread-annotations/gcc/cp/semantics.c
branches/thread-annotations/gcc/testsuite/ChangeLog
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-1.C
branches/thread-annotations/gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-3.C
branches/thread-annotations/gcc/toplev.c
branches/thread-annotations/gcc/toplev.h
branches/thread-annotations/gcc/tree-threadsafe-analyze.c
branches/thread-annotations/gcc/tree.h
More information about the Gcc-cvs
mailing list