On 11/22/2019 09:16 PM, Ian Romanick wrote:
On 11/22/19 6:49 PM, Brian Paul wrote:
This fixes a build failure on MSVC.

BTW, it looks like clang supports _Pragma() but I don't know if it
understands the "gcc unroll N" directive.

It probably doesn't, but that should be okay.  This just exists to speed
up the debug builds in the pre-merge CI.

Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>



BTW, With gcc 5.4.0, there's a lot of warnings about the pragma not being understood:

../src/compiler/nir/nir_range_analysis.c:268:0: warning: ignoring #pragma GCC unroll [-Wunknown-pragmas]
    ASSERT_TABLE_IS_COMMUTATIVE(union_table);
 ^
../src/compiler/nir/nir_range_analysis.c:268:0: warning: ignoring #pragma GCC unroll [-Wunknown-pragmas] ../src/compiler/nir/nir_range_analysis.c:269:0: warning: ignoring #pragma GCC unroll [-Wunknown-pragmas]

I'd have to dig to see what version of gcc added that to add more preprocessor tests to silence it.

-Brian


Signed-off-by: Brian Paul <bri...@vmware.com>
---
  src/compiler/nir/nir_range_analysis.c | 7 +++++++
  1 file changed, 7 insertions(+)

diff --git a/src/compiler/nir/nir_range_analysis.c 
b/src/compiler/nir/nir_range_analysis.c
index df5d4da..d38bcc0 100644
--- a/src/compiler/nir/nir_range_analysis.c
+++ b/src/compiler/nir/nir_range_analysis.c
@@ -218,6 +218,13 @@ analyze_constant(const struct nir_alu_instr *instr, 
unsigned src,
   */
  #define _______ unknown
+
+/* MSVC doesn't have C99's _Pragma() */
+#ifdef _MSC_VER
+#define _Pragma(x)
+#endif
+
+
  #ifndef NDEBUG
  #define ASSERT_TABLE_IS_COMMUTATIVE(t)                        \
     do {                                                       \



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to