[Mesa-dev] [PATCH] nir: no-op C99 _Pragma() with MSVC
Brian Paul
brianp at vmware.com
Sat Nov 23 17:38:49 UTC 2019
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.romanick at 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 <brianp at 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 { \
>>
>
More information about the mesa-dev
mailing list