# HG changeset patch # User kbarrett # Date 1420670765 18000 # Wed Jan 07 17:46:05 2015 -0500 # Node ID a200bf9a27b017a30f975c2534eae305600ee646 # Parent 052db378a7da547138f71fa0b32edc33c89bef14 imported patch update3 diff --git a/src/share/vm/utilities/debug.hpp b/src/share/vm/utilities/debug.hpp --- a/src/share/vm/utilities/debug.hpp +++ b/src/share/vm/utilities/debug.hpp @@ -1,5 +1,5 @@ /* - * 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 @@ -233,16 +233,14 @@ // 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 struct STATIC_ASSERT_FAILURE; template<> struct STATIC_ASSERT_FAILURE { enum { value = 1 }; }; -#define STATIC_ASSERT(Cond) \ - typedef char STATIC_ASSERT_FAILURE_ ## __LINE__ [ \ - STATIC_ASSERT_FAILURE< (Cond) ? true : false >::value ] +#define STATIC_ASSERT(Cond) \ + typedef char STATIC_ASSERT_FAILURE_ ## __LINE__ [ \ + STATIC_ASSERT_FAILURE< (Cond) >::value ] // out of shared space reporting enum SharedSpaceType {