$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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