Switch the is_integral_or_enum trait machinery to use an explicit
authorChandler Carruth <chandlerc@gmail.com>
Wed, 7 Mar 2012 10:05:35 +0000 (10:05 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Wed, 7 Mar 2012 10:05:35 +0000 (10:05 +0000)
commita1eb50fe3d8213156c77ef2f7ae5c4ad629dbb95
tree2f12bd506de5bc23d5d068ea17fddf4c3c9d115d
parent4e5b0f994305643638eb206a9d95f182abf99772
Switch the is_integral_or_enum trait machinery to use an explicit
template argument and an *implicit* conversion from '0' to a null
pointer. For some bizarre reason, GCC 4.3.2 thinks that the cast to
'(T*)' is invalid inside of an enumerator's value... which it isn't but
whatever. ;] This pattern is used elsewhere in the type_traits header
and so hopefully will survive the wrath of the build bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152220 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/type_traits.h