[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] Add a macro for the fairly common "eat next semicolon" syntax trick



commit 56bda7464f372d65d5564784266320994f605e1c
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Thu Jan 10 10:30:52 2019 -0500

    Add a macro for the fairly common "eat next semicolon" syntax trick
    
    You use this when you're defining a macro to be used at file scope,
    and you want to require a semicolon afterwards.
---
 src/lib/cc/compat_compiler.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/lib/cc/compat_compiler.h b/src/lib/cc/compat_compiler.h
index d45316b24..83fa5dc33 100644
--- a/src/lib/cc/compat_compiler.h
+++ b/src/lib/cc/compat_compiler.h
@@ -217,4 +217,16 @@
 /** Macro: Yields the number of elements in array x. */
 #define ARRAY_LENGTH(x) ((sizeof(x)) / sizeof(x[0]))
 
+/**
+ * "Eat" a semicolon that somebody puts at the end of a top-level macro.
+ *
+ * Frequently, we want to declare a macro that people will use at file scope,
+ * and we want to allow people to put a semicolon after the macro.
+ *
+ * This declaration of a struct can be repeated any number of times, and takes
+ * a trailing semicolon afterwards.
+ **/
+#define EAT_SEMICOLON                                   \
+  struct dummy_semicolon_eater__
+
 #endif /* !defined(TOR_COMPAT_H) */



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits