gen-num-limits.cc (INSTANTIATIONS): New macro.

* src/gen-num-limits.cc (INSTANTIATIONS): New macro.
	Use it do explicitly instantiate predicate<T> and value<T> for
	all the builtin Ts.

From-SVN: r39086
This commit is contained in:
Mark Mitchell 2001-01-17 07:13:39 +00:00 committed by Mark Mitchell
parent c99a2d3137
commit 5fdfba85be
2 changed files with 31 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2001-01-16 Mark Mitchell <mark@codesourcery.com>
* src/gen-num-limits.cc (INSTANTIATIONS): New macro.
Use it do explicitly instantiate predicate<T> and value<T> for
all the builtin Ts.
2001-01-16 Nathan Sidwell <nathan@codesourcery.com>
* libsupc++/exception_support.cc (__cp_pop_exception): Fix

View File

@ -770,3 +770,28 @@ int main()
// .__convert_long_double_d); }
}
// G++ doesn't have support for automatic instantiation of static data
// members on platforms that don't have weak symbols. On AIX, in
// particular, static data members must be explicitly instantiated.
// So, we explicitly instantiate some of the ones we need. To save
// typing, we don't name the static data members explicitly; we
// instead name their containing types.
#define INSTANTIATIONS(TYPE) \
template struct predicate<TYPE>; \
template struct value<TYPE>
INSTANTIATIONS (bool);
INSTANTIATIONS (char);
INSTANTIATIONS (signed char);
INSTANTIATIONS (unsigned char);
INSTANTIATIONS (short);
INSTANTIATIONS (unsigned short);
INSTANTIATIONS (int);
INSTANTIATIONS (unsigned int);
INSTANTIATIONS (long);
INSTANTIATIONS (unsigned long);
INSTANTIATIONS (float);
INSTANTIATIONS (double);
INSTANTIATIONS (long double);