+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
// .__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);
+