Boost logo

Boost :

From: Boris Gubenko (Boris.Gubenko_at_[hidden])
Date: 2006-11-01 16:22:04

  Attached a small patch for hp_acc.hpp configuration header.

  It fixes all but one failure in parameter library (the remaining failure
  is python_test which is, most likely, some configuration problem with
  python). The tests would not compile with the old header because it
  defines BOOST_NO_TEMPLATE_TEMPLATES macro which is inappropriate for
  aCC6 compiler.

  The patch also fixes test failures in statechart library, this library
  now has zero failures.

  I also verified, that the patch does not introduce any regressions.

  I think, the changes are obvious, but I can comment, if necessary.

  The only question I can envision is: why inclusion of "common_edg.hpp"
  is conditionalized with '#if (__HP_aCC >= 61200)' and not with, say,
  '> 60000' ? After all, aCC6 is EDG-based compiler since day one. The
  reason is that before A.06.12, the compiler does not predefine __EDG__
  and __EDG_VERSION__ macros. It was corrected in A.06.12. Since
  "common_edg.hpp" checks if __EDG_VERSION__ is defined, it cannot be
  included if a pre-A.06.12 compiler is used. Of course, I could use
  '#ifdef __EDG_VERSION__' condition, but I thought, that a specific
  compiler version in hp_acc.hpp header is more appropriate.

  Can the patch below be applied to both the HEAD and the RC 1.34 branch?


Index: hp_acc.hpp
RCS file: /cvsroot/boost/boost/boost/config/compiler/hp_acc.hpp,v
retrieving revision 1.20
diff -r1.20 hp_acc.hpp
> // (C) Copyright Boris Gubenko 2006.
> #if (__HP_aCC >= 61200)
> #include "boost/config/compiler/common_edg.hpp"
> #endif
< // This version check is way to high, but we don't know the right one to use:
< #if (__HP_aCC < 60700)

> #if (__HP_aCC < 60000)
< #if (__HP_aCC > 53800)
> #if (__HP_aCC > 61300)

Boost list run by bdawes at, gregod at, cpdaniel at, john at