< prev index next >
src/share/vm/utilities/debug.hpp
Print this page
rev 7623 : imported patch update3
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -231,20 +231,18 @@
//
// Implementation Note: STATIC_ASSERT_FAILURE<true> provides a value member
// rather than type member that could be used directly in the typedef, because
// a type member would require conditional use of "typename", depending on
// whether Cond is dependent or not. The use of a value member leads to the
-// use of an array type. Terniary operator because, purportedly, some old
-// compilers don't handle implict conversion properly in this context. it
-// also deals with C++11 constexpr explict conversion to bool :)
+// use of an array type.
template<bool x> struct STATIC_ASSERT_FAILURE;
template<> struct STATIC_ASSERT_FAILURE<true> { enum { value = 1 }; };
#define STATIC_ASSERT(Cond) \
typedef char STATIC_ASSERT_FAILURE_ ## __LINE__ [ \
- STATIC_ASSERT_FAILURE< (Cond) ? true : false >::value ]
+ STATIC_ASSERT_FAILURE< (Cond) >::value ]
// out of shared space reporting
enum SharedSpaceType {
SharedReadOnly,
SharedReadWrite,
< prev index next >