From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22229 invoked by alias); 25 Sep 2007 04:22:38 -0000 Received: (qmail 22202 invoked by uid 48); 25 Sep 2007 04:22:28 -0000 Date: Tue, 25 Sep 2007 04:22:00 -0000 Message-ID: <20070925042228.22201.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/32400] [4.3 Regression] ICE in expand_or_defer_fn, at cp/semantics.c:3220 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "bangerth at dealii dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-09/txt/msg02053.txt.bz2 ------- Comment #12 from bangerth at dealii dot org 2007-09-25 04:22 ------- (In reply to comment #11) > Here is what the C++ standard says about linkage: > A template name may have linkage (3.5). A template, a template explicit > specialization (14.7.3), or a class > template partial specialization shall not have C linkage. If the linkage of one > of these is something other > than C or C++, the behavior is implementation defined. > Template definitions shall obey the one definition > rule (3.2). > > > So this is implementation defined as far as I can tell, and I think this is > really a bad choice to accept this code. Uh, can you justify your opinion? Neither can I see why this would be bad style nor can I see why you would think that anything in the code in comment #5 would be implementation defined (nothing here has linkage other than C or C++ that would have been listed in the paragraph you cite). W. -- bangerth at dealii dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bangerth at dealii dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32400