diff --git a/src/ansi-c/parser.y b/src/ansi-c/parser.y index 25e63ffdc80..2691142097d 100644 --- a/src/ansi-c/parser.y +++ b/src/ansi-c/parser.y @@ -26,6 +26,19 @@ extern char *yyansi_ctext; #include "ansi_c_y.tab.h" +#ifdef _MSC_VER +// possible loss of data +#pragma warning(disable:4242) +// possible loss of data +#pragma warning(disable:4244) +// signed/unsigned mismatch +#pragma warning(disable:4365) +// switch with default but no case labels +#pragma warning(disable:4065) +// unreachable code +#pragma warning(disable:4702) +#endif + // statements have right recursion, deep nesting of statements thus // requires more stack space #define YYMAXDEPTH 25600 diff --git a/src/ansi-c/scanner.l b/src/ansi-c/scanner.l index 1695539a65f..71eae243eba 100644 --- a/src/ansi-c/scanner.l +++ b/src/ansi-c/scanner.l @@ -4,6 +4,14 @@ %{ +#if defined _MSC_VER +// signed/unsigned mismatch +#pragma warning(disable:4365) +// macro re-definition: flex conditonally defines INT32_MAX et al. and thus +// they are set before library headers get to define them +#pragma warning(disable:4005) +#endif + /* * This scanner is based on: * diff --git a/src/assembler/scanner.l b/src/assembler/scanner.l index 816e61616dc..a050bd048ab 100755 --- a/src/assembler/scanner.l +++ b/src/assembler/scanner.l @@ -5,6 +5,14 @@ %{ +#if defined _MSC_VER +// signed/unsigned mismatch +#pragma warning(disable:4365) +// macro re-definition: flex conditonally defines INT32_MAX et al. and thus +// they are set before library headers get to define them +#pragma warning(disable:4005) +#endif + #define PARSER assembler_parser #define YYSTYPE unsigned #undef ECHO diff --git a/src/jsil/parser.y b/src/jsil/parser.y index 12c9385d8fa..a3a0563dd16 100644 --- a/src/jsil/parser.y +++ b/src/jsil/parser.y @@ -16,6 +16,20 @@ extern char *yyjsiltext; #include #include "jsil_y.tab.h" + +#ifdef _MSC_VER +// possible loss of data +#pragma warning(disable:4242) +// possible loss of data +#pragma warning(disable:4244) +// signed/unsigned mismatch +#pragma warning(disable:4365) +// switch with default but no case labels +#pragma warning(disable:4065) +// unreachable code +#pragma warning(disable:4702) +#endif + /*** token declaration **************************************************/ %} diff --git a/src/jsil/scanner.l b/src/jsil/scanner.l index c8e5c46d626..2eedc4c607d 100755 --- a/src/jsil/scanner.l +++ b/src/jsil/scanner.l @@ -6,6 +6,14 @@ %{ +#if defined _MSC_VER +// signed/unsigned mismatch +#pragma warning(disable:4365) +// macro re-definition: flex conditonally defines INT32_MAX et al. and thus +// they are set before library headers get to define them +#pragma warning(disable:4005) +#endif + #include #include diff --git a/src/json/parser.y b/src/json/parser.y index 044fce1eb1f..9d17ef51242 100644 --- a/src/json/parser.y +++ b/src/json/parser.y @@ -1,4 +1,17 @@ %{ +#ifdef _MSC_VER +// possible loss of data +#pragma warning(disable:4242) +// possible loss of data +#pragma warning(disable:4244) +// signed/unsigned mismatch +#pragma warning(disable:4365) +// switch with default but no case labels +#pragma warning(disable:4065) +// unreachable code +#pragma warning(disable:4702) +#endif + // Strictly follows http://www.json.org/ %} diff --git a/src/json/scanner.l b/src/json/scanner.l index ad854544950..fc29b2e4456 100755 --- a/src/json/scanner.l +++ b/src/json/scanner.l @@ -12,6 +12,14 @@ %{ +#if defined _MSC_VER +// signed/unsigned mismatch +#pragma warning(disable:4365) +// macro re-definition: flex conditonally defines INT32_MAX et al. and thus +// they are set before library headers get to define them +#pragma warning(disable:4005) +#endif + #define PARSER json_parser #include "json_parser.h" diff --git a/src/xmllang/parser.y b/src/xmllang/parser.y index 0ef8686fb8e..0580ca01a27 100644 --- a/src/xmllang/parser.y +++ b/src/xmllang/parser.y @@ -12,6 +12,18 @@ int yyxmlerror(const std::string &error) return 0; } +#ifdef _MSC_VER +// possible loss of data +#pragma warning(disable:4242) +// possible loss of data +#pragma warning(disable:4244) +// signed/unsigned mismatch +#pragma warning(disable:4365) +// switch with default but no case labels +#pragma warning(disable:4065) +// unreachable code +#pragma warning(disable:4702) +#endif %} %error-verbose diff --git a/src/xmllang/scanner.l b/src/xmllang/scanner.l index 5726c75afee..ef4c439d5a0 100755 --- a/src/xmllang/scanner.l +++ b/src/xmllang/scanner.l @@ -6,6 +6,14 @@ %{ +#if defined _MSC_VER +// signed/unsigned mismatch +#pragma warning(disable:4365) +// macro re-definition: flex conditonally defines INT32_MAX et al. and thus +// they are set before library headers get to define them +#pragma warning(disable:4005) +#endif + #include #include #include