This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/11078] [ABI] ICE in write_type with typeof and templates
- From: "gdr at integrable-solutions dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Aug 2004 17:31:56 -0000
- Subject: [Bug c++/11078] [ABI] ICE in write_type with typeof and templates
- References: <20030603112812.11078.jtotland1@chello.no>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From gdr at integrable-solutions dot net 2004-08-09 17:31 -------
Subject: Re: [ABI] ICE in write_type with typeof and templates
"giovannibajo at libero dot it" <gcc-bugzilla@gcc.gnu.org> writes:
| I went and read the docs, and still fail to see how it can be useful. But you
| have a point in that we cannot probably drop support for it so easily.
|
| What about stripping out typeof(type) while mangling, then? It really does not
| buy us anything. Plus, I don't think we want to say that the following
| declarations are declaring two different functions:
|
| void foo(typeof(int*));
| void foo(int*);
|
| or these:
|
| void bar(typeof(typeof(char*) [4]) blah);
| void bar(char *blah[4]);
As I said before, the problem is inexistent for ordinary functions
because we don't care about the retun type of those.
The issue is with function templates, and there we do care.
So I don't believe in arguments based on ordinary functions to strip
out typeof.
|
| In other words, we can easily strip typeof(type) while mangling, and encoding
| typeof(expr) as Y <expression> E.
|
| If we agree on this,
I don't think we reach a conclusion based on the arguments you
developed above.
-- Gaby
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11078