From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2194 invoked by alias); 8 Apr 2008 10:56:44 -0000 Received: (qmail 2037 invoked by uid 48); 8 Apr 2008 10:55:58 -0000 Date: Tue, 08 Apr 2008 10:56:00 -0000 Message-ID: <20080408105558.2036.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/35828] ICEs in template-heavy C++0x code In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "gcc at cohi dot at" 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: 2008-04/txt/msg00607.txt.bz2 ------- Comment #4 from gcc at cohi dot at 2008-04-08 10:55 ------- The second example could be related with a recursive template, more precisely the templates seq_min_impl1 and seq_min_impl2 together perform a template meta-programming "recursive walk" of a template structure, in order to define their respective "const static size_t min" members. In the second example the template structure is recursive, i.e. while trying to determine seq_min_impl1< ... >::min for some template parameters the compiler will reach a point where that value, through some steps, depends on itself. (The meta-programming in the code included is a first step towards eliminating the recursion.) In other words: If my current understanding of my code is correct, the ICE from scheme.ii should be an error message. -- gcc at cohi dot at changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |major http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35828