1 /* Copyright 2012-present Facebook, Inc.
2  * Licensed under the Apache License, Version 2.0 */
3 #pragma once
4 
5 // Helpers for pasting __LINE__ for symbol generation
6 #define w_paste2(pre, post) pre##post
7 #define w_paste1(pre, post) w_paste2(pre, post)
8 #define w_gen_symbol(pre) w_paste1(pre, __LINE__)
9 
10 #ifndef WATCHMAN_FMT_STRING
11 #define WATCHMAN_FMT_STRING(x) x
12 #endif
13 
14 #ifdef __GNUC__
15 #define WATCHMAN_FMT_ATTR(fmt_param_no, dots_param_no) \
16   __attribute__((__format__(__printf__, fmt_param_no, dots_param_no)))
17 #endif
18 
19 #ifndef WATCHMAN_FMT_ATTR
20 #define WATCHMAN_FMT_ATTR(fmt_param_no, dots_param_no) /* nothing */
21 #endif
22