blob: d1605f8a554a2dd7b5dcc74e2f90da23bea6c703 [file] [log] [blame]
2011-07-19 DeLesley Hutchins <delesley@google.com>
* tree-threadsafe-analyze.c: Changes lock_expr_tab to be
allocated bythe garbage collector, and marked as a GC root.
* tree-threadsafe-analyze.c (get_canonical_lock_expr):
Changed to force rewrite on MEM_REF
2011-03-22 Le-Chun Wu <lcwu@google.com>
* Makefile.in: Add new source file and headers in dependencies.
* attribs.c (decl_attributes): Handle lock attributes.
(is_lock_attribute_with_args): New function.
(is_lock_attribute_p): Likewise.
(extract_lock_attributes): Likewise.
(merge_lock_attr_args): Likewise.
* c-decl.c (undeclared_variable): Suppress errors for lock attributes.
* c-parser.c (c_parser_declaration_or_fndef): Allow lock attributes on
function definitions. Add support for suppressing errors for lock
attributes.
(c_parser_attributes): Replace the original code that handles the
argument list with a call to c_parser_attr_arg_list.
(c_parser_attr_arg_list): New function.
* common.opt: Add new flags for lock annotations and analysis.
* doc/invoke.texi: Add documentation for new flags for lock annotations
and analysis.
* gimplify.c (lookup_tmp_var): Copy thread safety attributes to tmp
variable and save the original variable name.
* langhooks-def.h: Define new language hooks.
* langhooks.c (lhd_do_nothing_t_return_int): New function.
(lhd_do_nothing_t_return_bool): Likewise.
(lhd_do_nothing_t_t_return_null_tree): Likewise.
* langhooks.h: Add new hook functions in the lang_hooks struct.
* passes.c (init_optimization_passes): Add a new pass.
* pointer-set.c (pointer_set_copy): New function.
(pointer_set_delete): Likewise.
(pointer_set_intersection_complement): Likewise.
(pointer_set_union_inplace): Likewise.
(pointer_set_cardinality): Likewise.
* pointer-set.h: Add declarations of new functions.
* timevar.def: Add a new time var for thread safety analysis pass.
* toplev.c (compile_file): Clean up the global data structures
used by the thread safety analysis.
* tree-pass.h: Add a new pass declaration.
* tree-threadsafe-analyze.c: New file.
* tree-threadsafe-analyze.h: New file.
* tree.h: Declaration for new functions.