3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-23 17:15:33 +00:00

Various win32 / vs build fixes

This commit is contained in:
Clifford Wolf 2014-10-17 14:01:47 +02:00
parent 973d376733
commit 468ae92374
8 changed files with 28 additions and 23 deletions

View file

@ -55,8 +55,8 @@ void logv_header(const char *format, va_list ap);
void logv_error(const char *format, va_list ap) __attribute__((noreturn));
void log(const char *format, ...) __attribute__((format(printf, 1, 2)));
void log_header(const char *format, ...) __attribute__((format(printf, 1, 2)));
void log_error(const char *format, ...) __attribute__((format(printf, 1, 2))) __attribute__((noreturn));
void log_cmd_error(const char *format, ...) __attribute__((format(printf, 1, 2))) __attribute__((noreturn));
_NORETURN_ void log_error(const char *format, ...) __attribute__((format(printf, 1, 2))) __attribute__((noreturn));
_NORETURN_ void log_cmd_error(const char *format, ...) __attribute__((format(printf, 1, 2))) __attribute__((noreturn));
void log_spacer();
void log_push();

View file

@ -2204,7 +2204,7 @@ void RTLIL::SigSpec::unpack() const
that->hash_ = 0;
}
#define DJB2(_hash, _value) do { (_hash) = (((_hash) << 5) + (_hash)) + (_value); } while (0)
#define DJB2(_hash, _value) (_hash) = (((_hash) << 5) + (_hash)) + (_value)
void RTLIL::SigSpec::hash() const
{

View file

@ -269,12 +269,12 @@ std::string make_temp_dir(std::string template_str)
#ifdef _WIN32
bool check_file_exists(std::string filename, bool)
{
return _access(filename.c_str(), 0);
return _access(filename.c_str(), 0) == 0;
}
#else
bool check_file_exists(std::string filename, bool is_exec)
{
return access(filename.c_str(), is_exec ? X_OK : F_OK);
return access(filename.c_str(), is_exec ? X_OK : F_OK) == 0;
}
#endif
@ -497,10 +497,10 @@ std::string proc_share_dirname()
{
std::string proc_self_path = proc_self_dirname();
std::string proc_share_path = proc_self_path + "share/";
if (check_file_exists(proc_share_path, true) == 0)
if (check_file_exists(proc_share_path, true))
return proc_share_path;
proc_share_path = proc_self_path + "../share/yosys/";
if (check_file_exists(proc_share_path, true) == 0)
if (check_file_exists(proc_share_path, true))
return proc_share_path;
log_error("proc_share_dirname: unable to determine share/ directory!\n");
}

View file

@ -56,6 +56,7 @@
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <stdio.h>
#ifndef _YOSYS_
@ -68,17 +69,18 @@
# include <tcl.h>
#endif
// a few platform specific things
#ifdef _WIN32
# ifndef NOMINMAX
# define NOMINMAX 1
# endif
# undef NOMINMAX
# define NOMINMAX 1
# undef YY_NO_UNISTD_H
# define YY_NO_UNISTD_H 1
# undef _CRT_SECURE_NO_WARNINGS
# define _CRT_SECURE_NO_WARNINGS 1
# include <windows.h>
# include <stdint.h> // takes care of a number of typedefs
# include <io.h>
# include <direct.h>
// these are always a bit dangerous :-)
# define strtok_r strtok_s
# define strdup _strdup
# define snprintf _snprintf
@ -89,7 +91,6 @@
# define PATH_MAX MAX_PATH
#endif
#define PRIVATE_NAMESPACE_BEGIN namespace {
#define PRIVATE_NAMESPACE_END }
#define YOSYS_NAMESPACE_BEGIN namespace Yosys {
@ -128,7 +129,7 @@ bool patmatch(const char *pattern, const char *string);
int run_command(const std::string &command, std::function<void(const std::string&)> process_line = std::function<void(const std::string&)>());
std::string make_temp_file(std::string template_str = "/tmp/yosys_XXXXXX");
std::string make_temp_dir(std::string template_str = "/tmp/yosys_XXXXXX");
bool check_file(std::string filename, bool is_exec = false);
bool check_file_exists(std::string filename, bool is_exec = false);
void remove_directory(std::string dirname);
template<typename T> int GetSize(const T &obj) { return obj.size(); }