Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Mar 2013 11:40:36 GMT
From:      Jonathan Anderson <jonathan@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 223008 for review
Message-ID:  <201303181140.r2IBeaWj085209@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@223008?ac=10

Change 223008 by jonathan@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 */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303181140.r2IBeaWj085209>