Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-04-11 08:54:04

From: "Geurt Vos" <G.Vos_at_[hidden]>

> I don't think you're really being realistic here. I mean,
> _you_ don't ignore them, _I_ don't ignore them, but that's
> still not the majority.

Perhaps, but

boost::function<void, int> f(g); // 1


g(1); // 2

are exactly equivalent in terms of the compiler warnings that they produce;
so if an user is likely to ignore the warning in (1) he/she will also ignore
it in (2).

> Besides that, there's no warning when GCC (2.95.2) is used,
> which should cause some concern...

Yes, you are right, however GCC doesn't warn about (2), either.

> [sidenote:
> I never use MSVC at level 4, because it results in way too many
> warning in MS's code, and also generates quite some redundant
> warnings, such as "unreferenced inline function has been removed"
> ]

I used to use

#if defined(_MSC_VER) && !defined(__ICL)
#pragma warning(disable: 4786) // identifier truncated in debug info
#pragma warning(disable: 4710) // function not inlined
#pragma warning(disable: 4711) // function selected for automatic inline
#pragma warning(disable: 4514) // unreferenced inline removed

#ifdef _MSC_VER
#pragma warning(push, 3)

#include <iostream>

#ifdef _MSC_VER
#pragma warning(pop)

The new VC 7 library is relatively clean at level 4 (at last!)

Peter Dimov
Multi Media Ltd.

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