[gcjx] Patch: FYI: fix crash with un-annotated fields
Tom Tromey
tromey@redhat.com
Sat Jan 15 06:09:00 GMT 2005
I'm checking this in on the gcjx branch.
This code caused a crash when trying to resolve the warning
suppressions for a field. Replacing the old-style cast with a
const_cast<> fixed the problem.
Apparently this is an artifact of using a newer compiler, I only
started seeing this with the current cvs head.
Tom
Index: ChangeLog
from Tom Tromey <tromey@redhat.com>
* model/field.cc (type): Use const_cast.
Index: model/field.cc
===================================================================
RCS file: /cvs/gcc/gcc/gcjx/model/Attic/field.cc,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 field.cc
--- model/field.cc 13 Jan 2005 03:18:36 -0000 1.1.2.1
+++ model/field.cc 15 Jan 2005 06:07:23 -0000
@@ -1,6 +1,6 @@
// Fields.
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -68,11 +68,9 @@
{
resolution_scope scope;
declaring_class->push_on_scope (&scope);
- // FIXME: ugly cast.
- resolution_scope::push_warnings warn_holder (&scope,
- (IAnnotatable *) this);
- // FIXME: ugly cast.
- ((model_field *) this)->resolve_classes (&scope);
+ model_field *unconst_this = const_cast<model_field *> (this);
+ resolution_scope::push_warnings warn_holder (&scope, unconst_this);
+ unconst_this->resolve_classes (&scope);
}
return model_variable_decl::type ();
More information about the Java-patches
mailing list