* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110767
138bc75d-0d04-0410-961f-
82ee72b054a4
+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>
PR libgcj/26063, PR libgcj/17978, PR libgcj/10598:
// these go in some separate functions, to avoid having _Jv_InitClass
// inserted all over the place.
-static void throw_internal_error (char *msg)
+static void throw_internal_error (const char *msg)
__attribute__ ((__noreturn__));
static void throw_no_class_def_found_error (jstring msg)
__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__));
static void throw_class_format_error (jstring msg)
__attribute__ ((__noreturn__));
void read_one_method_attribute (int method);
void read_one_code_attribute (int method);
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 */
- 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 */
void handleConstantPool ();
}
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);
int len = get2u (bytes+offsets[index]);
}
}
-void _Jv_ClassReader::throw_class_format_error (char *msg)
+void _Jv_ClassReader::throw_class_format_error (const char *msg)
{
jstring str;
if (def->name != NULL)
}
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));
}
}
static void
-throw_internal_error (char *msg)
+throw_internal_error (const char *msg)
{
throw new java::lang::InternalError (JvNewStringLatin1 (msg));
}
__attribute__((__malloc__));
extern "C" jsize _Jv_GetStringUTFLength (jstring);
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
{
jstring toString() { return _Jv_NewStringUTF(data); }
/** Given an UTF8 string, how many bytes needed for a UTF8Const,
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; }
/** 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_equal (_Jv_Utf8Const*, jstring, jint);
friend jboolean _Jv_equaln (_Jv_Utf8Const*, jstring, jint);
friend jboolean _Jv_equalUtf8Classnames (const _Jv_Utf8Const*,
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 jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const*);
};
#if ! defined (DEFAULT_FILE_ENCODING) && defined (HAVE_ICONV) \
&& defined (HAVE_NL_LANGINFO)
-static char *
+static const char *
file_encoding ()
{
setlocale (LC_CTYPE, "");
- char *e = nl_langinfo (CODESET);
+ const char *e = nl_langinfo (CODESET);
if (e == NULL || *e == '\0')
e = "8859_1";
return e;
#define DEFAULT_FILE_ENCODING "8859_1"
#endif
-static char *default_file_encoding = DEFAULT_FILE_ENCODING;
+static const char *default_file_encoding = DEFAULT_FILE_ENCODING;
#if HAVE_GETPWUID_R
/* Use overload resolution to find out the signature of getpwuid_r. */
? (((PTR)[-3]&0x0F) << 12) + (((PTR)[-2]&0x3F) << 6) + ((PTR)[-1]&0x3F) \
: ((PTR)++, -1))
-extern int _Jv_strLengthUtf8(char* str, int len);
+extern int _Jv_strLengthUtf8(const char* str, int len);
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);
extern jboolean _Jv_equalUtf8Consts (const _Jv_Utf8Const *, const _Jv_Utf8Const *);
extern jboolean _Jv_equal (_Jv_Utf8Const *, jstring, jint);
using namespace gcj;
-static void throw_internal_error (char *msg)
+static void throw_internal_error (const char *msg)
__attribute__ ((__noreturn__));
static void throw_incompatible_class_change_error (jstring msg)
__attribute__ ((__noreturn__));
static void throw_class_format_error (jstring msg)
__attribute__ ((__noreturn__));
-static void throw_class_format_error (char *msg)
+static void throw_class_format_error (const char *msg)
__attribute__ ((__noreturn__));
#ifdef DIRECT_THREADED
}
static void
-throw_internal_error (char *msg)
+throw_internal_error (const char *msg)
{
throw new java::lang::InternalError (JvNewStringLatin1 (msg));
}
}
static void
-throw_class_format_error (char *msg)
+throw_class_format_error (const char *msg)
{
throw_class_format_error (JvNewStringLatin1 (msg));
}
void _Jv_InitNewClassFields (jclass klass);
// 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);
jboolean _Jv_CheckAccess (jclass self_klass, jclass other_klass,
friend void ::_Jv_InitNewClassFields (jclass klass);
// 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);
}
}
if (codesource == NULL)
- codesource = "<no code source>";
+ codesource = (char *) "<no code source>";
- char *abi;
+ const char *abi;
if (_Jv_IsInterpretedClass (klass))
abi = "bytecode";
else if (_Jv_IsBinaryCompatibilityABI (klass))
/* Count the number of Unicode chars encoded in a given Ut8 string. */
int
-_Jv_strLengthUtf8(char* str, int len)
+_Jv_strLengthUtf8(const char* str, int len)
{
unsigned char* ptr;
unsigned char* limit;
* This returns the same hash value as specified or java.lang.String.hashCode.
*/
jint
-_Jv_hashUtf8String (char* str, int len)
+_Jv_hashUtf8String (const char* str, int len)
{
unsigned char* ptr = (unsigned char*) str;
unsigned char* limit = ptr + len;
}
void
-_Jv_Utf8Const::init(char *s, int len)
+_Jv_Utf8Const::init(const char *s, int len)
{
::memcpy (data, s, len);
data[len] = 0;
}
_Jv_Utf8Const *
-_Jv_makeUtf8Const (char* s, int len)
+_Jv_makeUtf8Const (const char* s, int len)
{
if (len < 0)
len = strlen (s);
DECLARE_PRIM_TYPE(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;
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;
StringBuffer *buf = new StringBuffer ();