Boost logo

Boost :

From: Fernando Cacciola (fernando_cacciola_at_[hidden])
Date: 2003-02-05 10:57:15


Hi,

As I've reported a couple of times before, BCC5.51 (at least) has a _severe_
bug regarding nested unnamed namespaces and precompiled headers: the
compiler ICEs (aborts with Internal Compiler Error)

The header "boost/format/feed_args.hpp" contains some helper functions
inside an unnamed namespace, which prevents Boost.Format to be used with
bcc551 in a precompiled header.

Q: Why are those functions inside an unnamed namespace which is itself
inside a 'detail' namespace?
If the unns isn't really necessary, I suggest removing it (moving the
functions out into 'detail');
if it is necessary, a Borland workaround is needed, such as:

33c33,41
< namespace {

---
>
> #ifdef __BORLANDC__
> namespace __unns__ {
> #define UNNS __unns__::
> #else
> namespace  {
> #define UNNS
> #endif
>
237c245
<           put<Ch, Tr, T> (x, self.items_[i], self.items_[i].res_,
self.oss_ );
---
>           UNNS put<Ch, Tr, T> (x, self.items_[i], self.items_[i].res_,
self.oss_ );
Fernando Cacciola

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk