summaryrefslogtreecommitdiff
path: root/src/shared/macro.h
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2014-08-22 14:38:28 +0200
committerDavid Herrmann <dh.herrmann@gmail.com>2014-08-27 18:42:28 +0200
commit418bcb0ce3b704ea26ee1b4a68706abca536f65a (patch)
tree00154171b6360d608b024f1f393c5bd66b3d9c72 /src/shared/macro.h
parent285e8c126b1607188249c42e74c172cb69cc99a6 (diff)
shared: drop UNIQUE()
The UNIQUE() macro works fine if used in un-stacked macros. However, once you stack them like: MAX(MIN(a, b), CLAMP(MAX(c, d), e, f)) you will get warnings due to shadowing other variables. gcc uses the last line of a macro expansion as value for __LINE__, therefore, we cannot even avoid this by splitting the expressions across lines. Remove the only user of UNIQUE() so we introduce a new helper in follow-ups.
Diffstat (limited to 'src/shared/macro.h')
-rw-r--r--src/shared/macro.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/shared/macro.h b/src/shared/macro.h
index 43fa3e556f..2807bc74e8 100644
--- a/src/shared/macro.h
+++ b/src/shared/macro.h
@@ -79,8 +79,6 @@
#define XCONCATENATE(x, y) x ## y
#define CONCATENATE(x, y) XCONCATENATE(x, y)
-#define UNIQUE(prefix) CONCATENATE(prefix, __LINE__)
-
/* Rounds up */
#define ALIGN4(l) (((l) + 3) & ~3)
@@ -219,7 +217,7 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) {
#else
#define assert_cc(expr) \
DISABLE_WARNING_DECLARATION_AFTER_STATEMENT; \
- struct UNIQUE(_assert_struct_) { \
+ struct CONCATENATE(_assert_struct_, __LINE__) { \
char x[(expr) ? 0 : -1]; \
}; \
REENABLE_WARNING