[Bug c++/12843] [ABI] Possibly wrong mangling (incompatibility with icc7)
carlo at alinoe dot com
gcc-bugzilla@gcc.gnu.org
Thu Oct 30 16:19:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12843
------- Additional Comments From carlo at alinoe dot com 2003-10-30 16:12 -------
Subject: Re: [ABI] Possibly wrong mangling (incompatibility with icc7)
On Thu, Oct 30, 2003 at 02:41:10PM -0000, nathan at gcc dot gnu dot org wrote:
> The icc manglings and fabi-version=1 are definitly wrong. The name
> of a template parameter should never appear in a mangling. The fabi=2
> mangling looks good to me
> 1f -- func name
> I1XE template arg list. arg is 1X
> NT_ 8iteratorE - nested name using first template arg :: iterator
> S1_ copy of substitution 1
>
> defect in icc
This is probably because the ABI was changed since it publication
one or two years ago.
<nested-name> ::= N [<CV-qualifiers>] <prefix> <unqualified-name> E
::= N [<CV-qualifiers>] <template-prefix> <template-args> E
<prefix> ::= <prefix> <unqualified-name>
::= <template-prefix> <template-args>
::= <template-param> <== NEW
::= # empty
::= <substitution>
<template-prefix> ::= <prefix> <template unqualified-name>
::= <template-param> <== NEW
::= <substitution>
Those <template-param> were not there in the beginning.
This also reveals a bug in the demangler.
I guess I'll have to go over the most recent specification to check
what all was changed.
More information about the Gcc-bugs
mailing list