Boost logo

Boost :

From: Ralf W. Grosse-Kunstleve (rwgk_at_[hidden])
Date: 2004-08-25 13:04:22


--- Markus_Schöpflin <markus.schoepflin_at_[hidden]> wrote:

> Hello!
>
> Currently, the name mangling scheme used on this platform is the default
> one selected by the compiler. It turns out that this is a bad choice when
> compiling boost. The problem is illustrated by the following example:
>
> ---%<---
> #include <iostream>
> using namespace std;
>
> template <typename T> void foo(T const &x)
> {
> cout << "1" << endl;
> }
>
> template <typename T> void foo(T * const &x)
> {
> cout << "2" << endl;
> }
>
> int main()
> {
> foo("abc");
> return 0;
> }
> --->%---
>
> This prints out "2" with the default name mangling scheme. When manually
> selecting "ansi" as the name mangling scheme, the correct result "1" is
> printed.
>
> Therefore I propose to explicitely set the name mangling to ansi in the
> tools file for this compiler. Does anyone have any strong feelings or
> arguments against such a change?

No strong feelings, just selfish worries. I am usually compiling with -std
strict_ansi. Is that automatically giving me the "ansi" name mangling scheme?

Which switches do you want to add to the toolset?

Ralf

                
__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail


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