c++/7181: foo<n>::bar = foo<n-1>::bar + foo<n-2>::bar evaluates to zero at compile time

Nathan Sidwell nathan@codesourcery.com
Tue Jul 2 12:56:00 GMT 2002


mmitchel@gcc.gnu.org wrote:
> 
> Synopsis: foo<n>::bar = foo<n-1>::bar + foo<n-2>::bar evaluates to zero at compile time
> 
> State-Changed-From-To: analyzed->closed
> State-Changed-By: mmitchel
> State-Changed-When: Tue Jul  2 11:31:51 2002
> State-Changed-Why:
>     This code does not have well-defined behavior.
How have you come to this conclusion? The last sentance of
[14.7.1]/1 indicates that we must instantiate the definition of Foo<N>::value.
I see nothing in [3.6.2] or [3.8] which disallows it.

Or are you saying this is a case of [14.7.3]/7?

nathan

-- 
Dr Nathan Sidwell   ::   http://www.codesourcery.com   ::   CodeSourcery LLC
         'But that's a lie.' - 'Yes it is. What's your point?'
nathan@codesourcery.com : http://www.cs.bris.ac.uk/~nathan/ : nathan@acm.org



More information about the Gcc-bugs mailing list