PERFORCE change 231418 for review
Jonathan Anderson
jonathan at FreeBSD.org
Wed Jul 24 15:54:45 UTC 2013
http://p4web.freebsd.org/@@231418?ac=10
Change 231418 by jonathan at jonathan-on-joe on 2013/07/24 15:54:41
Sync commit cf3aca from GitHub: allow programmer-specified assertion names.
I wouldn't use this feature very much yet (requires testing), but here are the header changes that will allow it to work.
Affected files ...
.. //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/include/tesla-macros.h#10 edit
.. //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/include/tesla.h#9 edit
Differences ...
==== //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/include/tesla-macros.h#10 (text+ko) ====
@@ -54,7 +54,7 @@
/** An inline assertion. */
#define TESLA_ASSERT(locality, start, end, expression) \
__tesla_inline_assertion( \
- __FILE__, __LINE__, __COUNTER__, \
+ "", __FILE__, __LINE__, __COUNTER__, \
locality, start, end, expression \
)
==== //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/include/tesla.h#9 (text+ko) ====
@@ -57,13 +57,15 @@
* Magic "function" representing a TESLA assertion.
*
* Its arguments are:
+ * * an explicit programmer-supplied name (optional: can be set to "")
* * 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_inline_assertion(const char *name,
+ const char *filename, int line, int count,
__tesla_locality *loc, ...);
#define __TESLA_INFINITE_REPETITIONS INT_MAX
@@ -165,8 +167,8 @@
struct __tesla_automaton_description* __tesla_automaton_done();
inline struct __tesla_automaton_usage*
-__tesla_struct_uses_automaton(const char *automaton,
- __tesla_locality *loc, ...)
+__tesla_struct_uses_automaton(__unused const char *automaton,
+ __unused __tesla_locality *loc, ...)
{
return 0;
}
@@ -183,7 +185,7 @@
*/
#define __tesla_struct_usage(subject, automaton, loc, start, end) \
struct __tesla_automaton_usage* \
- __tesla_struct_automaton_usage_##struct_name##_##automaton(subject) { \
+ __tesla_struct_automaton_usage_##struct_name##_##automaton(__unused subject) { \
return __tesla_struct_uses_automaton( \
#automaton, loc, start, end); \
}
More information about the p4-projects
mailing list