8196889: VS2017 Unable to Instantiate OrderAccess::release_store with an Incomplete Class Within an Inlined Method
Summary: Fix compilation error by declaring Atomic::IsPointerConvertible public.
Reviewed-by: kbarrett, stuefe
--- a/src/hotspot/share/runtime/atomic.hpp Mon Feb 19 15:44:56 2018 +0100
+++ b/src/hotspot/share/runtime/atomic.hpp Tue Feb 20 07:00:49 2018 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -131,6 +131,7 @@
cmpxchg_memory_order order = memory_order_conservative);
private:
+WINDOWS_ONLY(public:) // VS2017 warns (C2027) use of undefined type if IsPointerConvertible is declared private
// Test whether From is implicitly convertible to To.
// From and To must be pointer types.
// Note: Provides the limited subset of C++11 std::is_convertible