On 9 February 2011 11:20, Larry Evans wrote: > In: > > http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/include/std/type_traits?revision=169421&view=markup > > on line 625, there's: > > : public integral_constant<bool, __is_trivial(_Tp)> > > Since _Tp is a type, not a value, I thought > __is_trivial must be a macro; however, grepping > the include directory produced nothing: > > find . -type f -exec grep __is_trivial {} \; -ls > : public integral_constant<bool, __is_trivial(_Tp)> > 2966263 20 -rw-r--r-- 1 evansl evansl 17946 Aug 25 02:31 > ./type_traits > > Where is __is_trivial defined so I can look at it to > try and understand why g++ doesn't complain, when compiling > type_traits, that _Tp is a type and not a value? It's a compiler intrinsic provided by G++