summaryrefslogtreecommitdiff
path: root/kernel/yosys.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-11-09 10:55:04 +0100
committerClifford Wolf <clifford@clifford.at>2014-11-09 10:55:04 +0100
commita112b1093444429a1a55a90b73c58c8b7ffee1bc (patch)
treec4591d1557b7d28d86da5ec37163de01b217fb54 /kernel/yosys.h
parentfe829bdbdc436f425e082ab1cc8c3d276f168945 (diff)
Introducing YS_OVERRIDE, YS_FINAL, YS_ATTRIBUTE, YS_NORETURN
Diffstat (limited to 'kernel/yosys.h')
-rw-r--r--kernel/yosys.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/kernel/yosys.h b/kernel/yosys.h
index 11f356ad..b64739ad 100644
--- a/kernel/yosys.h
+++ b/kernel/yosys.h
@@ -102,18 +102,22 @@
#define USING_YOSYS_NAMESPACE using namespace Yosys;
#if __cplusplus >= 201103L
-# define OVERRIDE override
-# define FINAL final
+# define YS_OVERRIDE override
+# define YS_FINAL final
#else
-# define OVERRIDE
-# define FINAL
+# define YS_OVERRIDE
+# define YS_FINAL
#endif
-#if !defined(__GNUC__) && !defined(__clang__)
-# define __attribute__(...)
-# define _NORETURN_ __declspec(noreturn)
+#if defined(__GNUC__) || defined(__clang__)
+# define YS_ATTRIBUTE(...) __attribute__((__VA_ARGS__))
+# define YS_NORETURN
+#elif defined(_MSC_VER)
+# define YS_ATTRIBUTE(...)
+# define YS_NORETURN __declspec(noreturn)
#else
-# define _NORETURN_
+# define YS_ATTRIBUTE(...)
+# define YS_NORETURN
#endif
YOSYS_NAMESPACE_BEGIN
@@ -125,7 +129,7 @@ namespace RTLIL {
struct Cell;
}
-std::string stringf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
+std::string stringf(const char *fmt, ...) YS_ATTRIBUTE(format(printf, 1, 2));
std::string vstringf(const char *fmt, va_list ap);
int readsome(std::istream &f, char *s, int n);
std::string next_token(std::string &text, const char *sep);