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