Boost logo

Boost Users :

From: Aleksey Gurtovoy (alexy_at_[hidden])
Date: 2003-06-27 11:21:57


Vincent Finn wrote:
> Hi,

Hi Vincent,

>
> I am using the function classes in VC6 and have hit a problem
>
> The problem is that the compiler can't allocate enough space to build
> (The error mesages are at the bottom)
> Nomally you use the /ZmXXX compiler flag to make this bigger
> but that doesn't work in this case
>
> Has anyone hit this before?

Yes, this is a know issue. Basically, the error is triggered by a large
amount of [class] template specializations within a single translation unit.
Unfortunatety, while trying to support certain functionalily on broken
compilers, some boost headers contribute a fair amount of those on their own
(please see below). In combination with your own heavy templated code, this
can lead to the errors you've seen.

> Is there a simple workaround?

The simplest one is to split a single translation unit into several ones, if
it's possible.

If it's not, or of this still doesn't help, and you are sure that you are
_not_ using the type_traits type transformation templates
(http://www.boost.org/libs/type_traits/index.htm#transformations), then you
can define (a project wise) BOOST_TT_NO_BROKEN_COMPILER_SPEC macro and see
how this one works out.

Note that for the latter you'll need the latest CVS version of type_traits
library, and that some of the other boost libraries might rely on things
like 'remove_pointer' working properly, so depending on that this might or
might not be a viable option.

HTH,
Aleksey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net