[Openmp-commits] 3.8 Merge Request: r264166
Cownie, James H via Openmp-commits
openmp-commits at lists.llvm.org
Tue Apr 26 07:57:30 PDT 2016
Note that the aim here is to allow us to enable OpenMP in Clang 3.8.1 on Windows by default, something that we failed to achieve in 3.8. The required changes are small and Windows specific, and this would bring Windows Clang/OpenMP support up to that on other platforms which seems desirable.
-- Jim
James Cownie <james.h.cownie at intel.com>
SSG/DPD/TCAR (Technical Computing, Analyzers and Runtimes)
Tel: +44 117 9071438
-----Original Message-----
From: Openmp-commits [mailto:openmp-commits-bounces at lists.llvm.org] On Behalf Of Peyton, Jonathan L via Openmp-commits
Sent: Tuesday, April 26, 2016 3:52 PM
To: Peyton, Jonathan L <jonathan.l.peyton at intel.com>; Tom Stellard <tom at stellard.net>
Cc: openmp-commits (openmp-commits at lists.llvm.org) <openmp-commits at lists.llvm.org>
Subject: [Openmp-commits] 3.8 Merge Request: r264166
Can this be merged for 3.8.1?
-- Johnny
-----Original Message-----
From: Openmp-commits [mailto:openmp-commits-bounces at lists.llvm.org] On Behalf Of Jonathan Peyton via Openmp-commits
Sent: Wednesday, March 23, 2016 11:27 AM
To: openmp-commits at lists.llvm.org
Subject: [Openmp-commits] [openmp] r264166 - Fix Visual Studio builds
Author: jlpeyton
Date: Wed Mar 23 11:27:25 2016
New Revision: 264166
URL: http://llvm.org/viewvc/llvm-project?rev=264166&view=rev
Log:
Fix Visual Studio builds
Have Visual Studio use MemoryBarrier() instead of _mm_mfence() and remove __declspec align attribute from function parameters in kmp_atomic.h
Modified:
openmp/trunk/runtime/src/kmp_atomic.h
openmp/trunk/runtime/src/kmp_csupport.c
Modified: openmp/trunk/runtime/src/kmp_atomic.h
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp_atomic.h?rev=264166&r1=264165&r2=264166&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp_atomic.h (original)
+++ openmp/trunk/runtime/src/kmp_atomic.h Wed Mar 23 11:27:25 2016
@@ -35,6 +35,13 @@
#if defined( __cplusplus ) && ( KMP_OS_WINDOWS )
// create shortcuts for c99 complex types
+ // Visual Studio cannot have function parameters that have the
+ // align __declspec attribute, so we must remove it. (Compiler Error C2719)
+ #if KMP_COMPILER_MSVC
+ # undef KMP_DO_ALIGN
+ # define KMP_DO_ALIGN(alignment) /* Nothing */
+ #endif
+
#if (_MSC_VER < 1600) && defined(_DEBUG)
// Workaround for the problem of _DebugHeapTag unresolved external.
// This problem prevented to use our static debug library for C tests
Modified: openmp/trunk/runtime/src/kmp_csupport.c
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp_csupport.c?rev=264166&r1=264165&r2=264166&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp_csupport.c (original)
+++ openmp/trunk/runtime/src/kmp_csupport.c Wed Mar 23 11:27:25 2016
@@ -654,8 +654,10 @@ __kmpc_flush(ident_t *loc)
if ( ! __kmp_cpuinfo.sse2 ) {
// CPU cannot execute SSE2 instructions.
} else {
- #if KMP_COMPILER_ICC || KMP_COMPILER_MSVC
+ #if KMP_COMPILER_ICC
_mm_mfence();
+ #elif KMP_COMPILER_MSVC
+ MemoryBarrier();
#else
__sync_synchronize();
#endif // KMP_COMPILER_ICC
_______________________________________________
Openmp-commits mailing list
Openmp-commits at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-commits
_______________________________________________
Openmp-commits mailing list
Openmp-commits at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-commits
---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
More information about the Openmp-commits
mailing list