Travis Vitek wrote:
Eric Lemings wrote:

Travis Vitek wrote:
This all gets back to the discussion we were having a few weeks ago
about which compiler features we should expect the compiler support for
4.3.x.
I'm adding a Wiki page listing these compiler requirements but I can
only think of one or two ATM.  What else should be on this list?


Well, I'd like to think that we could eliminate all of these. Without
some of them them it becomes much more difficult or impossible to
implement some of meta classes.

I agree with this list with a couple of exceptions:


  _RWSTD_NO_CLASS_PARTIAL_SPEC
  _RWSTD_NO_BOOL

I can live with keeping the following, but a modern compiler should
really support these

  _RWSTD_NO_TYPENAME
  _RWSTD_NO_EXPLICIT
  _RWSTD_NO_EXPLICIT_ARG
  _RWSTD_NO_FRIEND_TEMPLATE
  _RWSTD_NO_FUNC_PARTIAL_SPEC
  _RWSTD_NO_NEW_FUNC_TEMPLATE_SYNTAX
  _RWSTD_NO_NEW_CLASS_TEMPLATE_SYNTAX
  _RWSTD_NO_INLINE_MEMBER_TEMPLATES /* not used att all */
  _RWSTD_NO_NAMESPACE

The macro can probably go but we might need to continue
to support _RWSTD_NAMESPACE() and add namespace renaming
(including std).

  _RWSTD_NO_LONG_DOUBLE
  _RWSTD_NO_LONG_LONG

This one can't go until the next standard has been ratified
and EDG eccp supports long long in strict mode.

In general, my feeling is that starting perhaps as early as
4.3 but certainly 5.0 we should feel free to assume a C++ 03
conforming compiler unless there is some value in doing
otherwise (e.g., supporting users who wish to compile with
exceptions disabled).

Martin

  _RWSTD_NO_WCHAR_T
  _RWSTD_NO_NATIVE_WCHAR_T

Brad.


Reply via email to