From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31472 invoked by alias); 9 Aug 2004 17:31:57 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 31434 invoked by alias); 9 Aug 2004 17:31:56 -0000 Date: Mon, 09 Aug 2004 17:31:00 -0000 Message-ID: <20040809173156.31433.qmail@sourceware.org> From: "gdr at integrable-solutions dot net" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20030603112812.11078.jtotland1@chello.no> References: <20030603112812.11078.jtotland1@chello.no> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/11078] [ABI] ICE in write_type with typeof and templates X-Bugzilla-Reason: CC X-SW-Source: 2004-08/txt/msg00708.txt.bz2 List-Id: ------- 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" 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 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