1
0
mirror of https://github.com/YosysHQ/nextpnr.git synced 2026-04-30 13:41:26 +00:00

Fixed macros and includes for MSVC

This commit is contained in:
Miodrag Milanovic
2018-07-03 08:52:19 +02:00
parent fe1ad5b086
commit 1cf8293019
7 changed files with 66 additions and 37 deletions

View File

@@ -30,11 +30,6 @@
#include "nextpnr.h"
// from libs/sha1/sha1.h
#define NXP_NORETURN
#define NXP_ATTRIBUTE(...) __attribute__((__VA_ARGS__))
NEXTPNR_NAMESPACE_BEGIN
typedef std::function<void(std::string)> log_write_type;
@@ -60,16 +55,16 @@ extern void (*log_error_atexit)();
void logv(const char *format, va_list ap);
void logv_warning(const char *format, va_list ap);
void logv_warning_noprefix(const char *format, va_list ap);
NXP_NORETURN void logv_error(const char *format, va_list ap) NXP_ATTRIBUTE(noreturn);
NPNR_NORETURN void logv_error(const char *format, va_list ap) NPNR_ATTRIBUTE(noreturn);
extern std::ostream clog;
void log(const char *format, ...) NXP_ATTRIBUTE(format(printf, 1, 2));
void log_header(const char *format, ...) NXP_ATTRIBUTE(format(printf, 1, 2));
void log_info(const char *format, ...) NXP_ATTRIBUTE(format(printf, 1, 2));
void log_warning(const char *format, ...) NXP_ATTRIBUTE(format(printf, 1, 2));
void log_warning_noprefix(const char *format, ...) NXP_ATTRIBUTE(format(printf, 1, 2));
NXP_NORETURN void log_error(const char *format, ...) NXP_ATTRIBUTE(format(printf, 1, 2), noreturn);
NXP_NORETURN void log_cmd_error(const char *format, ...) NXP_ATTRIBUTE(format(printf, 1, 2), noreturn);
void log(const char *format, ...) NPNR_ATTRIBUTE(format(printf, 1, 2));
void log_header(const char *format, ...) NPNR_ATTRIBUTE(format(printf, 1, 2));
void log_info(const char *format, ...) NPNR_ATTRIBUTE(format(printf, 1, 2));
void log_warning(const char *format, ...) NPNR_ATTRIBUTE(format(printf, 1, 2));
void log_warning_noprefix(const char *format, ...) NPNR_ATTRIBUTE(format(printf, 1, 2));
NPNR_NORETURN void log_error(const char *format, ...) NPNR_ATTRIBUTE(format(printf, 1, 2), noreturn);
NPNR_NORETURN void log_cmd_error(const char *format, ...) NPNR_ATTRIBUTE(format(printf, 1, 2), noreturn);
void log_break();
void log_flush();

View File

@@ -41,6 +41,23 @@
#define USING_NEXTPNR_NAMESPACE
#endif
#if defined(__GNUC__) || defined(__clang__)
# define NPNR_ATTRIBUTE(...) __attribute__((__VA_ARGS__))
# define NPNR_NORETURN
# define NPNR_DEPRECATED __attribute__((deprecated))
# define NPNR_PACKED_STRUCT( ... ) __VA_ARGS__ __attribute__((packed))
#elif defined(_MSC_VER)
# define NPNR_ATTRIBUTE(...)
# define NPNR_NORETURN __declspec(noreturn)
# define NPNR_DEPRECATED __declspec(deprecated)
# define NPNR_PACKED_STRUCT( ... ) __pragma(pack(push, 1)) __VA_ARGS__ __pragma(pack(pop))
#else
# define NPNR_ATTRIBUTE(...)
# define NPNR_NORETURN
# define NPNR_DEPRECATED
# define NPNR_PACKED_STRUCT( ... ) __VA_ARGS__
#endif
NEXTPNR_NAMESPACE_BEGIN
struct BaseCtx;
@@ -76,7 +93,7 @@ struct IdString
static std::unordered_set<BaseCtx *> global_ctx;
const std::string &global_str() const __attribute__((deprecated))
NPNR_DEPRECATED const std::string &global_str() const
{
assert(global_ctx.size() == 1);
return str(*global_ctx.begin());