Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(3)

Unified Diff: include/clang/Basic/Attr.td

Issue 4894048: Threadsafety: Initial lockset implementation (Closed)
Patch Set: Merging in more reviewer edits: release candidate Created 13 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | include/clang/Basic/DiagnosticSemaKinds.td » ('j') | lib/Sema/AnalysisBasedWarnings.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/clang/Basic/Attr.td
diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td
index 2b0ed3d6691254661b58e8b4cc8314dc439eda62..fb3ba0257552782df462a9522a1fbff1f911a1ab 100644
--- a/include/clang/Basic/Attr.td
+++ b/include/clang/Basic/Attr.td
@@ -55,6 +55,7 @@ class FunctionArgument<string name> : Argument<name>;
class TypeArgument<string name> : Argument<name>;
class UnsignedArgument<string name> : Argument<name>;
class VariadicUnsignedArgument<string name> : Argument<name>;
+class VariadicExprArgument<string name> : Argument<name>;
// A version of the form major.minor[.subminor].
class VersionArgument<string name> : Argument<name>;
@@ -564,52 +565,65 @@ def NoThreadSafetyAnalysis : InheritableAttr {
def GuardedBy : InheritableAttr {
let Spellings = ["guarded_by"];
+ let Args = [ExprArgument<"Arg">];
}
def PtGuardedBy : InheritableAttr {
let Spellings = ["pt_guarded_by"];
+ let Args = [ExprArgument<"Arg">];
}
def AcquiredAfter : InheritableAttr {
let Spellings = ["acquired_after"];
+ let Args = [VariadicExprArgument<"Args">];
}
def AcquiredBefore : InheritableAttr {
let Spellings = ["acquired_before"];
+ let Args = [VariadicExprArgument<"Args">];
}
def ExclusiveLockFunction : InheritableAttr {
let Spellings = ["exclusive_lock_function"];
+ let Args = [VariadicExprArgument<"Args">];
}
def SharedLockFunction : InheritableAttr {
let Spellings = ["shared_lock_function"];
+ let Args = [VariadicExprArgument<"Args">];
}
def ExclusiveTrylockFunction : InheritableAttr {
let Spellings = ["exclusive_trylock_function"];
+ let Args = [VariadicExprArgument<"Args">];
}
def SharedTrylockFunction : InheritableAttr {
let Spellings = ["shared_trylock_function"];
+ let Args = [VariadicExprArgument<"Args">];
}
def UnlockFunction : InheritableAttr {
let Spellings = ["unlock_function"];
+ let Args = [VariadicExprArgument<"Args">];
}
def LockReturned : InheritableAttr {
let Spellings = ["lock_returned"];
+ let Args = [ExprArgument<"Arg">];
}
def LocksExcluded : InheritableAttr {
let Spellings = ["locks_excluded"];
+ let Args = [VariadicExprArgument<"Args">];
}
def ExclusiveLocksRequired : InheritableAttr {
let Spellings = ["exclusive_locks_required"];
+ let Args = [VariadicExprArgument<"Args">];
}
def SharedLocksRequired : InheritableAttr {
let Spellings = ["shared_locks_required"];
+ let Args = [VariadicExprArgument<"Args">];
}
« no previous file with comments | « no previous file | include/clang/Basic/DiagnosticSemaKinds.td » ('j') | lib/Sema/AnalysisBasedWarnings.cpp » ('J')

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b