PERFORCE change 223008 for review
Jonathan Anderson
jonathan at FreeBSD.org
Mon Mar 18 11:40:37 UTC 2013
http://p4web.freebsd.org/@@223008?ac=10
Change 223008 by jonathan at jonathan-on-joe on 2013/03/18 11:40:25
Pull tesla.h from GitHub commit 2a0f9154.
Somehow I missed this earlier.
Affected files ...
.. //depot/projects/ctsrd/tesla/src/lib/libtesla/tesla.h#3 edit
Differences ...
==== //depot/projects/ctsrd/tesla/src/lib/libtesla/tesla.h#3 (text+ko) ====
@@ -38,7 +38,15 @@
/** A number of times to match an event: positive or "any number". */
typedef int __tesla_count;
-/** Magic "function" representing a TESLA assertion. */
+/**
+ * Magic "function" representing a TESLA assertion.
+ *
+ * Its arguments are:
+ * * name of the file the assertion is located in (__FILE__)
+ * * the line the assertion is defined at (__LINE__)
+ * * a counter to ensure uniqueness (__COUNTER__)
+ * * the TESLA context (per-thread or global)
+ */
void __tesla_inline_assertion(const char *filename, int line, int count,
__tesla_locality*, ...);
@@ -66,6 +74,14 @@
/** Exiting a function (with optionally-specified arguments). */
struct __tesla_event* __tesla_return(void*, ...);
+
+/** Function events inside this predicate refer to the callee context. */
+struct __tesla_event* __tesla_callee(__tesla_event*, ...);
+
+/** Function events inside this predicate refer to the caller context. */
+struct __tesla_event* __tesla_caller(__tesla_event*, ...);
+
+
/** Nothing to see here, move along... */
struct __tesla_event* __tesla_ignore;
@@ -74,9 +90,6 @@
struct __tesla_event* __tesla_optional(__tesla_event*, ...);
-/** A repetition of events â this allows globby "?", "*", "+", etc. */
-struct __tesla_event* __tesla_repeat(__tesla_count, __tesla_count, ...);
-
/** A value that could match a lot of function parameters. Maybe anything? */
void* __tesla_any_ptr();
int __tesla_any_int();
@@ -127,6 +140,15 @@
#define __tesla_struct_automaton(fn_name)
#define __tesla_automaton(name, ...)
+#define __tesla_call(...) 0
+#define __tesla_return(...) 0
+
+#define __tesla_callee(...) 0
+#define __tesla_caller(...) 0
+
+#define __tesla_optional(...) 0
+#define __tesla_any(...) 0
+
#endif /* __TESLA_ANALYSER__ */
#endif /* TESLA_H */
More information about the p4-projects
mailing list