Commit 2cf94e58 by Bryce McKinlay Committed by Bryce McKinlay

link.cc (_Jv_Linker::print_class_loaded): Declare string constants as "const char *".

2006-02-08  Bryce McKinlay  <mckinlay@redhat.com>

	* link.cc (_Jv_Linker::print_class_loaded): Declare string constants
	as "const char *".
	* verify.cc (verify_fail): Likewise.
	* gnu/classpath/natSystemProperties.cc (file_encoding): Likewise.
	* interpret.cc (throw_internal_error, throw_class_format_error):
	Likewise.
	* gcj/javaprims.h (_Jv_hashUtf8String, _Jv_Utf8Const::space_needed, 
	_Jv_Utf8Const::init, _Jv_makeUtf8Const): Likewise.
	* java/lang/Class.h (_Jv_InitPrimClass): Likewise.
	* include/jvm.h (_Jv_strLengthUtf8, _Jv_makeUtf8Const): Likewise.
	* defineclass.cc (throw_internal_error, throw_no_class_def_found_error,
	is_attribute_name): Likewise.
	* prims.cc (_Jv_strLengthUtf8, _Jv_hashUtf8String, _Jv_Utf8Const::init,
	_Jv_makeUtf8Const, _Jv_InitPrimClass): Likewise.

From-SVN: r110767
parent 8b1753e3
2006-02-08 Bryce McKinlay <mckinlay@redhat.com>
* link.cc (_Jv_Linker::print_class_loaded): Declare string constants
as "const char *".
* verify.cc (verify_fail): Likewise.
* gnu/classpath/natSystemProperties.cc (file_encoding): Likewise.
* interpret.cc (throw_internal_error, throw_class_format_error):
Likewise.
* gcj/javaprims.h (_Jv_hashUtf8String, _Jv_Utf8Const::space_needed,
_Jv_Utf8Const::init, _Jv_makeUtf8Const): Likewise.
* java/lang/Class.h (_Jv_InitPrimClass): Likewise.
* include/jvm.h (_Jv_strLengthUtf8, _Jv_makeUtf8Const): Likewise.
* defineclass.cc (throw_internal_error, throw_no_class_def_found_error,
is_attribute_name): Likewise.
* prims.cc (_Jv_strLengthUtf8, _Jv_hashUtf8String, _Jv_Utf8Const::init,
_Jv_makeUtf8Const, _Jv_InitPrimClass): Likewise.
2006-02-08 Tom Tromey <tromey@redhat.com> 2006-02-08 Tom Tromey <tromey@redhat.com>
PR libgcj/26063, PR libgcj/17978, PR libgcj/10598: PR libgcj/26063, PR libgcj/17978, PR libgcj/10598:
......
...@@ -47,11 +47,11 @@ using namespace gcj; ...@@ -47,11 +47,11 @@ using namespace gcj;
// these go in some separate functions, to avoid having _Jv_InitClass // these go in some separate functions, to avoid having _Jv_InitClass
// inserted all over the place. // inserted all over the place.
static void throw_internal_error (char *msg) static void throw_internal_error (const char *msg)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
static void throw_no_class_def_found_error (jstring msg) static void throw_no_class_def_found_error (jstring msg)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
static void throw_no_class_def_found_error (char *msg) static void throw_no_class_def_found_error (const char *msg)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
static void throw_class_format_error (jstring msg) static void throw_class_format_error (jstring msg)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
...@@ -258,10 +258,10 @@ struct _Jv_ClassReader ...@@ -258,10 +258,10 @@ struct _Jv_ClassReader
void read_one_method_attribute (int method); void read_one_method_attribute (int method);
void read_one_code_attribute (int method); void read_one_code_attribute (int method);
void read_one_field_attribute (int field); void read_one_field_attribute (int field);
void throw_class_format_error (char *msg); void throw_class_format_error (const char *msg);
/** check an utf8 entry, without creating a Utf8Const object */ /** check an utf8 entry, without creating a Utf8Const object */
bool is_attribute_name (int index, char *name); bool is_attribute_name (int index, const char *name);
/** here goes the class-loader members defined out-of-line */ /** here goes the class-loader members defined out-of-line */
void handleConstantPool (); void handleConstantPool ();
...@@ -469,7 +469,7 @@ void _Jv_ClassReader::read_fields () ...@@ -469,7 +469,7 @@ void _Jv_ClassReader::read_fields ()
} }
bool bool
_Jv_ClassReader::is_attribute_name (int index, char *name) _Jv_ClassReader::is_attribute_name (int index, const char *name)
{ {
check_tag (index, JV_CONSTANT_Utf8); check_tag (index, JV_CONSTANT_Utf8);
int len = get2u (bytes+offsets[index]); int len = get2u (bytes+offsets[index]);
...@@ -1418,7 +1418,7 @@ void _Jv_ClassReader::handleMethodsEnd () ...@@ -1418,7 +1418,7 @@ void _Jv_ClassReader::handleMethodsEnd ()
} }
} }
void _Jv_ClassReader::throw_class_format_error (char *msg) void _Jv_ClassReader::throw_class_format_error (const char *msg)
{ {
jstring str; jstring str;
if (def->name != NULL) if (def->name != NULL)
...@@ -1460,7 +1460,7 @@ throw_no_class_def_found_error (jstring msg) ...@@ -1460,7 +1460,7 @@ throw_no_class_def_found_error (jstring msg)
} }
static void static void
throw_no_class_def_found_error (char *msg) throw_no_class_def_found_error (const char *msg)
{ {
throw_no_class_def_found_error (JvNewStringLatin1 (msg)); throw_no_class_def_found_error (JvNewStringLatin1 (msg));
} }
...@@ -1474,7 +1474,7 @@ throw_class_format_error (jstring msg) ...@@ -1474,7 +1474,7 @@ throw_class_format_error (jstring msg)
} }
static void static void
throw_internal_error (char *msg) throw_internal_error (const char *msg)
{ {
throw new java::lang::InternalError (JvNewStringLatin1 (msg)); throw new java::lang::InternalError (JvNewStringLatin1 (msg));
} }
......
...@@ -489,7 +489,7 @@ extern "C" jstring _Jv_NewStringLatin1(const char*, jsize) ...@@ -489,7 +489,7 @@ extern "C" jstring _Jv_NewStringLatin1(const char*, jsize)
__attribute__((__malloc__)); __attribute__((__malloc__));
extern "C" jsize _Jv_GetStringUTFLength (jstring); extern "C" jsize _Jv_GetStringUTFLength (jstring);
extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *); extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *);
extern "C" jint _Jv_hashUtf8String (char*, int); extern "C" jint _Jv_hashUtf8String (const char*, int);
struct _Jv_VMOption struct _Jv_VMOption
{ {
...@@ -561,17 +561,17 @@ class _Jv_Utf8Const ...@@ -561,17 +561,17 @@ class _Jv_Utf8Const
jstring toString() { return _Jv_NewStringUTF(data); } jstring toString() { return _Jv_NewStringUTF(data); }
/** Given an UTF8 string, how many bytes needed for a UTF8Const, /** Given an UTF8 string, how many bytes needed for a UTF8Const,
including struct header, and final NUL. I.e. what to pas to malloc. */ including struct header, and final NUL. I.e. what to pas to malloc. */
static int space_needed (char *, int len) static int space_needed (const char *, int len)
{ return sizeof (_Jv_Utf8Const) + len + 1; } { return sizeof (_Jv_Utf8Const) + len + 1; }
/** Given an allocated _Jv_Utf8Const, copy / fill it in. */ /** Given an allocated _Jv_Utf8Const, copy / fill it in. */
void init (char *s, int len); void init (const char *s, int len);
friend jboolean _Jv_equalUtf8Consts (const _Jv_Utf8Const*, const _Jv_Utf8Const *); friend jboolean _Jv_equalUtf8Consts (const _Jv_Utf8Const*, const _Jv_Utf8Const *);
friend jboolean _Jv_equal (_Jv_Utf8Const*, jstring, jint); friend jboolean _Jv_equal (_Jv_Utf8Const*, jstring, jint);
friend jboolean _Jv_equaln (_Jv_Utf8Const*, jstring, jint); friend jboolean _Jv_equaln (_Jv_Utf8Const*, jstring, jint);
friend jboolean _Jv_equalUtf8Classnames (const _Jv_Utf8Const*, friend jboolean _Jv_equalUtf8Classnames (const _Jv_Utf8Const*,
const _Jv_Utf8Const*); const _Jv_Utf8Const*);
friend jboolean _Jv_isPrimitiveOrDerived (const _Jv_Utf8Const*); friend jboolean _Jv_isPrimitiveOrDerived (const _Jv_Utf8Const*);
friend _Jv_Utf8Const *_Jv_makeUtf8Const (char*, int); friend _Jv_Utf8Const *_Jv_makeUtf8Const (const char*, int);
friend _Jv_Utf8Const *_Jv_makeUtf8Const (jstring); friend _Jv_Utf8Const *_Jv_makeUtf8Const (jstring);
friend jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const*); friend jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const*);
}; };
......
...@@ -62,11 +62,11 @@ _Jv_SetDLLSearchPath (const char *) ...@@ -62,11 +62,11 @@ _Jv_SetDLLSearchPath (const char *)
#if ! defined (DEFAULT_FILE_ENCODING) && defined (HAVE_ICONV) \ #if ! defined (DEFAULT_FILE_ENCODING) && defined (HAVE_ICONV) \
&& defined (HAVE_NL_LANGINFO) && defined (HAVE_NL_LANGINFO)
static char * static const char *
file_encoding () file_encoding ()
{ {
setlocale (LC_CTYPE, ""); setlocale (LC_CTYPE, "");
char *e = nl_langinfo (CODESET); const char *e = nl_langinfo (CODESET);
if (e == NULL || *e == '\0') if (e == NULL || *e == '\0')
e = "8859_1"; e = "8859_1";
return e; return e;
...@@ -80,7 +80,7 @@ file_encoding () ...@@ -80,7 +80,7 @@ file_encoding ()
#define DEFAULT_FILE_ENCODING "8859_1" #define DEFAULT_FILE_ENCODING "8859_1"
#endif #endif
static char *default_file_encoding = DEFAULT_FILE_ENCODING; static const char *default_file_encoding = DEFAULT_FILE_ENCODING;
#if HAVE_GETPWUID_R #if HAVE_GETPWUID_R
/* Use overload resolution to find out the signature of getpwuid_r. */ /* Use overload resolution to find out the signature of getpwuid_r. */
......
...@@ -132,10 +132,10 @@ union _Jv_value ...@@ -132,10 +132,10 @@ union _Jv_value
? (((PTR)[-3]&0x0F) << 12) + (((PTR)[-2]&0x3F) << 6) + ((PTR)[-1]&0x3F) \ ? (((PTR)[-3]&0x0F) << 12) + (((PTR)[-2]&0x3F) << 6) + ((PTR)[-1]&0x3F) \
: ((PTR)++, -1)) : ((PTR)++, -1))
extern int _Jv_strLengthUtf8(char* str, int len); extern int _Jv_strLengthUtf8(const char* str, int len);
typedef struct _Jv_Utf8Const Utf8Const; typedef struct _Jv_Utf8Const Utf8Const;
_Jv_Utf8Const *_Jv_makeUtf8Const (char *s, int len); _Jv_Utf8Const *_Jv_makeUtf8Const (const char *s, int len);
_Jv_Utf8Const *_Jv_makeUtf8Const (jstring string); _Jv_Utf8Const *_Jv_makeUtf8Const (jstring string);
extern jboolean _Jv_equalUtf8Consts (const _Jv_Utf8Const *, const _Jv_Utf8Const *); extern jboolean _Jv_equalUtf8Consts (const _Jv_Utf8Const *, const _Jv_Utf8Const *);
extern jboolean _Jv_equal (_Jv_Utf8Const *, jstring, jint); extern jboolean _Jv_equal (_Jv_Utf8Const *, jstring, jint);
......
...@@ -47,7 +47,7 @@ _Jv_InterpreterEngine _Jv_soleInterpreterEngine; ...@@ -47,7 +47,7 @@ _Jv_InterpreterEngine _Jv_soleInterpreterEngine;
using namespace gcj; using namespace gcj;
static void throw_internal_error (char *msg) static void throw_internal_error (const char *msg)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
static void throw_incompatible_class_change_error (jstring msg) static void throw_incompatible_class_change_error (jstring msg)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
...@@ -58,7 +58,7 @@ static void throw_null_pointer_exception () ...@@ -58,7 +58,7 @@ static void throw_null_pointer_exception ()
static void throw_class_format_error (jstring msg) static void throw_class_format_error (jstring msg)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
static void throw_class_format_error (char *msg) static void throw_class_format_error (const char *msg)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
#ifdef DIRECT_THREADED #ifdef DIRECT_THREADED
...@@ -3294,7 +3294,7 @@ _Jv_InterpMethod::run (void *retp, ffi_raw *args, _Jv_InterpMethod *meth) ...@@ -3294,7 +3294,7 @@ _Jv_InterpMethod::run (void *retp, ffi_raw *args, _Jv_InterpMethod *meth)
} }
static void static void
throw_internal_error (char *msg) throw_internal_error (const char *msg)
{ {
throw new java::lang::InternalError (JvNewStringLatin1 (msg)); throw new java::lang::InternalError (JvNewStringLatin1 (msg));
} }
...@@ -3817,7 +3817,7 @@ throw_class_format_error (jstring msg) ...@@ -3817,7 +3817,7 @@ throw_class_format_error (jstring msg)
} }
static void static void
throw_class_format_error (char *msg) throw_class_format_error (const char *msg)
{ {
throw_class_format_error (JvNewStringLatin1 (msg)); throw_class_format_error (JvNewStringLatin1 (msg));
} }
......
...@@ -261,7 +261,7 @@ jclass _Jv_NewClass (_Jv_Utf8Const *name, jclass superclass, ...@@ -261,7 +261,7 @@ jclass _Jv_NewClass (_Jv_Utf8Const *name, jclass superclass,
void _Jv_InitNewClassFields (jclass klass); void _Jv_InitNewClassFields (jclass klass);
// Friend functions and classes in prims.cc // Friend functions and classes in prims.cc
void _Jv_InitPrimClass (jclass, char *, char, int); void _Jv_InitPrimClass (jclass, const char *, char, int);
jstring _Jv_GetMethodString (jclass, _Jv_Method *, jclass = NULL); jstring _Jv_GetMethodString (jclass, _Jv_Method *, jclass = NULL);
jboolean _Jv_CheckAccess (jclass self_klass, jclass other_klass, jboolean _Jv_CheckAccess (jclass self_klass, jclass other_klass,
...@@ -494,7 +494,7 @@ private: ...@@ -494,7 +494,7 @@ private:
friend void ::_Jv_InitNewClassFields (jclass klass); friend void ::_Jv_InitNewClassFields (jclass klass);
// in prims.cc // in prims.cc
friend void ::_Jv_InitPrimClass (jclass, char *, char, int); friend void ::_Jv_InitPrimClass (jclass, const char *, char, int);
friend jstring (::_Jv_GetMethodString) (jclass, _Jv_Method *, jclass); friend jstring (::_Jv_GetMethodString) (jclass, _Jv_Method *, jclass);
......
...@@ -1848,9 +1848,9 @@ _Jv_Linker::print_class_loaded (jclass klass) ...@@ -1848,9 +1848,9 @@ _Jv_Linker::print_class_loaded (jclass klass)
} }
} }
if (codesource == NULL) if (codesource == NULL)
codesource = "<no code source>"; codesource = (char *) "<no code source>";
char *abi; const char *abi;
if (_Jv_IsInterpretedClass (klass)) if (_Jv_IsInterpretedClass (klass))
abi = "bytecode"; abi = "bytecode";
else if (_Jv_IsBinaryCompatibilityABI (klass)) else if (_Jv_IsBinaryCompatibilityABI (klass))
......
...@@ -353,7 +353,7 @@ _Jv_equalUtf8Classnames (const Utf8Const *a, const Utf8Const *b) ...@@ -353,7 +353,7 @@ _Jv_equalUtf8Classnames (const Utf8Const *a, const Utf8Const *b)
/* Count the number of Unicode chars encoded in a given Ut8 string. */ /* Count the number of Unicode chars encoded in a given Ut8 string. */
int int
_Jv_strLengthUtf8(char* str, int len) _Jv_strLengthUtf8(const char* str, int len)
{ {
unsigned char* ptr; unsigned char* ptr;
unsigned char* limit; unsigned char* limit;
...@@ -374,7 +374,7 @@ _Jv_strLengthUtf8(char* str, int len) ...@@ -374,7 +374,7 @@ _Jv_strLengthUtf8(char* str, int len)
* This returns the same hash value as specified or java.lang.String.hashCode. * This returns the same hash value as specified or java.lang.String.hashCode.
*/ */
jint jint
_Jv_hashUtf8String (char* str, int len) _Jv_hashUtf8String (const char* str, int len)
{ {
unsigned char* ptr = (unsigned char*) str; unsigned char* ptr = (unsigned char*) str;
unsigned char* limit = ptr + len; unsigned char* limit = ptr + len;
...@@ -391,7 +391,7 @@ _Jv_hashUtf8String (char* str, int len) ...@@ -391,7 +391,7 @@ _Jv_hashUtf8String (char* str, int len)
} }
void void
_Jv_Utf8Const::init(char *s, int len) _Jv_Utf8Const::init(const char *s, int len)
{ {
::memcpy (data, s, len); ::memcpy (data, s, len);
data[len] = 0; data[len] = 0;
...@@ -400,7 +400,7 @@ _Jv_Utf8Const::init(char *s, int len) ...@@ -400,7 +400,7 @@ _Jv_Utf8Const::init(char *s, int len)
} }
_Jv_Utf8Const * _Jv_Utf8Const *
_Jv_makeUtf8Const (char* s, int len) _Jv_makeUtf8Const (const char* s, int len)
{ {
if (len < 0) if (len < 0)
len = strlen (s); len = strlen (s);
...@@ -794,7 +794,7 @@ DECLARE_PRIM_TYPE(double) ...@@ -794,7 +794,7 @@ DECLARE_PRIM_TYPE(double)
DECLARE_PRIM_TYPE(void) DECLARE_PRIM_TYPE(void)
void void
_Jv_InitPrimClass (jclass cl, char *cname, char sig, int len) _Jv_InitPrimClass (jclass cl, const char *cname, char sig, int len)
{ {
using namespace java::lang::reflect; using namespace java::lang::reflect;
......
...@@ -206,7 +206,7 @@ private: ...@@ -206,7 +206,7 @@ private:
return r; return r;
} }
__attribute__ ((__noreturn__)) void verify_fail (char *s, jint pc = -1) __attribute__ ((__noreturn__)) void verify_fail (const char *s, jint pc = -1)
{ {
using namespace java::lang; using namespace java::lang;
StringBuffer *buf = new StringBuffer (); StringBuffer *buf = new StringBuffer ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment