This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: New name mangling in g++


Jakub Jelinek <jakub@redhat.com> writes:

|> On Mon, Jan 29, 2001 at 05:32:59PM +0100, Andreas Schwab wrote:
|> > Oliver Kellogg <oliver.kellogg@vs.dasa.de> writes:
|> > 
|> > |> Hello IA-64 C++ ABI experts,
|> > |> 
|> > |> I am trying to understand the name mangling scheme as 
|> > |> implemented in recent experimental snapshots of G++.
|> > |> 
|> > |> Given this code:
|> > |> 
|> > |> typedef struct {
|> > |>   int a;
|> > |> } stru;
|> > |> 
|> > |> class M {
|> > |>   public:
|> > |>     // [...]
|> > |>     void mixed (const stru &a, const stru b, stru &c, stru d,
|> > |>                 const stru &e, const stru f, stru &g, stru h);
|> > |> };
|> > |> 
|> > |> 
|> > |> the gcc-snapshot-20010126 mangles the method "mixed" as follows:
|> > |> 
|> > |>     _ZN1M5mixedERK4struS0_RS0_S0_S2_S0_S3_S0_
|> > |> 
|> > |> My questions are:
|> > |> What does the mangler treat as S1?
|> > |> Where is the `const' qualifier of argument b coded?
|> > 
|> > The `const' is not part of the interface.
|> 
|> const is part of the interface, it is encoded with the K.

Since argument b is passed by value, the const should not matter, should
it?

Andreas.

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
Andreas.Schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]