Opened 12 years ago

Closed 12 years ago

#4160 closed Bugs (invalid)

Karma/qi rules in a 0x lambda crashes VC10 with internal compiler error

Reported by: Lars Viklund <zao@…> Owned by: Joel de Guzman
Milestone: Boost 1.43.0 Component: spirit
Version: Boost Development Trunk Severity: Problem
Keywords: vc10 ice spirit rule lambda Cc:

Description

Defining a Karma or Qi rule in a C++0x lambda in VC10 RTM crashes the compiler with an internal compiler error.

I have reproduced this with trunk (r61638) and 1.42.0.

Complete test case and build output follows:

#include <boost/spirit/include/karma.hpp>

int main()
{
	[]()
	{
		boost::spirit::karma::rule<char*> r;
	};
}
1>------ Build started: Project: Testbed10, Configuration: Release X64 ------
1>  main.cc
1>  using native typeof
1>main.cc(8): fatal error C1001: An internal error has occurred in the compiler.
1>  (compiler file 'msc1.cpp', line 1420)
1>   To work around this problem, try simplifying or changing the program near the locations listed above.
1>  Please choose the Technical Support command on the Visual C++ 
1>   Help menu, or open the Technical Support help file for more information
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Change History (1)

comment:1 by Hartmut Kaiser, 12 years ago

Resolution: invalid
Status: newclosed

Well, I'm not sure what we could do about this. It's a compiler bug (as it compiles fine using g++).

Regards Hartmut

Note: See TracTickets for help on using tickets.