Author: frutiger Date: Wed Nov 8 11:17:27 2017 New Revision: 317706 URL: http://llvm.org/viewvc/llvm-project?rev=317706&view=rev Log: [bindings] fix TLS test failure
Since cfe commit r237337, '__declspec(thread)' and 'thread_local' have been the same since MSVC 2015. i.e. they are both considered to supply a dynamic TLS kind, not a static TLS kind. This test originally did not specify which version of MS compatibility to assume. As a result, the test was brittle, since changing the default compatibility version could break the test. This commit adds a specific version when building up the flags used to parse the translation unit, and tests both versions. Modified: cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py Modified: cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py?rev=317706&r1=317705&r2=317706&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py Wed Nov 8 11:17:27 2017 @@ -27,11 +27,21 @@ _Thread_local int tls_static; # The following case tests '__declspec(thread)'. Since it is a Microsoft # specific extension, specific flags are required for the parser to pick # these up. - flags = ['-fms-extensions', '-target', 'x86_64-unknown-windows-win32'] + flags = ['-fms-extensions', '-target', 'x86_64-unknown-windows-win32', + '-fms-compatibility-version=18'] tu = get_tu(""" -__declspec(thread) int tls_declspec; +__declspec(thread) int tls_declspec_msvc18; """, lang = 'cpp', flags=flags) - tls_declspec = get_cursor(tu.cursor, 'tls_declspec') - assert tls_declspec.tls_kind == TLSKind.STATIC + tls_declspec_msvc18 = get_cursor(tu.cursor, 'tls_declspec_msvc18') + assert tls_declspec_msvc18.tls_kind == TLSKind.STATIC + + flags = ['-fms-extensions', '-target', 'x86_64-unknown-windows-win32', + '-fms-compatibility-version=19'] + tu = get_tu(""" +__declspec(thread) int tls_declspec_msvc19; +""", lang = 'cpp', flags=flags) + + tls_declspec_msvc19 = get_cursor(tu.cursor, 'tls_declspec_msvc19') + assert tls_declspec_msvc19.tls_kind == TLSKind.DYNAMIC _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits