On 2005-8-26 9:11 UTC, Foster Gareth wrote:
> I am trying to use some code which allows you to launch programs from your
> code, its called libexecstream, it looks okay. Now, it provides something
> like ...
> class c_exec_stream
> std::istream & out();
> std::ostream & in()
No semicolon after the second function: illegal code may
occasionally give a mysterious "internal" error.
> So, I try to do ...
> c_exec_stream * p_exec_stream = new c_exec_stream("c:\\app.exe");
> Then, I try ...
> std::copy (
Post a complete, minimal, standalone testcase so that others can
reproduce the exact problem. For example:
std::istream & out();
std::ostream & in();
c_exec_stream * p_exec_stream;// = new c_exec_stream("c:\\app.exe");
That doesn't seem to fail, though. Maybe I added something that
kept it from producing the error; it's hard to guess.
> Which ought to work right? Well I get ...
> file.cc: In constructor `myclass::myclass()':
> file.cc:48: internal compiler error: in finish_class_member_access_expr, at
> Please submit a full bug report,
> with preprocessed source if appropriate.
You'll need a complete standalone testcase to report that anyway.
The gcc maintainers might not give it much attention if the code
is invalid, even though even that would ideally not give an ICE.
If an ICE results from valid code, that's a bigger concern.