Commit 07b78716 by Andrew Haley Committed by Andrew Haley

Makefile.def: Remove libjava.

2016-09-30  Andrew Haley  <aph@redhat.com>

	* Makefile.def: Remove libjava.
	* Makefile.tpl: Likewise.
	* Makefile.in: Regenerate.
	* configure.ac: Likewise.
	* configure: Likewise.
	* gcc/java: Remove.
	* libjava: Likewise.

From-SVN: r240662
parent eae99394

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

2016-09-30 Andrew Haley <aph@redhat.com>
* Makefile.def: Remove libjava.
* Makefile.tpl: Likewise.
* Makefile.in: Regenerate.
* configure.ac: Likewise.
* configure: Likewise.
* gcc/java: Remove.
* libjava: Likewise.
2016-09-28 Claudiu Zissulescu <claziss@synopsys.com>
* MAINTAINERS (Reviewers): Add myself.
......
This source diff could not be displayed because it is too large. You can view the blob instead.
2014-10-27 David Malcolm <dmalcolm@redhat.com>
Patch autogenerated by rename_gimple_subclasses.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 7d754b63ff2bf47226a67b2c0af5d74b54d4709f
* java-gimplify.c (java_gimplify_block): Rename gimple subclass types.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_bind and use it for accessors.
* java-gimplify.c (java_gimplify_block): Update local to be a
gimple_bind rather than just a gimple.
Copyright (C) 2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
2014-09-24 David Malcolm <dmalcolm@redhat.com>
* ChangeLog.jit: Add copyright footer.
2013-10-11 David Malcolm <dmalcolm@redhat.com>
* lang.c (java_handle_option): Update for introduction of
gcc::dump_manager.
Copyright (C) 2013-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
2007-06-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
* except.c (build_exception_object_ref):
Use fold_build1 instead of build1 for NEGATE_EXPR.
2007-05-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
* class.c (make_class_data): Build the index in sizetype.
Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
adding to a pointer type.
(build_symbol_entry): Likewise.
* expr.c (build_java_arrayaccess): Likewise.
(build_field_ref): Likewise.
(build_known_method_ref): Likewise.
(build_invokevirtual): Likewise.
* except.c (build_exception_object_ref): Do a
NEGATIVE and then a POINTER_PLUS_EXPR instead
of a MINUS_EXPR.
Copyright (C) 2007 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
/* Functions related to the Boehm garbage collector.
Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Written by Tom Tromey <tromey@cygnus.com>. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "java-tree.h"
#include "parse.h"
static void mark_reference_fields (tree, wide_int *, unsigned int,
int *, int *, int *, HOST_WIDE_INT *);
/* A procedure-based object descriptor. We know that our
`kind' is 0, and `env' is likewise 0, so we have a simple
computation. From the GC sources:
(((((env) << LOG_MAX_MARK_PROCS) | (proc_index)) << DS_TAG_BITS) \
| DS_PROC)
Here DS_PROC == 2. */
#define PROCEDURE_OBJECT_DESCRIPTOR 2
/* Recursively mark reference fields. */
static void
mark_reference_fields (tree field,
wide_int *mask,
unsigned int ubit,
int *pointer_after_end,
int *all_bits_set,
int *last_set_index,
HOST_WIDE_INT *last_view_index)
{
/* See if we have fields from our superclass. */
if (DECL_NAME (field) == NULL_TREE)
{
mark_reference_fields (TYPE_FIELDS (TREE_TYPE (field)),
mask, ubit,
pointer_after_end, all_bits_set,
last_set_index, last_view_index);
field = DECL_CHAIN (field);
}
for (; field != NULL_TREE; field = DECL_CHAIN (field))
{
HOST_WIDE_INT offset;
HOST_WIDE_INT size_bytes;
if (FIELD_STATIC (field))
continue;
offset = int_byte_position (field);
size_bytes = int_size_in_bytes (TREE_TYPE (field));
if (JREFERENCE_TYPE_P (TREE_TYPE (field))
/* An `object' of type gnu.gcj.RawData is actually non-Java
data. */
&& TREE_TYPE (field) != rawdata_ptr_type_node)
{
unsigned int count;
unsigned int size_words;
unsigned int i;
/* If this reference slot appears to overlay a slot we think
we already covered, then we are doomed. */
gcc_assert (offset > *last_view_index);
if (offset % (HOST_WIDE_INT) (POINTER_SIZE / BITS_PER_UNIT))
{
*all_bits_set = -1;
*pointer_after_end = 1;
break;
}
count = offset * BITS_PER_UNIT / POINTER_SIZE;
size_words = size_bytes * BITS_PER_UNIT / POINTER_SIZE;
*last_set_index = count;
if (count >= ubit - 2)
*pointer_after_end = 1;
else
/* First word in object corresponds to most significant byte of
bitmap.
In the case of a multiple-word record, we set pointer
bits for all words in the record. This is conservative, but the
size_words != 1 case is impossible in regular java code. */
for (i = 0; i < size_words; ++i)
*mask = wi::set_bit (*mask, ubit - count - i - 1);
/* If we saw a non-reference field earlier, then we can't
use the count representation. We keep track of that in
*ALL_BITS_SET. */
if (! *all_bits_set)
*all_bits_set = -1;
}
else if (*all_bits_set > 0)
*all_bits_set = 0;
*last_view_index = offset;
}
}
/* Return the marking bitmap for the class TYPE. For now this is a
single word describing the type. */
tree
get_boehm_type_descriptor (tree type)
{
unsigned int count, log2_size, ubit;
int bit;
int all_bits_set = 1;
int last_set_index = 0;
HOST_WIDE_INT last_view_index = -1;
int pointer_after_end = 0;
tree field, value, value_type;
/* If the GC wasn't requested, just use a null pointer. */
if (! flag_use_boehm_gc)
return null_pointer_node;
value_type = java_type_for_mode (ptr_mode, 1);
wide_int mask = wi::zero (TYPE_PRECISION (value_type));
/* If we have a type of unknown size, use a proc. */
if (int_size_in_bytes (type) == -1)
goto procedure_object_descriptor;
bit = POINTER_SIZE / BITS_PER_UNIT;
/* The size of this node has to be known. And, we only support 32
and 64 bit targets, so we need to know that the log2 is one of
our values. */
log2_size = exact_log2 (bit);
if (bit == -1 || (log2_size != 2 && log2_size != 3))
{
/* This means the GC isn't supported. We should probably
abort or give an error. Instead, for now, we just silently
revert. FIXME. */
return null_pointer_node;
}
bit *= BITS_PER_UNIT;
/* Warning avoidance. */
ubit = (unsigned int) bit;
if (type == class_type_node)
goto procedure_object_descriptor;
field = TYPE_FIELDS (type);
mark_reference_fields (field, &mask, ubit,
&pointer_after_end, &all_bits_set,
&last_set_index, &last_view_index);
/* If the object is all pointers, or if the part with pointers fits
in our bitmap, then we are ok. Otherwise we have to allocate it
a different way. */
if (all_bits_set != -1 || (pointer_after_end && flag_reduced_reflection))
{
/* In this case the initial part of the object is all reference
fields, and the end of the object is all non-reference
fields. We represent the mark as a count of the fields,
shifted. In the GC the computation looks something like
this:
value = DS_LENGTH | WORDS_TO_BYTES (last_set_index + 1);
DS_LENGTH is 0.
WORDS_TO_BYTES shifts by log2(bytes-per-pointer).
In the case of flag_reduced_reflection and the bitmap would
overflow, we tell the gc that the object is all pointers so
that we don't have to emit reflection data for run time
marking. */
count = 0;
mask = wi::zero (TYPE_PRECISION (value_type));
++last_set_index;
while (last_set_index)
{
if ((last_set_index & 1))
mask = wi::set_bit (mask, log2_size + count);
last_set_index >>= 1;
++count;
}
value = wide_int_to_tree (value_type, mask);
}
else if (! pointer_after_end)
{
/* Bottom two bits for bitmap mark type are 01. */
mask = wi::set_bit (mask, 0);
value = wide_int_to_tree (value_type, mask);
}
else
{
procedure_object_descriptor:
value = build_int_cst (value_type, PROCEDURE_OBJECT_DESCRIPTOR);
}
return value;
}
/* The fourth (index of 3) element in the vtable is the GC descriptor.
A value of 2 indicates that the class uses _Jv_MarkObj. */
bool
uses_jv_markobj_p (tree dtable)
{
tree v;
/* FIXME: what do we return if !flag_use_boehm_gc ? */
gcc_assert (flag_use_boehm_gc);
/* FIXME: this is wrong if TARGET_VTABLE_USES_DESCRIPTORS. However,
this function is only used with flag_reduced_reflection. No
point in asserting unless we hit the bad case. */
gcc_assert (!flag_reduced_reflection || TARGET_VTABLE_USES_DESCRIPTORS == 0);
v = (*CONSTRUCTOR_ELTS (dtable))[3].value;
return (PROCEDURE_OBJECT_DESCRIPTOR == TREE_INT_CST_LOW (v));
}
# Top level configure fragment for the GNU compiler for the Java(TM)
# language.
# Copyright (C) 1994-2016 Free Software Foundation, Inc.
#This file is part of GCC.
#GCC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 3, or (at your option)
#any later version.
#GCC is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING3. If not see
#<http://www.gnu.org/licenses/>.
#Java and all Java-based marks are trademarks or registered trademarks
#of Sun Microsystems, Inc. in the United States and other countries.
#The Free Software Foundation is independent of Sun Microsystems, Inc.
# Configure looks for the existence of this file to auto-config each language.
# We define several parameters used by configure:
#
# language - name of language as it would appear in $(LANGUAGES)
# compilers - value to add to $(COMPILERS)
language="java"
compilers="jc1\$(exeext) jvgenmain\$(exeext)"
gtfiles="\$(srcdir)/java/java-tree.h \$(srcdir)/java/jcf.h \$(srcdir)/java/parse.h \$(srcdir)/java/builtins.c \$(srcdir)/java/class.c \$(srcdir)/java/constants.c \$(srcdir)/java/decl.c \$(srcdir)/java/expr.c \$(srcdir)/java/jcf-parse.c \$(srcdir)/java/lang.c \$(srcdir)/java/mangle.c \$(srcdir)/java/resource.c"
target_libs=${libgcj_saved}
lang_dirs="fastjar"
#build_by_default=no
lang_requires=c++
This source diff could not be displayed because it is too large. You can view the blob instead.
/* Definitions for exception handling for use by the GNU compiler
for the Java(TM) language compiler.
Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
struct eh_range
{
/* The (byte-code PC) range of the handled block. */
int start_pc;
int end_pc;
/* A list of handlers. For each element in the list,
the TREE_PURPOSE is the handled class (NULL_EXPR for a finally block),
and the TREE_VALUE is the LABEL_DECL of the handler. */
tree handlers;
/* Surrounding handler, if any. */
struct eh_range *outer;
/* The first child range. It is nested inside this range
(i.e. this.start_pc <= first_child.end_pc
&& this.end_pc >= first_child.end_pc).
The children are linked together using next_sibling, and are sorted
by increasing start_pc and end_pc (we do not support non-nested
overlapping ranges). */
struct eh_range *first_child;
/* The next child of outer, in address order. */
struct eh_range *next_sibling;
/* True if this range has already been expanded. */
int expanded;
/* The TRY_CATCH_EXPR for this EH range. */
tree stmt;
};
/* A dummy range that represents the entire method. */
extern struct eh_range whole_range;
#define NULL_EH_RANGE (&whole_range)
extern struct eh_range * find_handler (int);
extern void method_init_exceptions (void);
extern void maybe_start_try (int, int);
extern void add_handler (int, int, tree, tree);
extern void expand_end_java_handler (struct eh_range *);
extern bool sanity_check_exception_range (struct eh_range *);
/* Java(TM) language-specific gimplification routines.
Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "function.h"
#include "basic-block.h"
#include "tree.h"
#include "gimple.h"
#include "java-tree.h"
#include "dumpfile.h"
#include "gimplify.h"
static tree java_gimplify_block (tree);
static enum gimplify_status java_gimplify_modify_expr (tree *);
static enum gimplify_status java_gimplify_self_mod_expr (tree *, gimple_seq *,
gimple_seq *);
static void dump_java_tree (enum tree_dump_index, tree);
/* Convert a Java tree to GENERIC. */
void
java_genericize (tree fndecl)
{
walk_tree (&DECL_SAVED_TREE (fndecl), java_replace_references, NULL, NULL);
dump_java_tree (TDI_original, fndecl);
}
/* Gimplify a Java tree. */
int
java_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
{
enum tree_code code = TREE_CODE (*expr_p);
switch (code)
{
case BLOCK:
*expr_p = java_gimplify_block (*expr_p);
break;
case MODIFY_EXPR:
return java_gimplify_modify_expr (expr_p);
case POSTINCREMENT_EXPR:
case POSTDECREMENT_EXPR:
case PREINCREMENT_EXPR:
case PREDECREMENT_EXPR:
return java_gimplify_self_mod_expr (expr_p, pre_p, post_p);
/* These should already be lowered before we get here. */
case URSHIFT_EXPR:
case COMPARE_EXPR:
case COMPARE_L_EXPR:
case COMPARE_G_EXPR:
gcc_unreachable ();
default:
return GS_UNHANDLED;
}
return GS_OK;
}
static enum gimplify_status
java_gimplify_modify_expr (tree *modify_expr_p)
{
tree modify_expr = *modify_expr_p;
tree lhs = TREE_OPERAND (modify_expr, 0);
tree rhs = TREE_OPERAND (modify_expr, 1);
tree lhs_type = TREE_TYPE (lhs);
if (lhs_type != TREE_TYPE (rhs))
/* Fix up type mismatches to make legal GIMPLE. These are
generated in several places, in particular null pointer
assignment and subclass assignment. */
TREE_OPERAND (modify_expr, 1) = convert (lhs_type, rhs);
return GS_UNHANDLED;
}
/* Special case handling for volatiles: we need to generate a barrier
between the reading and the writing. */
static enum gimplify_status
java_gimplify_self_mod_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
gimple_seq *post_p ATTRIBUTE_UNUSED)
{
tree lhs = TREE_OPERAND (*expr_p, 0);
if (TREE_CODE (lhs) == COMPONENT_REF
&& TREE_THIS_VOLATILE (TREE_OPERAND (lhs, 1)))
TREE_THIS_VOLATILE (lhs) = 1;
return GS_UNHANDLED;
}
/* Gimplify BLOCK into a BIND_EXPR. */
static tree
java_gimplify_block (tree java_block)
{
tree decls = BLOCK_VARS (java_block);
tree body = BLOCK_EXPR_BODY (java_block);
gbind *outer = gimple_current_bind_expr ();
tree block;
/* Don't bother with empty blocks. */
if (! body)
return build_empty_stmt (input_location);
if (IS_EMPTY_STMT (body))
return body;
/* Make a proper block. Java blocks are unsuitable for BIND_EXPR
because they use BLOCK_SUBBLOCKS for another purpose. */
block = make_node (BLOCK);
BLOCK_VARS (block) = decls;
/* The TREE_USED flag on a block determines whether the debug output
routines generate info for the variables in that block. */
TREE_USED (block) = 1;
if (outer != NULL)
{
tree b = gimple_bind_block (outer);
BLOCK_SUBBLOCKS (b) = chainon (BLOCK_SUBBLOCKS (b), block);
}
BLOCK_EXPR_BODY (java_block) = NULL_TREE;
return build3 (BIND_EXPR, TREE_TYPE (java_block), decls, body, block);
}
/* Dump a tree of some kind. This is a convenience wrapper for the
dump_* functions in tree-dump.c. */
static void
dump_java_tree (enum tree_dump_index phase, tree t)
{
FILE *stream;
int flags;
stream = dump_begin (phase, &flags);
flags |= TDF_SLIM;
if (stream)
{
dump_node (t, flags, stream);
dump_end (phase, stream);
}
}
enum java_opcode {
#define JAVAOP(NAME, CODE, KIND, TYPE, VALUE) OPCODE_##NAME = CODE,
#include "javaop.def"
#undef JAVAOP
LAST_AND_UNUSED_JAVA_OPCODE
};
/* This file contains the definitions and documentation for the
extra tree codes used by gcj.
Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Shift right, logical. */
DEFTREECODE (URSHIFT_EXPR, "urshift_expr", tcc_binary, 2)
/* Return -1, 0, 1 depending on whether the first argument is
less, equal, or greater to the second argument. */
DEFTREECODE (COMPARE_EXPR, "compare_expr", tcc_binary, 2)
/* Same as COMPARE_EXPR, but if either value is NaN, the result is -1. */
DEFTREECODE (COMPARE_L_EXPR, "compare_l_expr", tcc_binary, 2)
/* Same as COMPARE_EXPR, but if either value is NaN, the result is 1. */
DEFTREECODE (COMPARE_G_EXPR, "compare_g_expr", tcc_binary, 2)
/*
Local variables:
mode:c
End:
*/
/* Utility macros to handle Java(TM) byte codes.
Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Written by Per Bothner <bothner@cygnus.com>, February 1996. */
#ifndef GCC_JAVAOP_H
#define GCC_JAVAOP_H
typedef unsigned char uint8;
#ifndef int16
#if __SHRT_MAX__ == 32767
#define int16 short
#elif __INT_MAX__ == 32767
#define int16 int
#elif __LONG_MAX__ == 32767
#define int16 long
#else
#define int16 short
#endif
#endif
typedef unsigned int16 uint16;
#ifndef int32
#if __INT_MAX__ == 2147483647
#define int32 int
#elif __LONG_MAX__ == 2147483647
#define int32 long
#elif __SHRT_MAX__ == 2147483647
#define int32 short
#else
#define int32 int
#endif
#endif
typedef unsigned int32 uint32;
/* A signed 64-bit (or more) integral type, suitable for Java's 'long'. */
#ifndef int64
#if __LONG_MAX__ == 9223372036854775807LL
#define int64 long
#elif __LONG_LONG_MAX__ == 9223372036854775807LL
#define int64 long long
#else
#define int64 long long
#endif
#endif
/* An unsigned 64-bit (or more) integral type, same length as int64. */
#ifndef uint64
#define uint64 unsigned int64
#endif
typedef uint16 jchar;
typedef signed char jbyte;
typedef int16 jshort;
typedef int32 jint;
typedef int64 jlong;
typedef void* jref;
/* A 32-bit big-endian IEEE single-precision float. */
typedef struct _jfloat {
unsigned int negative : 1;
unsigned int exponent : 8;
unsigned int mantissa : 23;
} jfloat;
#define JFLOAT_FINITE(f) ((f).exponent != 0xFF)
#define JFLOAT_QNAN_MASK 0x400000
#define JFLOAT_EXP_BIAS 0x7f
/* A 32-bit big-endian IEEE double-precision float. */
typedef struct _jdouble {
unsigned int negative : 1;
unsigned int exponent : 11;
unsigned int mantissa0: 20;
unsigned int mantissa1: 32;
} jdouble;
#define JDOUBLE_FINITE(f) ((f).exponent != 0x7FF)
#define JDOUBLE_QNAN_MASK 0x80000 /* apply to mantissa0 */
#define JDOUBLE_EXP_BIAS 0x3ff
/* A jword is an unsigned integral type big enough for a 32-bit jint
or jfloat *or* a pointer. It is the type appropriate for stack
locations and local variables in a Java interpreter. */
#ifndef jword
#if defined (__LP64__) || defined (__alpha__) || defined (__MMIX__) \
|| (defined (_ARCH_PPC) && defined (__64BIT__)) \
|| defined (__powerpc64__) || defined (__s390x__) || defined (__x86_64__) \
|| defined (__sparcv9) || (defined (__sparc__) && defined (__arch64__))
#define jword uint64
#else
#define jword uint32
#endif
#endif
#ifndef IMMEDIATE_u1
#define IMMEDIATE_u1 (PC++, CHECK_PC_IN_RANGE(PC), BCODE[PC-1])
#endif
#ifndef IMMEDIATE_s1
#define IMMEDIATE_s1 (PC++, CHECK_PC_IN_RANGE(PC), (signed char)BCODE[PC-1])
#endif
#ifndef IMMEDIATE_s2
#define IMMEDIATE_s2 (PC+=2, CHECK_PC_IN_RANGE(PC), \
(signed char) BCODE[PC-2] * 256 + BCODE[PC-1])
#endif
#ifndef IMMEDIATE_u2
#define IMMEDIATE_u2 (PC+=2, CHECK_PC_IN_RANGE(PC),\
(BCODE[PC-2] * 256 + BCODE[PC-1]))
#endif
#ifndef IMMEDIATE_s4
#define IMMEDIATE_s4 (PC+=4, CHECK_PC_IN_RANGE(PC), \
(WORD_TO_INT((BCODE[PC-4] << 24) | (BCODE[PC-3] << 16) \
| (BCODE[PC-2] << 8) | (BCODE[PC-1]))))
#endif
static inline jfloat
WORD_TO_FLOAT(jword w)
{
jfloat f;
f.negative = (w & 0x80000000) >> 31;
f.exponent = (w & 0x7f800000) >> 23;
f.mantissa = (w & 0x007fffff);
return f;
}
/* Sign extend w. If the host on which this cross-compiler runs uses
a 64-bit type for jword the appropriate sign extension is
performed; if it's a 32-bit type the arithmetic does nothing but is
harmless. */
static inline jint
WORD_TO_INT(jword w)
{
jint n = w & 0xffffffff; /* Mask lower 32 bits. */
n ^= (jint)1 << 31;
n -= (uint32)1 << 31; /* Sign extend lower 32 bits to upper. */
return n;
}
static inline jlong
WORDS_TO_LONG(jword hi, jword lo)
{
return ((jlong) hi << 32) | ((jlong)lo & (((jlong)1 << 32) -1));
}
static inline jdouble
WORDS_TO_DOUBLE(jword hi, jword lo)
{
jdouble d;
d.negative = (hi & 0x80000000) >> 31;
d.exponent = (hi & 0x7ff00000) >> 20;
d.mantissa0 = (hi & 0x000fffff);
d.mantissa1 = lo;
return d;
}
/* If PREFIX_CHAR is the first character of the Utf8 encoding of a character,
return the number of bytes taken by the encoding.
Return -1 for a continuation character. */
#define UT8_CHAR_LENGTH(PREFIX_CHAR) \
((unsigned char)(PREFIX_CHAR) < 128 ? 1 \
: ((PREFIX_CHAR) & 0x40) == 0 ? -1 \
: ((PREFIX_CHAR) & 0x20) == 0 ? 2 \
: ((PREFIX_CHAR) & 0x10) == 0 ? 3 \
: ((PREFIX_CHAR) & 0x08) == 0 ? 4 : 5)
#endif /* ! GCC_JAVAOP_H */
/* Functions for handling dependency tracking when reading .class files.
Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Written by Tom Tromey <tromey@cygnus.com>, October 1998. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "mkdeps.h"
#include "jcf.h"
/* The dependency structure used for this invocation. */
struct deps *dependencies;
/* The output file, or NULL if we aren't doing dependency tracking. */
static FILE *dep_out = NULL;
/* Nonzero if system files should be added. */
static int system_files;
/* Nonzero if we are dumping out dummy dependencies. */
static int print_dummies;
/* Call this to reset the dependency module. This is required if
multiple dependency files are being generated from a single tool
invocation. FIXME: we should change our API or just completely use
the one in mkdeps.h. */
void
jcf_dependency_reset (void)
{
if (dep_out != NULL)
{
if (dep_out != stdout)
fclose (dep_out);
dep_out = NULL;
}
if (dependencies != NULL)
{
deps_free (dependencies);
dependencies = NULL;
}
}
void
jcf_dependency_set_target (const char *name)
{
/* We just handle this the same as an `add_target'. */
if (dependencies != NULL && name != NULL)
deps_add_target (dependencies, name, 1);
}
void
jcf_dependency_add_target (const char *name)
{
if (dependencies != NULL)
deps_add_target (dependencies, name, 1);
}
void
jcf_dependency_set_dep_file (const char *name)
{
gcc_assert (dep_out != stdout);
if (dep_out)
fclose (dep_out);
if (! strcmp (name, "-"))
dep_out = stdout;
else
dep_out = fopen (name, "w");
}
void
jcf_dependency_add_file (const char *filename ATTRIBUTE_UNUSED, int system_p)
{
if (! dependencies)
return;
/* Just omit system files. */
if (system_p && ! system_files)
return;
/* FIXME: Don't emit any dependencies. In many cases we'll just see
temporary files emitted by ecj... */
/* deps_add_dep (dependencies, filename); */
}
void
jcf_dependency_init (int system_p)
{
gcc_assert (! dependencies);
system_files = system_p;
dependencies = deps_init ();
}
void
jcf_dependency_print_dummies (void)
{
print_dummies = 1;
}
void
jcf_dependency_write (void)
{
if (! dep_out)
return;
gcc_assert (dependencies);
deps_write (dependencies, dep_out, 72);
if (print_dummies)
deps_phony_targets (dependencies, dep_out);
fflush (dep_out);
}
/* Program to generate "main" a Java(TM) class containing a main method.
Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Written by Per Bothner <bothner@cygnus.com> */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tree.h"
#include "diagnostic.h"
#include "java-tree.h"
#include "intl.h"
static char * do_mangle_classname (const char *string);
struct obstack name_obstack;
struct obstack *mangle_obstack = &name_obstack;
static void usage (const char *) ATTRIBUTE_NORETURN;
static void
usage (const char *name)
{
fprintf (stderr, _("Usage: %s [OPTIONS]... CLASSNAMEmain [OUTFILE]\n"),
name);
exit (1);
}
int
main (int argc, char **argv)
{
char *classname, *p;
FILE *stream;
const char *mangled_classname;
int i, last_arg;
int indirect = 0;
char *prog_name = argv[0];
p = argv[0] + strlen (argv[0]);
while (p != argv[0] && !IS_DIR_SEPARATOR (p[-1]))
--p;
progname = p;
xmalloc_set_program_name (progname);
/* Unlock the stdio streams. */
unlock_std_streams ();
gcc_init_libintl ();
diagnostic_initialize (global_dc, 0);
if (argc > 1 && ! strcmp (argv[1], "-findirect-dispatch"))
{
indirect = 1;
++argv;
--argc;
}
if (argc < 2)
usage (prog_name);
for (i = 1; i < argc; ++i)
{
if (! strncmp (argv[i], "-D", 2))
{
/* Handled later. Check "-D XXX=YYY". */
if (argv[i][2] == '\0')
i++;
}
else
break;
}
if (i < argc - 2 || i == argc)
usage (prog_name);
last_arg = i;
classname = argv[i];
/* gcj always appends `main' to classname. We need to strip this here. */
p = strrchr (classname, 'm');
if (p == NULL || p == classname || strcmp (p, "main") != 0)
usage (prog_name);
else
*p = '\0';
gcc_obstack_init (mangle_obstack);
mangled_classname = do_mangle_classname (classname);
if (i < argc - 1 && strcmp (argv[i + 1], "-") != 0)
{
const char *outfile = argv[i + 1];
stream = fopen (outfile, "w");
if (stream == NULL)
{
fprintf (stderr, _("%s: Cannot open output file: %s\n"),
prog_name, outfile);
exit (1);
}
}
else
stream = stdout;
/* At this point every element of ARGV from 1 to LAST_ARG is a `-D'
option. Process them appropriately. */
fprintf (stream, "extern const char **_Jv_Compiler_Properties;\n");
if (indirect)
fprintf (stream, "extern void JvRunMainName ();\n");
else
fprintf (stream, "extern void JvRunMain ();\n");
fprintf (stream, "static const char *props[] =\n{\n");
for (i = 1; i < last_arg; ++i)
{
const char *p;
if (strcmp (argv[i], "-D") == 0)
continue;
fprintf (stream, " \"");
for (p = argv[i]; *p; ++p)
{
if (! ISPRINT (*p))
fprintf (stream, "\\%o", *p);
else if (*p == '\\' || *p == '"')
fprintf (stream, "\\%c", *p);
else
putc (*p, stream);
}
fprintf (stream, "\",\n");
}
fprintf (stream, " 0\n};\n\n");
fprintf (stream, "int main (int argc, const char **argv)\n");
fprintf (stream, "{\n");
fprintf (stream, " _Jv_Compiler_Properties = props;\n");
if (indirect)
fprintf (stream, " JvRunMainName (\"%s\", argc, argv);\n", classname);
else
{
fprintf (stream, " extern char %s;\n", mangled_classname);
fprintf (stream, " JvRunMain (&%s, argc, argv);\n", mangled_classname);
}
fprintf (stream, "}\n");
if (stream != stdout && fclose (stream) != 0)
{
fprintf (stderr, _("%s: Failed to close output file %s\n"),
prog_name, argv[2]);
exit (1);
}
return 0;
}
static char *
do_mangle_classname (const char *string)
{
const char *ptr;
int count = 0;
obstack_grow (&name_obstack, "_ZN", 3);
for (ptr = string; *ptr; ptr++ )
{
if (*ptr == '.')
{
append_gpp_mangled_name (ptr - count, count);
count = 0;
}
else
count++;
}
append_gpp_mangled_name (&ptr [-count], count);
obstack_grow (mangle_obstack, "6class$E", strlen ("6class$E"));
obstack_1grow (mangle_obstack, '\0');
return XOBFINISH (mangle_obstack, char *);
}
/* Definitions for specs for the GNU compiler for the Java(TM) language.
Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* This is the contribution to the `default_compilers' array in gcc.c for
Java. */
{".java", "@java" , 0, 0, 0},
{".class", "@java" , 0, 0, 0},
{".zip", "@java" , 0, 0, 0},
{".jar", "@java" , 0, 0, 0},
{"@java",
"%{fjni:%{femit-class-files:%e-fjni and -femit-class-files are incompatible}}\
%{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
%{femit-class-file:%{!fsyntax-only:%e-femit-class-file should used along with -fsyntax-only}}\
%{femit-class-files:%{!fsyntax-only:%e-femit-class-file should used along with -fsyntax-only}}\
%{E:%{e-E is not valid for gcj}}\
%{.java|fsaw-java-file:ecj1 %i %{W*} %{w} %{g*} \
%{fbootclasspath*} \
%{fenable-assertions*} \
%{fdisable-assertions*} \
%{fencoding*} %{ffilelist-file} \
%{foutput-class-dir*} %{g*} \
%{fsource*} %{!fsource*:-fsource=1.5} \
%{ftarget*} %{!femit-class-files|!ftarget*:-ftarget=1.5} \
%{!findirect-dispatch:-fzip-dependency %U.zip} \
%{!fsyntax-only:-fzip-target %U.jar}}\n \
%{.class|.zip|.jar|!fsyntax-only:jc1 \
%{.java|fsaw-java-file:%U.jar -fsource-filename=%i %<ffilelist-file} \
%{.class|.zip|.jar|ffilelist-file|fcompile-resource*:%i} \
%(jc1) %(cc1_options) %{I*} %{!findirect-dispatch:-faux-classpath %U.zip} \
%{MD:-MD_} %{MMD:-MMD_} %{M} %{MM} %{MA} %{MT*} %{MF*}\
%(invoke_as)}",
0, 0, 0},
/*
FIXME: we don't use %|, even though we could, because we need the
dependency zip to be ready early enough. We could work around
this by not having a dependency zip and instead teaching jc1 to
read a special manifest file included in the sole zip, this
manifest would say which files are to be compiled and which are
not.
*/
; Options for the Java front end.
; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING3. If not see
; <http://www.gnu.org/licenses/>.
; See the GCC internals manual for a description of this file's format.
; Please try to keep this file in ASCII collating order.
Language
Java
-CLASSPATH
Java Separate Alias(fclasspath=)
-all-warnings
Java Alias(Wall)
-bootclasspath
Java Separate Alias(fbootclasspath=)
-classpath
Java Separate Alias(fclasspath=)
-dependencies
Java Alias(M)
-encoding
Java Separate Alias(fencoding=)
-extdirs
Java Separate Alias(fextdirs=)
-include-directory
Java Separate Alias(I)
-include-directory=
Java Joined Alias(I)
-output-class-directory
Java Separate Alias(foutput-class-dir=)
-output-class-directory=
Java Joined Alias(foutput-class-dir=)
-resource
Java Separate Alias(fcompile-resource=)
-resource=
Java Joined Alias(fcompile-resource=)
-user-dependencies
Java Alias(MM)
C
Driver
; Java driver option in fact distinct from C-family option with the same name.
CLASSPATH
Java Separate Alias(fclasspath=)
D
Driver Joined Separate
; Java driver option similar to C-family option.
I
Java Joined Separate
; Documented for C
M
Java
; Documented for C
MD_
Java Undocumented RejectDriver
; Documented for C
MF
Java Separate
; Documented for C
MM
Java
; Documented for C
MMD_
Java Undocumented RejectDriver
; Documented for C
MP
Java
; Documented for C
MT
Java Separate
; Documented for C
Wall
Java
; Documented for C
Wdeprecated
Java Var(warn_deprecated)
; Documented for C
Wextraneous-semicolon
Java Var(flag_extraneous_semicolon)
Warn if deprecated empty statements are found.
Wout-of-date
Java Var(flag_newer) Init(1)
Warn if .class files are out of date.
Wredundant-modifiers
Java Var(flag_redundant)
Warn if modifiers are specified when not necessary.
bootclasspath
Java Separate Alias(fbootclasspath=)
classpath
Java Separate Alias(fclasspath=)
d
Java Separate SeparateAlias Alias(foutput-class-dir=)
; Different from language-independent -d with joined argument.
encoding
Java Separate Alias(fencoding=)
extdirs
Driver Separate
fCLASSPATH=
Java JoinedOrMissing RejectNegative Alias(fclasspath=)
--CLASSPATH Deprecated; use --classpath instead.
faux-classpath
Java Separate RejectNegative Undocumented
fassert
Java Var(flag_assert) Init(1)
Permit the use of the assert keyword.
fassume-compiled
Java
fassume-compiled=
Java JoinedOrMissing
fenable-assertions
Java
fenable-assertions=
Java JoinedOrMissing
fdisable-assertions
Java
fdisable-assertions=
Java JoinedOrMissing
fbootclasspath=
Java JoinedOrMissing RejectNegative
--bootclasspath=<path> Replace system path.
fcheck-references
Java Var(flag_check_references)
Generate checks for references to NULL.
fclasspath=
Java JoinedOrMissing RejectNegative
--classpath=<path> Set class path.
fcompile-resource=
Java Joined RejectNegative
femit-class-file
Java Var(flag_emit_class_files)
Output a class file.
femit-class-files
Java Var(flag_emit_class_files)
Alias for -femit-class-file.
fencoding=
Java Joined RejectNegative
--encoding=<encoding> Choose input encoding (defaults from your locale).
fextdirs=
Java Joined RejectNegative
--extdirs=<path> Set the extension directory path.
fmain=
Driver JoinedOrMissing RejectNegative
fsource-filename=
Java Joined Undocumented
ffilelist-file
Java Var(flag_filelist_file)
Input file is a file with a list of filenames to compile.
fsaw-java-file
Java Undocumented RejectNegative
fforce-classes-archive-check
Java Var(flag_force_classes_archive_check)
Always check for non gcj generated classes archives.
fhash-synchronization
Java Var(flag_hash_synchronization)
Assume the runtime uses a hash table to map an object to its synchronization structure.
findirect-classes
Java Var(flag_indirect_classes) Init(1)
Generate instances of Class at runtime.
findirect-dispatch
Java Var(flag_indirect_dispatch)
Use offset tables for virtual method calls.
finline-functions
Java
fjni
Java Var(flag_jni)
Assume native functions are implemented using JNI.
foptimize-static-class-initialization
Java Var(flag_optimize_sci)
Enable optimization of static class initialization code.
foutput-class-dir=
Java Joined RejectNegative
freduced-reflection
Java Var(flag_reduced_reflection)
Reduce the amount of reflection meta-data generated.
fstore-check
Java Var(flag_store_check) Init(1)
Enable assignability checks for stores into object arrays.
fuse-boehm-gc
Java Var(flag_use_boehm_gc)
Generate code for the Boehm GC.
fuse-divide-subroutine
Java Var(flag_use_divide_subroutine) Init(1)
Call a library routine to do integer divisions.
fuse-atomic-builtins
Java Var(flag_use_atomic_builtins) Init(0)
Generate code for built-in atomic operations.
fbootstrap-classes
Java Var(flag_bootstrap_classes)
Generated should be loaded by bootstrap loader.
fsource=
Java Joined
Set the source language version.
ftarget=
Java Joined
Set the target VM version.
s-bc-abi
Driver
static-libgcj
Driver
version
Java RejectDriver
;
; Warnings handled by ecj.
; FIXME: document them
;
Wconstructor-name
Java
Wpkg-default-method
Java
Wmasked-catch-block
Java
Wall-deprecation
Java
Wunused-local
Java
Wunused-argument
Java
Wunused-import
Java
Wunused-private
Java
Wunused-label
Java
Wlocal-hiding
Java
Wfield-hiding
Java
Wspecial-param-hiding
Java
Wcondition-assign
Java
Wsynthetic-access
Java
Wnls
Java
Wstatic-receiver
Java
Windirect-static
Java
Wno-effect-assign
Java
Wintf-non-inherited
Java
Wchar-concat
Java
Wserial
Java
Wempty-block
Java
Wuseless-type-check
Java
Wuncheck
Java
Wraw
Java
Wfinal-bound
Java
Wsuppress
Java
Wwarning-token
Java
Wunnecessary-else
Java
Wjavadoc
Java
Wall-javadoc
Java
Wtasks
Java
Wassert-identifier
Java
Wenum-identifier
Java
Wfinally
Java
Wunused-thrown
Java
Wunqualified-field
Java
Wtype-hiding
Java
Wvarargs-cast
Java
Wnull
Java
Wboxing
Java
Wover-ann
Java
Wdep-ann
Java
Wintf-annotation
Java
Wenum-switch
Java
Whiding
Java
Wstatic-access
Java
Wunused
Java
Wparam-assign
Java
Wdiscouraged
Java
Wforbidden
Java
Wfallthrough
Java
/* Shared functions related to mangling names for the GNU compiler
for the Java(TM) language.
Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Written by Alexandre Petit-Bianco <apbianco@cygnus.com> */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "obstack.h"
#include "diagnostic-core.h"
#include "jcf.h"
static void append_unicode_mangled_name (const char *, int);
#ifndef HAVE_AS_UTF8
static int unicode_mangling_length (const char *, int);
#endif
extern struct obstack *mangle_obstack;
static int
utf8_cmp (const unsigned char *str, int length, const char *name)
{
const unsigned char *limit = str + length;
int i;
for (i = 0; name[i]; ++i)
{
int ch = UTF8_GET (str, limit);
if (ch != name[i])
return ch - name[i];
}
return str == limit ? 0 : 1;
}
/* A sorted list of all C++ keywords. If you change this, be sure
also to change the list in
libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java. */
static const char *const cxx_keywords[] =
{
"_Complex",
"__alignof",
"__alignof__",
"__asm",
"__asm__",
"__attribute",
"__attribute__",
"__builtin_va_arg",
"__complex",
"__complex__",
"__const",
"__const__",
"__extension__",
"__imag",
"__imag__",
"__inline",
"__inline__",
"__label__",
"__null",
"__real",
"__real__",
"__restrict",
"__restrict__",
"__signed",
"__signed__",
"__typeof",
"__typeof__",
"__volatile",
"__volatile__",
"and",
"and_eq",
"asm",
"auto",
"bitand",
"bitor",
"bool",
"break",
"case",
"catch",
"char",
"class",
"compl",
"const",
"const_cast",
"continue",
"default",
"delete",
"do",
"double",
"dynamic_cast",
"else",
"enum",
"explicit",
"export",
"extern",
"false",
"float",
"for",
"friend",
"goto",
"if",
"inline",
"int",
"long",
"mutable",
"namespace",
"new",
"not",
"not_eq",
"operator",
"or",
"or_eq",
"private",
"protected",
"public",
"register",
"reinterpret_cast",
"return",
"short",
"signed",
"sizeof",
"static",
"static_cast",
"struct",
"switch",
"template",
"this",
"throw",
"true",
"try",
"typedef",
"typeid",
"typename",
"typeof",
"union",
"unsigned",
"using",
"virtual",
"void",
"volatile",
"wchar_t",
"while",
"xor",
"xor_eq"
};
/* Return true if NAME is a C++ keyword. */
int
cxx_keyword_p (const char *name, int length)
{
int last = ARRAY_SIZE (cxx_keywords);
int first = 0;
int mid = (last + first) / 2;
int old = -1;
for (mid = (last + first) / 2;
mid != old;
old = mid, mid = (last + first) / 2)
{
int kwl = strlen (cxx_keywords[mid]);
int min_length = kwl > length ? length : kwl;
int r = utf8_cmp ((const unsigned char *) name, min_length, cxx_keywords[mid]);
if (r == 0)
{
int i;
/* We've found a match if all the remaining characters are `$'. */
for (i = min_length; i < length && name[i] == '$'; ++i)
;
if (i == length)
return 1;
r = 1;
}
if (r < 0)
last = mid;
else
first = mid;
}
return 0;
}
/* If NAME happens to be a C++ keyword, add `$'. */
#define MANGLE_CXX_KEYWORDS(NAME, LEN) \
do \
{ \
if (cxx_keyword_p ((NAME), (LEN))) \
{ \
char *tmp_buf = (char *)alloca ((LEN)+1); \
memcpy (tmp_buf, (NAME), (LEN)); \
tmp_buf[LEN]= '$'; \
(NAME) = tmp_buf; \
(LEN)++; \
} \
} \
while (0)
/* If the assembler doesn't support UTF8 in symbol names, some
characters might need to be escaped. */
#ifndef HAVE_AS_UTF8
/* Assuming (NAME, LEN) is a Utf8-encoding string, emit the string
appropriately mangled (with Unicode escapes if needed) to
MANGLE_OBSTACK. Note that `java', `lang' and `Object' are used so
frequently that they could be cached. */
void
append_gpp_mangled_name (const char *name, int len)
{
int encoded_len, needs_escapes;
/* Buffer large enough for INT_MIN. */
char buf[9];
MANGLE_CXX_KEYWORDS (name, len);
encoded_len = unicode_mangling_length (name, len);
needs_escapes = encoded_len > 0;
sprintf (buf, "%d", (needs_escapes ? encoded_len : len));
obstack_grow (mangle_obstack, buf, strlen (buf));
if (needs_escapes)
append_unicode_mangled_name (name, len);
else
obstack_grow (mangle_obstack, name, len);
}
/* Assuming (NAME, LEN) is a Utf8-encoded string, emit the string
appropriately mangled (with Unicode escapes) to MANGLE_OBSTACK.
Characters needing an escape are encoded `__UNN_' to `__UNNNN_', in
which case `__U' will be mangled `__U_'. */
static void
append_unicode_mangled_name (const char *name, int len)
{
const unsigned char *ptr;
const unsigned char *limit = (const unsigned char *)name + len;
int uuU = 0;
for (ptr = (const unsigned char *) name; ptr < limit; )
{
int ch = UTF8_GET(ptr, limit);
if ((ISALNUM (ch) && ch != 'U') || ch == '$')
{
obstack_1grow (mangle_obstack, ch);
uuU = 0;
}
/* Everything else needs encoding */
else
{
/* Buffer large enough for UINT_MAX plus the prefix. */
char buf [13];
if (ch == '_' || ch == 'U')
{
/* Prepare to recognize __U */
if (ch == '_' && (uuU < 3))
{
uuU++;
obstack_1grow (mangle_obstack, ch);
}
/* We recognize __U that we wish to encode
__U_. Finish the encoding. */
else if (ch == 'U' && (uuU == 2))
{
uuU = 0;
obstack_grow (mangle_obstack, "U_", 2);
}
/* Otherwise, just reset uuU and emit the character we
have. */
else
{
uuU = 0;
obstack_1grow (mangle_obstack, ch);
}
continue;
}
sprintf (buf, "__U%x_", ch);
obstack_grow (mangle_obstack, buf, strlen (buf));
uuU = 0;
}
}
}
/* Assuming (NAME, LEN) is a Utf8-encoding string, calculate the
length of the string as mangled (a la g++) including Unicode
escapes. If no escapes are needed, return 0. */
static int
unicode_mangling_length (const char *name, int len)
{
const unsigned char *ptr;
const unsigned char *limit = (const unsigned char *)name + len;
int need_escapes = 0; /* Whether we need an escape or not */
int num_chars = 0; /* Number of characters in the mangled name */
int uuU = 0; /* Help us to find __U. 0: '_', 1: '__' */
for (ptr = (const unsigned char *) name; ptr < limit; )
{
int ch = UTF8_GET(ptr, limit);
if (ch < 0)
error ("internal error - invalid Utf8 name");
if ((ISALNUM (ch) && ch != 'U') || ch == '$')
{
num_chars++;
uuU = 0;
}
/* Everything else needs encoding */
else
{
int encoding_length = 2;
if (ch == '_' || ch == 'U')
{
/* It's always at least one character. */
num_chars++;
/* Prepare to recognize __U */
if (ch == '_' && (uuU < 3))
uuU++;
/* We recognize __U that we wish to encode __U_, we
count one more character. */
else if (ch == 'U' && (uuU == 2))
{
num_chars++;
need_escapes = 1;
uuU = 0;
}
/* Otherwise, just reset uuU */
else
uuU = 0;
continue;
}
if (ch > 0xff)
encoding_length++;
if (ch > 0xfff)
encoding_length++;
num_chars += (4 + encoding_length);
need_escapes = 1;
uuU = 0;
}
}
if (need_escapes)
return num_chars;
else
return 0;
}
#else
/* The assembler supports UTF8, we don't use escapes. Mangling is
simply <N>NAME. <N> is the number of UTF8 encoded characters that
are found in NAME. Note that `java', `lang' and `Object' are used
so frequently that they could be cached. */
void
append_gpp_mangled_name (const char *name, int len)
{
const unsigned char *ptr;
const unsigned char *limit;
int encoded_len;
char buf [6];
MANGLE_CXX_KEYWORDS (name, len);
limit = (const unsigned char *)name + len;
/* Compute the length of the string we wish to mangle. */
for (encoded_len = 0, ptr = (const unsigned char *) name;
ptr < limit; encoded_len++)
{
int ch = UTF8_GET(ptr, limit);
if (ch < 0)
error ("internal error - invalid Utf8 name");
}
sprintf (buf, "%d", encoded_len);
obstack_grow (mangle_obstack, buf, strlen (buf));
obstack_grow (mangle_obstack, name, len);
}
#endif /* HAVE_AS_UTF8 */
/* Language parser definitions for the GNU compiler for the Java(TM) language.
Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com)
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
#ifndef GCC_JAVA_PARSE_H
#define GCC_JAVA_PARSE_H
/* Extern global variable declarations */
extern struct obstack temporary_obstack;
#ifdef VERBOSE_SKELETON
#undef SOURCE_FRONTEND_DEBUG
#define SOURCE_FRONTEND_DEBUG(X) \
{if (!quiet_flag) {printf ("* "); printf X; putchar ('\n');} }
#else
#define SOURCE_FRONTEND_DEBUG(X)
#endif
/* Types classification, according to the JLS, section 4.2 */
#define JFLOAT_TYPE_P(TYPE) (TYPE && TREE_CODE ((TYPE)) == REAL_TYPE)
#define JINTEGRAL_TYPE_P(TYPE) ((TYPE) \
&& (TREE_CODE ((TYPE)) == INTEGER_TYPE))
#define JNUMERIC_TYPE_P(TYPE) ((TYPE) \
&& (JFLOAT_TYPE_P ((TYPE)) \
|| JINTEGRAL_TYPE_P ((TYPE))))
#define JPRIMITIVE_TYPE_P(TYPE) ((TYPE) \
&& (JNUMERIC_TYPE_P ((TYPE)) \
|| TREE_CODE ((TYPE)) == BOOLEAN_TYPE))
/* Not defined in the LRM */
#define JSTRING_TYPE_P(TYPE) ((TYPE) \
&& ((TYPE) == string_type_node || \
(TREE_CODE (TYPE) == POINTER_TYPE && \
TREE_TYPE (TYPE) == string_type_node)))
#define JREFERENCE_TYPE_P(TYPE) ((TYPE) \
&& (TREE_CODE (TYPE) == RECORD_TYPE \
|| (TREE_CODE (TYPE) == POINTER_TYPE \
&& TREE_CODE (TREE_TYPE (TYPE)) == \
RECORD_TYPE)))
int java_report_errors (void);
extern tree do_resolve_class (tree, tree, tree, tree, tree);
/* Always in use, no matter what you compile */
void java_push_parser_context (void);
void java_pop_parser_context (int);
extern void java_parser_context_save_global (void);
extern void java_parser_context_restore_global (void);
#endif /* ! GCC_JAVA_PARSE_H */
/* Functions related to building resource files.
Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "stringpool.h"
#include "cgraph.h"
#include "fold-const.h"
#include "stor-layout.h"
#include "java-tree.h"
#include "toplev.h"
#include "tree-iterator.h"
/* A list of all the resources files. */
static GTY(()) vec<tree, va_gc> *resources;
void
compile_resource_data (const char *name, const char *buffer, int length)
{
tree rtype, field = NULL_TREE, data_type, rinit, data, decl;
vec<constructor_elt, va_gc> *v = NULL;
data_type = build_prim_array_type (unsigned_byte_type_node,
strlen (name) + length);
rtype = make_node (RECORD_TYPE);
PUSH_FIELD (input_location,
rtype, field, "name_length", unsigned_int_type_node);
PUSH_FIELD (input_location,
rtype, field, "resource_length", unsigned_int_type_node);
PUSH_FIELD (input_location, rtype, field, "data", data_type);
FINISH_RECORD (rtype);
START_RECORD_CONSTRUCTOR (v, rtype);
PUSH_FIELD_VALUE (v, "name_length",
build_int_cst (NULL_TREE, strlen (name)));
PUSH_FIELD_VALUE (v, "resource_length",
build_int_cst (NULL_TREE, length));
data = build_string (strlen(name) + length, buffer);
TREE_TYPE (data) = data_type;
PUSH_FIELD_VALUE (v, "data", data);
FINISH_RECORD_CONSTRUCTOR (rinit, v, rtype);
TREE_CONSTANT (rinit) = 1;
decl = build_decl (input_location,
VAR_DECL, java_mangle_resource_name (name), rtype);
TREE_STATIC (decl) = 1;
TREE_PUBLIC (decl) = 1;
java_hide_decl (decl);
DECL_ARTIFICIAL (decl) = 1;
DECL_IGNORED_P (decl) = 1;
TREE_READONLY (decl) = 1;
TREE_THIS_VOLATILE (decl) = 0;
DECL_INITIAL (decl) = rinit;
layout_decl (decl, 0);
pushdecl (decl);
rest_of_decl_compilation (decl, global_bindings_p (), 0);
varpool_node::finalize_decl (decl);
vec_safe_push (resources, decl);
}
void
write_resource_constructor (tree *list_p)
{
tree decl, t, register_resource_fn;
unsigned ix;
if (resources == NULL)
return;
t = build_function_type_list (void_type_node, ptr_type_node, NULL);
t = build_decl (input_location,
FUNCTION_DECL, get_identifier ("_Jv_RegisterResource"), t);
TREE_PUBLIC (t) = 1;
DECL_EXTERNAL (t) = 1;
register_resource_fn = t;
/* Write out entries in the same order in which they were defined. */
FOR_EACH_VEC_ELT (*resources, ix, decl)
{
t = build_fold_addr_expr (decl);
t = build_call_expr (register_resource_fn, 1, t);
append_to_statement_list (t, list_p);
}
}
/* Generate a byte array representing the contents of FILENAME. The
array is assigned a unique local symbol. The array represents a
compiled Java resource, which is accessed by the runtime using
NAME. */
void
compile_resource_file (const char *name, const char *filename)
{
struct stat stat_buf;
int fd;
char *buffer;
fd = open (filename, O_RDONLY | O_BINARY);
if (fd < 0)
{
perror ("Failed to read resource file");
return;
}
if (fstat (fd, &stat_buf) != 0
|| ! S_ISREG (stat_buf.st_mode))
{
perror ("Could not figure length of resource file");
return;
}
buffer = XNEWVEC (char, strlen (name) + stat_buf.st_size);
strcpy (buffer, name);
read (fd, buffer + strlen (name), stat_buf.st_size);
close (fd);
compile_resource_data (name, buffer, stat_buf.st_size);
}
#include "gt-java-resource.h"
/* Declarations to interface gcj with bytecode verifier.
Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Written by Tom Tromey <tromey@redhat.com>. */
#ifndef GCC_VERIFY_H
#define GCC_VERIFY_H
#include "jcf.h"
#include "tree.h"
#include "java-tree.h"
typedef JCF vfy_constants;
/* For our purposes a string is the same as an identifier. */
typedef tree vfy_string;
/* The TYPE_DECL for a class or primitive type. */
typedef tree vfy_jclass;
/* An unsigned jshort. */
typedef uint16 vfy_uint_16;
typedef struct
{
int handler, start, end, type;
} vfy_exception;
typedef struct
{
tree method;
vfy_string signature;
vfy_string name;
const unsigned char *bytes;
vfy_exception *exceptions;
/* These fields are referred to directly by the verifier. */
vfy_jclass defining_class;
int max_stack;
int max_locals;
int code_length;
int exc_count;
} vfy_method;
/* Entry point to the verifier. */
int verify_jvm_instructions_new (JCF *jcf, const unsigned char *byte_ops,
long length);
void *vfy_alloc (size_t bytes);
void vfy_free (void *mem);
bool vfy_strings_equal (vfy_string one, vfy_string two);
const char *vfy_string_bytes (vfy_string str);
int vfy_string_length (vfy_string str);
vfy_string vfy_get_string (const char *chars, int length);
vfy_string vfy_init_name (void);
vfy_string vfy_clinit_name (void);
int vfy_count_arguments (vfy_string signature);
vfy_string vfy_get_signature (vfy_method *method);
vfy_string vfy_get_method_name (vfy_method *method);
bool vfy_is_static (vfy_method *method);
const unsigned char *vfy_get_bytecode (vfy_method *method);
vfy_exception *vfy_get_exceptions (vfy_method *method);
void vfy_get_exception (vfy_exception *, int index, int *handler,
int *start, int *end, int *handler_type);
int vfy_tag (vfy_constants *pool, int index);
void vfy_load_indexes (vfy_constants *pool, int index,
vfy_uint_16 *index0, vfy_uint_16 *index1);
vfy_constants *vfy_get_constants (vfy_jclass klass);
int vfy_get_constants_size (vfy_jclass klass);
vfy_string vfy_get_pool_string (vfy_constants *pool, int index);
vfy_jclass vfy_get_pool_class (vfy_constants *pool, int index);
vfy_string vfy_get_class_name (vfy_jclass klass);
bool vfy_is_assignable_from (vfy_jclass target, vfy_jclass source);
char vfy_get_primitive_char (vfy_jclass klass);
int vfy_get_interface_count (vfy_jclass klass);
vfy_jclass vfy_get_interface (vfy_jclass klass, int index);
bool vfy_is_array (vfy_jclass klass);
bool vfy_is_interface (vfy_jclass klass);
bool vfy_is_primitive (vfy_jclass klass);
vfy_jclass vfy_get_superclass (vfy_jclass klass);
vfy_jclass vfy_get_array_class (vfy_jclass klass);
vfy_jclass vfy_get_component_type (vfy_jclass klass);
bool vfy_is_abstract (vfy_jclass klass);
vfy_jclass vfy_find_class (vfy_jclass klass, vfy_string name);
vfy_jclass vfy_object_type (void);
vfy_jclass vfy_class_type (void);
vfy_jclass vfy_string_type (void);
vfy_jclass vfy_throwable_type (void);
vfy_jclass vfy_unsuitable_type (void);
vfy_jclass vfy_return_address_type (void);
vfy_jclass vfy_null_type (void);
int vfy_fail (const char *message, int pc, vfy_jclass ignore1,
vfy_method *method);
vfy_jclass vfy_get_primitive_type (int type);
void vfy_note_stack_depth (vfy_method *method, int pc, int depth);
void vfy_note_stack_type (vfy_method *method, int pc, int slot,
vfy_jclass type);
void vfy_note_local_type (vfy_method *method, int pc, int slot,
vfy_jclass type);
void vfy_note_instruction_seen (int pc);
bool vfy_class_has_field (vfy_jclass klass, vfy_string name,
vfy_string signature);
#define GLOM(name, stuff) name ## stuff
#define VFY_PRIMITIVE_CLASS(name) \
vfy_get_primitive_type ((int) (GLOM (name, _type)))
typedef enum
{
#define JAVAOP(name, num, ignore1, ignore2, ignore3) \
GLOM (op_, name) = num,
#include "javaop.def"
java_opcode_end
} java_opcode;
#define JV_CONSTANT_Class CONSTANT_Class
#define JV_CONSTANT_ResolvedClass CONSTANT_ResolvedClass
#define JV_CONSTANT_String CONSTANT_String
#define JV_CONSTANT_ResolvedString CONSTANT_ResolvedString
#define JV_CONSTANT_Integer CONSTANT_Integer
#define JV_CONSTANT_Float CONSTANT_Float
#define JV_CONSTANT_Long CONSTANT_Long
#define JV_CONSTANT_Double CONSTANT_Double
#define JV_CONSTANT_Fieldref CONSTANT_Fieldref
#define JV_CONSTANT_InterfaceMethodref CONSTANT_InterfaceMethodref
#define JV_CONSTANT_Methodref CONSTANT_Methodref
int verify_method (vfy_method *meth);
#endif /* ! GCC_VERIFY_H */
/* Platform-Specific Win32 Functions
Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Written by Mohan Embar <gnustuff@thisiscool.com>, March 2003. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "jcf.h"
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN
/* Simulate an open() failure with ENOENT */
static int
file_not_found (void);
static int
file_not_found (void)
{
errno = ENOENT;
return -1;
}
int
jcf_open_exact_case (const char *filename, int oflag)
{
int filename_len = strlen (filename);
int found_file_len;
HANDLE found_file_handle;
WIN32_FIND_DATA fd;
/* See if we can find this file. */
found_file_handle = FindFirstFile (filename, &fd);
if (found_file_handle == INVALID_HANDLE_VALUE)
return file_not_found ();
FindClose (found_file_handle);
found_file_len = strlen (fd.cFileName);
/* This should never happen. */
if (found_file_len > filename_len)
return file_not_found ();
/* Here, we're only actually comparing the filename and not
checking the case of any containing directory components.
Although we're not fully obeying our contract, checking
all directory components would be tedious and time-consuming
and it's a pretty safe assumption that mixed-case package
names are a fringe case.... */
if (filename_cmp (filename + filename_len - found_file_len, fd.cFileName))
{
/* Reject this because it is not a perfect-case match. */
/* printf("************\nRejected:\n%s\n%s\n************\n\n", filename, fd.cFileName); */
return file_not_found ();
}
else
{
return open (filename, oflag);
}
}
#endif /* WIN32 */
/* Definitions for using a zipped' archive.
Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
struct ZipFile {
char *name;
int fd;
long size;
long count;
long dir_size;
char *central_directory;
/* Chain together in SeenZipFiles. */
struct ZipFile *next;
};
typedef struct ZipFile ZipFile;
struct ZipDirectory {
int direntry_size;
int filename_offset;
int compression_method;
unsigned size; /* length of file */
unsigned uncompressed_size; /* length of uncompressed data */
unsigned filestart; /* start of file in archive */
ZipFile *zipf;
int filename_length;
/* char mid_padding[...]; */
/* char filename[filename_length]; */
/* char end_padding[...]; */
};
typedef struct ZipDirectory ZipDirectory;
extern struct ZipFile *SeenZipFiles;
#define ZIPDIR_FILENAME(ZIPD) ((char*)(ZIPD)+(ZIPD)->filename_offset)
#define ZIPDIR_NEXT(ZIPD) \
((ZipDirectory*)((char*)(ZIPD)+(ZIPD)->direntry_size))
#define ZIPMAGIC 0x504b0304
#define ZIPEMPTYMAGIC 0x504b0506
extern ZipFile * opendir_in_zip (const char *, int);
extern int read_zip_archive (ZipFile *);
#ifdef GCC_JCF_H
extern int read_zip_member (JCF*, ZipDirectory*, ZipFile *);
extern int open_in_zip (struct JCF *, const char *, const char *, int);
#endif
2016-07-13 Matthew Fortune <matthew.fortune@imgtec.com>
* java/lang/reflect/natVMProxy.cc (unbox): Use ffi_arg for
integer return types smaller than a word.
* testsuite/libjava.jar/ReturnInvocationHandler.java: New file.
* testsuite/libjava.jar/ReturnProxyTest.jar: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.java: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.out: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.xfail: Likewise.
* testsuite/libjava.jar/ReturnTypes.java: Likewise.
* testsuite/libjava.jar/ReturnTypesImpl.java: Likewise.
2016-07-13 Matthew Fortune <matthew.fortune@imgtec.com>
* interpret-run.cc: Use ffi_arg for FFI integer return types.
* testsuite/libjava.jar/arraysort.java: New file.
* testsuite/libjava.jar/arraysort.jar: New file.
* testsuite/libjava.jar/arraysort.out: New file.
* testsuite/libjava.jar/arraysort.xfail: New file.
2016-06-01 Matthias Klose <doko@ubuntu.com>
* libtool-version: Bump soversion.
2016-05-31 Roger Sayle <roger@nextmovesoftware.com>
* testsuite/libjava.lang/BuiltinBitCount.java: New test case.
* testsuite/libjava.lang/BuiltinReverseBytes.java: Likewise.
2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
* classpath/config.guess: Revert r235676.
* classpath/config.sub: Revert r235676.
2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
* classpath/config.guess: Remove SH5 support.
* classpath/config.sub: Likewise.
2016-04-20 Ben Elliston <bje@gnu.org>
PR testsuite/70719
* testsuite/lib/libjava.exp (libjava_arguments): Use 'file
normalize' rather than the defunct DejaGnu 'absolute' proc.
2016-01-04 Jakub Jelinek <jakub@redhat.com>
* classpath/gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* classpath/tools/gnu/classpath/tools/orbd/Main.java (run): Ditto.
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.
2016-01-03 Matthias Klose <doko@ubuntu.com>
* libtool-version: Bump soversion.
* include/jvm.h (GCJ_CXX_ABI_VERSION): Don't encode __GNUC_MINOR__.
Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
2011-12-27 Uros Bizjak <ubizjak@gmail.com>
PR libgcj/49193
* sysdep/alpha/locks.h (compare_and_swap): Call
__sync_bool_compare_and_swap.
(release_set): Call __sync_synchronize.
2011-12-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (i?86-*-linux*): Set SIGNAL_HANDLER_AUX.
* configure: Regenerate.
* include/i386-signal.h: Wrap in __i386__, include
java-signal-aux.h otherwise.
2011-12-12 Kai Tietz <ktietz@redhat.com>
PR libgcj/50053
* java/lang/natClass.cc (java::lang::Class::newInstance): Special case
member-call for 32-bit IA native Window target.
2011-11-24 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/50888
* prims.cc: Don't include ctype.h.
(c_isspace): Define.
(next_property_key, next_property_value): Use it instead
of isspace.
2011-11-21 Andreas Tobler <andreast@fgznet.ch>
* configure.ac: Fix FreeBSD 10 detection.
* configure: Regenerate.
2011-10-17 Paul Brook <paul@codesourcery.com>
* exception.cc (parse_lsda_header): hardcode ttype_encoding for older
ARM EABI toolchains.
(get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
2011-10-16 Uros Bizjak <ubizjak@gmail.com>
Eric Botcazou <ebotcazou@adacore.com>
PR target/50737
* include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
definition.
2011-08-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* exception.cc (std::abort): Remove static.
2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (THREADS): Remove posix95.
* configure: Regenerate.
2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (GCC_UNWIND_INCLUDE): Rename to
LIBGCC_UNWIND_INCLUDE.
Point to $(multi_basedir)/./libjava/../libgcc.
* configure: Regenerate.
* Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
* Makefile.in: Regenerate.
2011-07-12 Andrew Haley <aph@redhat.com>
* interpret.cc (check_handler): Fix bit rot.
(breakpoint_at): Likewise.
2011-07-12 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (finalize): Make sure that the class
really has an engine.
2011-07-07 Matthias Klose <doko@ubuntu.com>
* libtool-version: Bump soversion.
2011-07-07 Matthias Klose <doko@ubuntu.com>
* sysdep/x86-64: Remove empty directory.
2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/39150
* configure.host (x86_64-*): Add -Usun to libgcj_flags.
(x86_64-*-solaris2.1[0-9]*): New case.
(i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*.
2011-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libgcj/49314
* gnu/gcj/convert/natIconv.cc (iconv_init): Pad in[] with NUL byte.
2011-06-17 Jack Howarth <howarth@bromo.med.uc.edu>
PR target/49461
* libjava/configure.ac (SYSTEMSPEC): Pass -no_pie for darwin11.
* libjava/configure: Regenerate.
2011-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libgcj/49315
* include/solaris-signal.h: Rename to ...
* include/posix-signal.h: ... this.
(SA_FLAGS): Define.
(SIGNAL_HANDLER): Handle non-SA_SIGINFO case.
(sa_signal_handler): Define.
(_INIT_SIG_HANDLER): New macro.
(INIT_SEGV, INIT_FPE): Use it.
* configure.ac (SIGNAL_HANDLER): Use it on alpha*-dec-osf*,
mips-sgi-irix*, *-*-solaris2*
* configure: Regenerate.
* include/aix-signal.h: Refer to AIX.
* configure.host (alpha*-dec-osf*): Enable can_unwind_signal.
(mips-sgi-irix6*): Likewise.
2011-05-31 H.J. Lu <hongjiu.lu@intel.com>
PR libgcj/49193
* configure.host (sysdeps_dir): Set to i386 for x86_64.
* sysdep/i386/locks.h (compare_and_swap): Call
__sync_bool_compare_and_swap.
(release_set): Call write_barrier ().
* sysdep/x86-64/locks.h: Removed.
2011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
* README: Refer to our generic bug reporting page.
2011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (THREADS): Remove decosf1, irix, mach, os2.
* configure: Regenerate
2011-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
Add $libiconv to cxxflags for alpha*-dec-osf*.
2011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR testsuite/21164
* testsuite/lib/libjava.exp: Load dg.exp.
* testsuite/libjava.jar/jar.exp (gcj_jar_interpret): Strip srcdir
from jarfile.
Use result for messages.
* testsuite/libjava.loader/loader.exp (gcj_loader_test_one): Pass
errname to libjava_invoke, fix testname.
2011-04-08 Kai Tietz <ktietz@redhat.com>
* configure.ac (libgcj_ld_export_all): Set for windows
native targets to export-all-symbols.
(LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all.
* Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_ALL.
* sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows
native targets to DllMain.
* gcj/javaprims.h (JNICALL): Define it dependent
for different windows targets.
* include/jni_md.h: Likewise.
* headers.txt (_Jv_JNI_ToReflectedField): Mark
JNICALLS for friends.
(_Jv_JNI_ToReflectedMethod): Likewise.
* java/lang/Class.h: Regenerated.
* java/lang/reflect/Field.h: Regenerated.
* java/lang/reflect/Constructor.h: Regenerated.
* java/lang/reflect/Method.h: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
2011-04-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac: Redirect $JAR -cf@ output to /dev/null.
* configure: Regenerate.
2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (THREADS): Remove solaris.
* configure: Regenerate.
2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR bootstrap/48135
* configure.ac (libjava_cv_anon_version_script): Handle
--disable-symvers.
* configure: Regenerate.
2011-02-14 Gary Benson <gbenson@redhat.com>
* libjava/contrib/aot-compile.in: Add our module directory
to the start of the search path rather than the end.
* libjava/contrib/aot-compile-rpm.in: Likewise.
2011-02-14 Gary Benson <gbenson@redhat.com>
PR libjava/47484
* configure.ac (python_mod_dir, python_mod_dir_expanded):
Install Python modules into versioned directory.
* configure: Regenerate.
2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.
* shlibpath.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Remove handling
of freebsd1* which soon would incorrectly match FreeBSD 10.0.
2011-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR java/21206
* configure.ac (LDLIBICONV): New substituted variable, with
instances of '-Wl,' removed from LIBICONV.
* configure: Regenerate.
* libgcj.spec.in: Use @LDLIBICONV@ not @LIBICONV@.
* Makefile.in: Regenerate.
* gcj/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
2011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac: Don't use libdl on mips-sgi-irix6*.
* configure: Regenerate.
2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
Add -shared-libgcc to cxxflags for *-*-solaris*.
Remove -lsocket.
2011-01-03 Jakub Jelinek <jakub@redhat.com>
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
Copyright (C) 2011 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
2012-12-19 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (20121202).
* Regenerate class and header files.
* Regenerate auto* files.
* sources.am, gcj/javaprims.h: Regenerate.
* gnu/java/nio/FileLockImpl.java (close): New override.
2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (lib_gnu_awt_xlib_la_CPPFLAGS): Use
$(LIBSTDCXX_RAW_CXX_CXXLAGS).
(lib_gnu_awt_xlib_la_LDFLAGS): Use $(LIBSTDCXX_RAW_CXX_LDLAGS).
* configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New.
* aclocal.m4: Regenerated.
* Makefile.in:Likewise.
* configure: Likewise.
2012-11-19 Matthias Klose <doko@ubuntu.com>
* libtool-version: Bump soversion.
2012-10-15 Matthias Klose <doko@ubuntu.com>
* configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
* configure: Regenerate.
2012-09-14 Dehao Chen <dehao@google.com>
* testsuite/libjava.lang/sourcelocation.java: New cases.
* testsuite/libjava.lang/sourcelocation.out: New cases.
2012-09-14 David Edelsohn <dje.gcc@gmail.com>
* configure: Regenerated.
2012-07-19 Tristan Gingold <gingold@adacore.com>
Richard Henderson <rth@redhat.com>
* libgcj.ver: Add __gcj_personality_seh0.
* exception.cc (__gcj_personality_seh0): New function.
Adjust for SEH.
2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR libjava/53973
* include/x86_64-signal.h (CHECK_67H_PREFIX): Removed.
(HANDLE_DIVIDE_OVERFLOW): Skip 67h address size prefix
unconditionally.
2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR libjava/53973
* include/x86_64-signal.h (CHECK_67H_PREFIX): New.
(HANDLE_DIVIDE_OVERFLOW): Check and and skip 67h address size
prefix if CHECK_67H_PREFIX is 1. Use ULL suffix for 64-bit
integer.
2012-06-20 David Edelsohn <dje.gcc@gmail.com>
Alan Modra <amodra@gmail.com>
* sysdep/powerpc/locks.h (compare_and_swap): Use GCC atomic
intrinsics.
(release_set): Same.
(compare_and_swap_release): Same.
(read_barrier): Same.
(write_barrier): Same.
2012-06-15 Andreas Schwab <schwab@linux-m68k.org>
* sysdep/m68k/locks.h (compare_and_swap): Use
__sync_bool_compare_and_swap.
(release_set): Use write_barrier instead of inlining it.
2012-06-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* sysdep/s390/locks.h (compare_and_swap, release_set)
(read_barrier, write_barrier): Use the GCC atomic builtins.
2012-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
* sysdep/sh/locks.h (__cas_lock): Remove.
(__cas_start_atomic, __cas_end_atomic): Likewise.
(compare_and_swap): Call __sync_bool_compare_and_swap.
2012-05-21 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/52700
* configure.ac: Allow gnu, gnu-versioned-namespace for
--enable-symvers arguments.
* configure: Regenerate.
2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated.
2012-04-23 Andrew Haley <aph@redhat.com>
* defineclass.cc (MAJOR_1_7, MINOR_1_7): New.
(parse): Allow MAJOR_1_7 classfile version.
2012-04-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libgcj/52645
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption):
Restore HAVE_INET6 check.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
Likewise.
2012-03-25 Gerald Pfeifer <gerald@pfeifer.com>
PR libgcj/52694
* java/io/natVMConsole.cc (IUCLC): Define, if undefined.
2012-03-16 Andrew John Hughes <ahughes@redhat.com>
* Makefile.am: Add natVMConsole.cc.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Likewise.
* gcj/javaprims.h: Classes updated.
* gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h,
* gnu/javax/net/ssl/provider/CipherSuite.h,
* gnu/javax/net/ssl/provider/OutputSecurityParameters.h,
* include/Makefile.in:
Regenerated.
* java/io/Console.h,
* java/io/IOError.h,
* java/io/ObjectOutputStream$2.h:
Initial generation.
* java/io/ObjectOutputStream.h: Regenerated.
* java/io/VMConsole.h: Initial generation.
* java/io/VMConsole.java: Copied from classpath/vm/reference.
* java/io/natVMConsole.cc: Implemented readPassword.
* java/nio/channels/spi/SelectorProvider$1.h,
* java/security/KeyStore$1.h:
Initial generation.
* java/security/ProtectionDomain.h,
* java/text/DateFormatSymbols.h,
* java/util/HashMap.h,
* java/util/regex/Matcher.h,
* java/util/regex/Pattern.h:
Regenerated.
* javax/xml/stream/util/ReaderDelegate.h:
Removed.
* sources.am,
* testsuite/Makefile.in:
Regenerated.
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
* configure: Regenerate.
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
(mips-sgi-irix6*): Remove.
(mips-sgi-irix*): Remove.
(AC_CHECK_HEADERS): Remove bstring.h.
* configure: Regenerate.
* include/config.h.in: Regenerate.
* configure.host (mips-sgi-irix6*): Remove.
* include/posix-signal.h [__sgi__]: Remove.
* gnu/java/net/natPlainDatagramSocketImplPosix.cc
[HAVE_BSTRING_H]: Remove.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc: Likewise.
* gnu/java/net/natPlainSocketImplPosix.cc: Likewise.
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (alpha*-dec-osf*): Remove.
* configure: Regenerate.
* configure.host (alpha*-dec-osf*): Remove.
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
IPV6_MULTICAST_IF unconditionally.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
Likewise.
* gnu/java/net/natPlainSocketImplPosix.cc
(gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
_Jv_accept.
* include/posix-signal.h [__alpha__ && __osf__]: Remove.
* include/posix.h (_POSIX_PII_SOCKET): Don't define.
(_Jv_accept): Remove.
* java/io/File.java (File._access): Rename to access.
Change callers.
(File._stat): Likewise.
* java/io/File.h: Regenerate.
* classpath/lib/java/io/File.class: Regenerate.
* java/io/natFilePosix.cc (java::io::File::_access): Rename to
access.
(java::io::File::_stat): Rename to stat.
* java/io/natFileWin32.cc: Likewise.
* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
Remove alpha*-dec-osf* handling.
* testsuite/libjava.jvmti/jvmti-interp.exp
(gcj_jni_compile_c_to_so): Likewise.
* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
Likewise.
2012-02-23 Patrick Marlier <patrick.marlier@gmail.com>
Jack Howarth <howarth@bromo.med.uc.edu>
PR target/49461
* configure.ac (SYSTEMSPEC): No longer pass -no_pie for darwin11.
* configure: Regenerate.
2012-02-02 Kai Tietz <ktietz@redhat.com>
PR libjava/48512
* configure.ac (THREADSTARTFILESPEC): Don't add crtmet.o file for
w64 windows targets.
* configure: Regenerated.
2012-02-01 Kai Tietz <ktietz@redhat.com>
PR target/51500
* interpret.cc (_Jv_init_cif): Handle thiscall
convention for 32-bit Windows.
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA):
Likewise.
* java/lang/reflect/natVMProxy.cc (invoke_t): Add
thiscall-attribute for 32-bit Windows.
2012-01-01 Jakub Jelinek <jakub@redhat.com>
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
2013-12-09 Andreas Schwab <schwab@suse.de>
* Makefile.am (toolexeclib_LTLIBRARIES) [USE_LIBGCJ_BC]: Use
install/libgcj_bc.la instead of libgcj_bc.la.
(noinst_LTLIBRARIES) [USE_LIBGCJ_BC]: Define.
(install_libgcj_bc_la_SOURCES): Define.
(install/libgcj_bc.la): New rule.
* Makefile.in: Regenerate.
2013-09-20 Alan Modra <amodra@gmail.com>
* configure: Regenerate.
2013-06-20 Roland Lutz <rlutz@hedmen.org>
* contrib/aot-compile.in: Fix typo in option list.
2013-06-20 Matthias Klose <doko@ubuntu.com>
* pkg.m4 (PKG_CHECK_MODULES): Use AC_PATH_TOOL to check for pkg-config.
* classpath/m4/pkg.m4 (PKG_CHECK_MODULES): Likewise.
* configure: Regenerate.
* classpath/configure: Regenerate.
2013-06-20 Matthias Klose <doko@ubuntu.com>
* libtool-version: Bump soversion.
2013-05-22 Mark Mitchell <mark@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
* configure.ac (dbexecdir): Base on $(toolexeclibdir), not
$(libdir).
* Makefile.am (pkgconfigdir): Likewise.
* configure: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
2013-04-16 Andreas Schwab <schwab@suse.de>
* configure.host: Add support for aarch64.
* sysdep/aarch64/locks.h: New file.
2013-03-12 Andrew John Hughes <gnu.andrew@redhat.com>
* include/posix-threads.h:
(_Jv_MutexCheckMonitor(_Jv_Mutex_t)): Use
pthread_equal rather than !=.
2013-01-07 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (lib_gnu_awt_xlib_la_LDFLAGS): Replace
LIBSTDCXX_RAW_CXX_LDLAGS with LIBSTDCXX_RAW_CXX_LDFLAGS.
* Makefile.in: Regenerated.
2013-01-03 Jakub Jelinek <jakub@redhat.com>
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/63784
* configure: Regenerated.
2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR target/63610
* configure: Regenerate.
2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
* testsuite/lib/libjava.exp (load_gcc_lib): Register loaded libs.
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* configure.host: Added handling for x86_64-*-cygwin/mingw.
* boehm.cc (_Jv_GCAttachThread, _Jv_GCDetachThread): Don't compile if
GC_WIN32_THREADS is defined.
* java/lang/natClass.cc (_Jv_InterfaceAssignableFrom): Rename interface
to source_interface.
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9
handling.
* configure: Regenerate.
2014-03-12 Uros Bizjak <ubizjak@gmail.com>
* include/dwarf2-signal.h: Update copyright year.
(SIGNAL_HANDLER): Remove _sip argument. Mark _p argument with
__attribute__ ((__unused__)).
(class java::lang::Throwable): Remove declaration.
(MAKE_THROW_FRAME) [!__ia64__]: Define as empty definition.
2014-03-11 Uros Bizjak <ubizjak@gmail.com>
* java/lang/natObject.cc (_Jv_MonitorEnter): Add missing parenthesis
around comparison with (address | LOCKED) in JvAssert.
2014-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libgcj/55637
* testsuite/libjava.lang/sourcelocation.xfail: New file.
2014-02-18 Richard Biener <rguenther@suse.de>
PR libjava/60261
* configure.ac (dbexecdir): Remove redundant multilib addition.
* Makefile.am (gcc_version): Export.
* configure: Regenerate.
* Makefile.in: Likewise.
2014-01-02 Tobias Burnus <burnus@net-b.de>
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.
Copyright (C) 2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
2015-07-24 Michael Darling <darlingm@gmail.com>
PR other/66259
* configure: Reflects renaming of configure.in to configure.ac
2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
* configure.host: Add bits for FreeBSD amd64 and i386.
* configure.ac: Add signal handler for FreeBSD (amd64/i386)
* configure: Regenerate.
* include/freebsd-signal.h: New file.
2015-05-26 Andreas Tobler <andreast@gcc.gnu.org>
* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Add
libiconv for FreeBSD to cxxflags.
2015-05-24 Eric Botcazou <ebotcazou@adacore.com>
* configure: Regenerate.
2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
* configure.ac: Include config/sjlj.m4.
Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust.
* include/config.h.in: Regenerate.
* exception.cc: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
* stacktrace.cc: Likewise.
* include/default-signal.h: Likewise.
* sysdep/i386/backtrace.h: Likewise.
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* gcj/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
* libtool-version: Add a comment about cygwin.
2015-01-21 Matthias Klose <doko@ubuntu.com>
* libtool-version: Bump soversion.
2015-01-13 Jakub Jelinek <jakub@redhat.com>
PR libgcj/64219
* Makefile.am (install-data-local): Use just the major version
from GCJVERSION instead of major.minor.
* Makefile.in: Regenerated.
2015-01-05 Jakub Jelinek <jakub@redhat.com>
* classpath/gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* classpath/tools/gnu/classpath/tools/orbd/Main.java (run): Ditto.
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.
Copyright (C) 2015 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Things libgcj hackers should know
---------------------------------
If you want to hack on the libgcj files you need to be aware of the
following things. There are probably lots of other things that should be
explained in this HACKING file. Please add them if you discover them :)
--
If you plan to modify a .java file, you will need to configure with
--enable-java-maintainer-mode. In order to make this work properly,
you will need to have 'ecj1' and 'gjavah' executables in your PATH at
build time.
One way to do this is to download ecj.jar (see contrib/download_ecj)
and write a simple wrapper script like:
#! /bin/sh
gij -cp /home/tromey/gnu/Generics/trunk/ecj.jar \
org.eclipse.jdt.internal.compiler.batch.GCCMain \
${1+"$@"}
For gjavah, you can make a tools.zip from the classes in
classpath/lib/tools/ and write a gjavah script like:
#! /bin/sh
dir=/home/tromey/gnu/Generics/Gcjh
gij -cp $dir/tools.zip \
gnu.classpath.tools.javah.Main \
${1+"$@"}
Another way to get a version of gjavah is to first do a
non-maintainer-mode build and use the newly installed gjavah.
--
To regenerate libjava/configure, first run aclocal passing the flags
found near the top of Makefile.am, then autoconf. H. J. Lu writes that
this can be done using these commands:
cd libjava &&
rm -f aclocal.m4 &&
ACFLAGS=$(grep "^ACLOCAL_AMFLAGS" Makefile.in | sed -e "s/ACLOCAL_AMFLAGS[ \t ]*=//") &&
aclocal-1.11 $ACFLAGS &&
rm -f configure &&
autoconf-2.64 &&
rm -fr autom4te.cache
See the GCC documentation which auto* versions to use.
--
libgcj uses GNU Classpath as an upstream provider. Snapshots of
Classpath are imported into the libgcj source tree. Some classes are
overridden by local versions; these files still appear in the libgcj
tree.
To import a new release:
- Check out a classpath snapshot or take a release tar.gz file.
I use 'cvs export' for this. Make a tag to ensure future hackers
know exactly what revision was checked out; tags are of the form
'libgcj-import-DATE' (when using a tagged checkout do:
- ./autogen.sh && ./configure && make dist
to get a proper .tar.gz for importing below).
- Get a svn checkout of
svn+ssh://gcc.gnu.org/svn/gcc/branches/CLASSPATH/libjava/classpath
this contains "pure" GNU Classpath inside the GCC tree.
- Clean it up and get the files from a new version:
- find classpath -type f | grep -v '/\.svn' | grep -v '/\.cvs' | xargs rm
- tar zxf classpath-x.tar.gz
- cp -r classpath-x/* classpath
- Add/Remove files:
- svn status classpath | grep ^\! | cut -c8- | xargs svn remove
- svn status classpath | grep ^\? | cut -c8- | xargs svn add
- If there are any empty directories now they can be removed. You can find
candidates (dirs with files removed) with:
- for i in `svn status classpath | grep ^D | cut -c8-`; \
do ls -d `dirname $i`; done | uniq
- Update vendor branch
- svn commit classpath
- Note the new revision number (Xrev)
- Get a fresh svn trunk checkout and cd gcc/libjava
- Merge the changes between classpath versions into the trunk.
svn merge -rXrev-1:Xrev \
svn+ssh://gcc.gnu.org/svn/gcc/branches/CLASSPATH/libjava/classpath \
classpath
- Resolve any conflicts pointed out by svn status classpath | grep ^C
- Makefile.in files will be regenerated in the next step.
- Other files should have a "GCJ LOCAL" comment, and/or are mentioned
in the classpath/ChangeLog.gcj file.
(Don't forget to svn resolved files.)
- Use auto* to create configure, Makefile.in, etc
Make sure you have Automake 1.11.1 installed. Exactly that version!
You have to make sure to use the gcc libtool.m4 and gcc lt* scripts
cd .../classpath
cp ../../lt* .
cp ../../config.sub ../../config.guess .
aclocal -I m4 -I ../.. -I ../../config
autoconf
autoheader
automake
rm -rf autom4te.cache
cd ..
scripts/makemake.tcl > sources.am
automake
- Remove the generated class and header files:
find classpath -name '*.class' | xargs -r rm -f
find gnu java javax org sun -name '*.h' \
| xargs -r grep -Fl 'DO NOT EDIT THIS FILE - it is machine generated' \
| xargs -r rm -f
- Build, fix, till everything works.
Be sure to build all peers (--enable-java-awt=gtk,xlib,qt
--enable-gconf-peer --enable-gstreamer-peer).
Be sure to build gjdoc (--enable-gjdoc).
Be sure to update gnu/classpath/Configuration.java to reflect
the new version
Possibly update the gcj/javaprims.h file with scripts/classes.pl
(See below, it can only be done after the first source->bytecode
pass has finished.)
You will need to configure with --enable-java-maintainer-mode and you
will need to update the .class files and generated CNI header files in
your working tree
- Add/Remove newly generated files:
- svn status classpath | grep '^!.*\.class$' | cut -c8- | xargs svn remove
- svn status classpath | grep '^?' | cut -c8- | xargs svn add
- svn status gnu java javax org sun | grep '^!.*\.h$' | cut -c8- | xargs svn remove
- svn status gnu java javax org sun | grep '^?' | cut -c8- | xargs svn add
Over time we plan to remove as many of the remaining divergences as
possible.
File additions and deletions require running scripts/makemake.tcl
before running automake.
--
In general you should not make any changes in the classpath/
directory. Changes here should come via imports from upstream.
However, there are three (known) exceptions to this rule:
* In an emergency, such as a bootstrap breakage, it is ok to commit a
patch provided that the problem is resolved (by fixing a compiler
bug or fixing the Classpath bug upstream) somehow and the resolution
is later checked in (erasing the local diff).
* On a release branch to fix a bug, where a full-scale import of
Classpath is not advisable.
* We maintain a fair number of divergences in the build system.
This is a pain but they don't seem suitable for upstream.
--
You can develop in a GCC tree using a CVS checkout of Classpath, most
of the time. (The exceptions are when an incompatible change has been
made in Classpath and some core part of libgcj has not yet been
updated.)
The way to set this up is very similar to importing a new version of
Classpath into the libgcj tree. In your working tree:
* cd gcc/libjava; rm -rf classpath
* cvs co classpath
* cd classpath
Now run the auto tools as specified in the import process; then
cd ..
* Run 'scripts/makemake.tcl > sources.am' in the source tree
* Run automake for libgcj
Now you should be ready to go.
If you are working in a tree like this, you must remember to run
makemake.tcl and automake whenever you update your embedded classpath
tree.
--
If you add a class to java.lang, java.io, or java.util
(including sub-packages, like java.lang.ref).
* Edit gcj/javaprims.h
* Go to the `namespace java' line, and delete that entire block (the
entire contents of the namespace)
* Then insert the output of `perl scripts/classes.pl' into the file
at that point. This must be run from the source tree, in
libjava/classpath/lib; it uses the .class file name to determine
what to print.
Jan 21, 2002
The libgcj library is licensed under the terms of the GNU General
Public License.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
You should have received a copy of the GNU General Public License
along with libjava; see the file COPYING. If not, write to the
Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
This source diff could not be displayed because it is too large. You can view the blob instead.
This is libgcj: the runtime library for gcj, the GNU Compiler for Java.
libgcj provides a partial implementation of the Java Class Libraries.
libgcj is free software. See the file LIBGCJ_LICENSE for copying permission.
DOCUMENTATION
=============
All documentation, including detailed installation and usage instructions,
can be found on the gcj web pages at this URL:
http://gcc.gnu.org/java/
BUGS
====
Please refer to
http://gcc.gnu.org/bugs/
on when and how to submit a bug report.
Many people contribute to the GCJ project, and in many different
capacities. Any omissions to this list are accidental. Please keep
this list in alphabetical order.
Robert Abeles
Mark G. Adams
C. Scott Ananian
Mark Anderson
Bonzo Armstrong
Steven Augart
Godmar Back
Stuart Ballard
Scott Bambrough
David Belanger
Jon Beniston
Gary Benson
Mark Benvenuto
Daniel Berlin
Geoff Berry
Alberto Biancardi
Artur Biesiadowski
David Billinghurst
Eric Blake
Hans Boehm
Paolo Bonzini
Neil Booth
Steven Bosscher
Per Bothner
Sascha Brawer
Dave Brolley
Rodney Brown
Joerg Brunsmann
Nathan Bryant
Adrian Bunk
Andrew Cagney
John F. Carr
Steve Chamberlain
Glenn Chambers
John-Marc Chandonia
Michael Chastain
Tang Ching-Hui
Eric Christopher
Randolph Chung
James Clark
Nick Clifton
Kelley Cook
Christian Cornelssen
Stephen Crawley
David Daney
Marcus G. Daniels
Mo DeJong
Bert Deknuydt
DJ Delorie
Akim Demaille
R. A. Rivas Diaz
Julian Dolby
Richard Earnshaw
David Edelsohn
Frank Ch. Eigler
Mohan Embar
Marc Espie
Nic Ferrier
Thomas Fitzsimmons
Andreas Franck
Norbert Frese
Todd T. Fries
Jeroen Frijters
Wu Gansha
Ivan Fontes Garcia
Kaveh R. Ghazi
Scott Gilbertson
John Gilmore
Jacob Gladish
Taras Glek
Anthony Green
Stu Grossman
David P Grove
Laurent Guerby
Andrew Haley
Raja R Harinath
Richard Henderson
Kevin B Hendricks
Kazu Hirata
Kim Ho
Graydon Hoare
Jochen Hoenicke
Jens-Michael Hoffmann
Manfred Hollstein
Jan Hubicka
Bernardo Innocenti
Christian Iseli
Andreas Jaeger
David Jee
Jakub Jelinek
Mojo Jojo
C. Brian Jones
Tim Josling
Martin Kahlert
Ito Kazumitsu
Geoffrey Keating
Brendan Kehoe
Richard Kenner
Mumit Khan
Dhek Bhun Kho
Tony Kimball
Adam King
Matthias Klose
Michael Koch
Kaz Kojima
Stepan Koltsov
Bruce Korb
Matt Kraai
Guilhem Lavaux
Jeffrey A Law
John Leuner
Warren Levy
Oskar Liljeblad
Robert Lipe
Ralph Loader
H.J. Lu
Brad Lucier
Martin v. Löwis
Andrew MacLeod
Jan van Male
Jerome Marc
Casey Marshall
T.J. Mather
Ranjit Mathew
Greg McGary
Bryce McKinlay
Adam Megacz
Marcus Meissner
Jason Merrill
Jim Meyering
David S. Miller
Corey Minyard
Mark Mitchell
Alan Modra
Jason Molenda
Peter Moon
Mike Moreton
Joseph S. Myers
Raif Naffah
Raif S. Naffah
Fernando Nasser
Nathanael Nerode
Pekka Nikander
Hans-Peter Nilsson
Jeremy Nimmer
Diego Novillo
Jeffrey Oldham
Alexandre Oliva
Rainer Orth
Andrew Overholt
Theodore Papadopoulo
Oscar Pearce
Alexandre Petit-Bianco
Andrew Pinski
Ovidiu Predescu
Steve Pribyl
Ingo Proetel
Vladimir Puskas
Jerry Quinn
Rolf W. Rasmussen
Volker Reichelt
Petter Reinholdtsen
Gabriel Dos Reis
Aaron M. Renn
J"orn Rennecke
Loren J. Rittle
Mark J. Roberts
Olga Rodimina
Craig Rodrigues
Jesse Rosenstock
Torsten Rueger
Douglas B. Rupp
Roger Sayle
Bradley Schatz
Bernd Schmidt
Jason Schroeder
Andreas Schwab
Chris Sears
Nathan Sidwell
Franz Sirl
Danny Smith
Michael Smith
Todd Stock
Graham Stott
John Stracke
Mike Stump
Jeff Sturm
Sam TH
Philipp Thomas
Jason Thorpe
Bo Thorsen
Kresten Krab Thorup
Michael Tiemann
Andreas Tobler
Gerhard Tonn
Dalibor Topic
Gregg Townsend
Tom Tromey
Arnaud Vandyck
H. Väisänen
Krister Walfridsson
Ulrich Weigand
Zack Weinberg
Matt Welsh
Urban Widmark
Mark Wielaard
Gilles Zunino
We'd also like to thank these folks who contributed time and energy
in testing early versions of GCJ:
Michael Abd-El-Malek
Thomas Arend
Bonzo Armstrong
Steven Ashe
Chris Baldwin
David Billinghurst
Jim Blandy
Stephane Bortzmeyer
Frank Braun
Sidney Cadot
Bradford Castalia
Ralph Doncaster
Richard Emberson
Graham Fawcett
Robert A. French
Mark K. Gardner
Charles-Antoine Gauthier
Simon Gornall
Fred Gray
John Griffin
Patrik Hagglund
Phil Hargett
Amancio Hasty
Bryan W. Headley
Kevin B. Hendricks
Joep Jansen
David Kidd
Tobias Kuipers
Anand Krishnaswamy
H.J. Lu
Jesse Macnish
Anon A. Mous
Stefan Morrell
Pekka Nikander
Jon Olson
Magnus Persson
Chris Pollard
Paul Reilly
Tom Reilly
Torsten Rueger
Danny Sadinoff
Marc Schifer
Franz Sirl
Tim Souder
Adam Sulmicki
Frederik Warg
Gregory Warnes
David E. Young
Special thanks to:
The GCC project contributors for all of their great compiler work.
The GNU Classpath project for all of their merged class libraries.
All of the Mauve project contributors, for test code.
All the contributors to the Jacks compiler test suite.
Thank you all!
<?xml version='1.0'?>
<?eclipse-cdt version="2.0"?>
<cdtproject/>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding=".externalToolBuilders/|.settings/|ChangeLog*|Makefile*|autom4te.cache/|compat/|config*|doc/|examples/|external/|external/relaxngDatatype/|include/|install/|lib/|m4/|native/|resource/|scripts/|test/|testsuite/|tools/|vm/reference/|tools/external/asm/|gnu/java/awt/peer/x/" kind="src" path=""/>
<classpathentry excluding=".cvsignore|Makefile|Makefile.am|Makefile.in|README.txt" kind="src" path="external/relaxngDatatype"/>
<classpathentry kind="src" path="external/jsr166"/>
<classpathentry excluding=".cvsignore|Makefile|Makefile.am|Makefile.in|README|gnu/classpath/tools/javah/|external/asm/" kind="src" path="tools"/>
<classpathentry excluding=".cvsignore|Makefile|Makefile.am|Makefile.in" kind="src" path="resource"/>
<classpathentry excluding=".cvsignore|Makefile.am" kind="src" path="vm/reference"/>
<classpathentry excluding=".cvsignore|Makefile|Makefile.am|Makefile.in|README" kind="src" path="external/sax"/>
<classpathentry excluding=".cvsignore|Makefile|Makefile.am|Makefile.in|README" kind="src" path="external/w3c_dom"/>
<classpathentry excluding=".cvsignore|Makefile|Makefile.am|Makefile.in|Makefile.jawt|Makefile.jawt.in|README" kind="src" path="examples"/>
<classpathentry kind="src" path="tools/external/asm"/>
<classpathentry kind="output" path="install/share/classpath"/>
</classpath>
aclocal.m4
compile
configure
config.guess
config.log
config.cache
config.status
config.sub
config.h.in
config.h
libtool
ltmain.sh
Makefile
Makefile.in
stamp-h
stamp-h.in
autom4te*.cache
install
<?xml version='1.0'?>
<launchConfiguration type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute key='org.eclipse.debug.core.ATTR_REFRESH_SCOPE' value='${project}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS' value='full,incremental,auto,'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/external/sax/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/external/w3c_dom/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/java.net/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-nio/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/midi-dssi/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/vmi/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/java.util/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/target/generic/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/lib/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/fdlibm/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/target/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/target/Linux/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/examples/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jawt/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/gtk-peer/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/classpath/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/midi-alsa/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/java.lang.reflect/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/java.io/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/external/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/xmlj/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/compat/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/qt-peer/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/vm/reference/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-util/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/gnu.java.lang.reflect/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/configure.ac&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/compat/java.net/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/include/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-lang/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-io/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/doc/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/gnu/test/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/doc/api/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/testsuite/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-net/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/vm/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_LOCATION' value='/bin/sh'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY' value='${build_project}'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS' value='./autogen.sh'/><booleanAttribute key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND' value='false'/><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/></launchConfiguration>
\ No newline at end of file
<?xml version='1.0'?>
<launchConfiguration type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS' value='full,incremental,auto,'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/include/Makefile&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_LOCATION' value='${system_path:make}'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY' value='${build_project}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS' value='-C ${build_project}/include CLASSDIR=install/share/classpath USER_CLASSLIB=../install/share/classpath all install'/><booleanAttribute key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND' value='false'/><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/></launchConfiguration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; label=&quot;workingSet&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/install/share/classpath&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-cf glibj.zip META-INF java gnu org javax vm sun"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project:install/share/classpath}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_path:jar}"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
</launchConfiguration>
<?xml version='1.0'?>
<launchConfiguration type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute key='org.eclipse.debug.core.ATTR_REFRESH_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;working set&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS' value='full,incremental,auto,'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_LOCATION' value='${system_path:make}'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY' value='${build_project}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS' value='-C ${build_project}/native all install'/><booleanAttribute key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND' value='false'/><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/></launchConfiguration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/Makefile.in&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="--prefix=${build_project}/install --enable-regen-headers --with-ecj"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${build_project}/configure"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
</launchConfiguration>
<?xml version="1.0" encoding="UTF-8"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/resource/gnu/java/locale&quot; type=&quot;2&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/scripts/generate-locale-list.sh&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-C ${build_project}/lib ../gnu/java/locale/LocaleData.java"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/gnu/java/locale&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_path:make}"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
</launchConfiguration>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>classpath</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/Autogen.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/Configure.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/CreateLocaleData.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/ClasspathHeaders.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/CompileNative.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/ClasspathJar.launch</value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
#Tue Jan 11 17:36:31 MST 2005
comment_format_source_code=true
comment_new_line_for_parameter=true
comment_format_html=true
comment_line_length=80
comment_format_header=false
eclipse.preferences.version=1
comment_indent_parameter_description=true
comment_format_comments=true
comment_separate_root_tags=true
comment_clear_blank_lines=true
comment_indent_root_tags=true
The following have made major contributions to the Classpath
project. See also the THANKYOU file, which lists people who have
caught bugs or submitted minor patches. If your name does not appear
on either list, but should, let us know. Please keep this list in
alphabetic order.
Lillian Angel (langel@redhat.com)
Anthony Balkissoon (abalkiss@redhat.com)
Stuart Ballard (stuart.a.ballard@gmail.com)
Mark Benvenuto (mcb54@columbia.edu)
Gary Benson (gbenson@redhat.com)
Tania Bento (tbento@redhat.com)
Geoff Berry (gcb@gnu.org)
James E. Blair (corvus@gnu.org)
Eric Blake (ebb9@email.byu.edu)
Sascha Brawer (brawer@acm.org)
Chris Burdess (dog@gnu.org)
David Daney (ddaney@avtrex.com)
Nic Ferrier (nferrier@tapsellferrier.co.uk)
Paul Fisher (rao@gnu.org)
Thomas Fitzsimmons (fitzsim@redhat.com)
Jeroen Frijters (jeroen@frijters.net)
David Gilbert (david.gilbert@object-refinery.com)
Anthony Green (green@redhat.com)
Laszlo Andras Hernadi (e0327023@student.tuwien.ac.at)
Jochen Hoenicke (Jochen.Hoenicke@Informatik.Uni-Oldenburg.de)
Andrew John Hughes (gnu_andrew@member.fsf.org)
Kazumitsu Ito (kaz@maczuka.gcd.org)
Olivier Jolly (olivier.jolly@pcedev.com)
Brian Jones (cbj@gnu.org)
John Keiser (jkeiser@iname.com)
Roman Kennke (roman@kennke.org)
Michael Koch (konqueror@gmx.de)
Francis Kung (fkung@redhat.com)
John Leuner (jewel@debian.org)
Warren Levy (warrenl@cygnus.com)
Sven de Marothy (sven@physto.se)
Casey Marshall (csm@gnu.org)
Bryce McKinlay (bryce@waitaki.otago.ac.nz)
Audrius Meskauskas (audriusa@Bioinformatics.org)
Raif S. Naffah (raif@swiftdsl.com.au)
Aaron M. Renn (arenn@urbanophile.com)
Ian Rogers (ian.rogers@manchester.ac.uk)
Andrew Selkirk (aselkirk@sympatico.ca)
Robert Schuster (robertschuster@fsfe.org)
Joshua Sumali (jsumali@redhat.com)
Christian Thalinger (twisti@complang.tuwien.ac.at)
Andreas Tobler (a.tobler@schweiz.org)
Mario Torre (neugens@limasoftware.net)
Dalibor Topic (robilad@kaffe.org)
Tom Tromey (tromey@cygnus.com)
Ronald Veldema (rveldema@cs.vu.nl)
Mark Wielaard (mark@klomp.org)
Jon A. Zeppieri (jon@eease.com)
This package is still in the early development phase. That means too
early to start listing bugs in a file like this one!
Report bugs to classpath@gnu.org or much better via Savannah at this
URL: http://www.gnu.org/software/classpath/bugs.html
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This is an historic file listing changes from the old GNU JAXP project.
GNU JAXP is now part of GNU Classpath. New changes to these files are
listed in the main ChangeLog file or documented in the external
subdirectories for the w3c dom and sax sources.
2004-12-22 Chris Burdess <dog@gnu.org>
* Makefile.am: Generate META-INF/services factory configuration files.
2004-12-17 Mark Wielaard <mark@klomp.org>
* css,html2: Updated APIs to final versions of W3C specifications
(DOM Level 2).
2004-12-15 Mark Wielaard <mark@klomp.org>
* GnomeNodeIterator.java: Renamed to DomNodeIterator.java.
2004-12-10 Chris Burdess <dog@gnu.org>
* org/xml/sax: Updated version of SAX API to sax2r3 final.
2004-12-04 Chris Burdess <dog@gnu.org>
* README,INSTALL,AUTHORS: Updated documentation.
2004-12-03 Andrew Overholt <overholt@redhat.com>
* autogen.sh: New file.
2004-11-27 Chris Burdess <dog@gnu.org>
* Makefile.am: Removed redundant 'sources' and 'classes' makefile
variables. Added -W-no-long-long to libxmlj compilation flags.
2004-11-26 Andrew Overholt <overholt@redhat.com>
* Makefile.am: Update for gcj.
* configure.ac: Likewise.
* Makefile.in: Update generated.
* aclocal.m4: Likewise.
* configure: Likewise.
* config/config.guess: Likewise.
* config/config.sub: Likewise.
* config/ltmain.sh: Likewise.
2004-10-06 Chris Burdess <dog@gnu.org>
* Makefile.am: Fixes to permit gcj compilation.
2004-10-27 Chris Burdess <dog@gnu.org>
* parsers, transform, dom, sax, stream: API rewritten from
scratch to satisfy copyright assignment.
2004-10-13 Arnaud Vandyck <avdyk@gnu.org>
Reported by John Kristian <jk2004@engineer.com>:
* manifest.mf: added Implementation Version field.
2004-10-06 Chris Burdess <dog@gnu.org>
* Makefile.am: Make invocation of javadoc gjdoc-compatible.
2004-09-03 Chris Burdess <dog@gnu.org>
* all: Replaced GPL exception with new exception text.
2004-09-01 Chris Burdess <dog@gnu.org>
* all: Reassigned David Brownell's copyright to FSF.
2004-05-12 Chris Burdess <dog@gnu.org>
* (dom): Updated to DOM Level 3 Core and L&S interfaces.
* GnomeDocumentBuilder.java: Fixed stream retrieval bug.
2004-05-05 Chris Burdess <dog@gnu.org>
* Makefile.am, acinclude.m4: Added gcjh detection. Makefile will now
rebuild out of date JNI headers and gnujaxp.jar.
2004-04-22 Arnaud Vandyck <avdyk@ressource-toi.org>
* source: sources directory has been moved to source directory,
src has been deleted. Sorry for the inconvenience.
2004-04-20 Arnaud Vandyck <avdyk@ressource-toi.org>
Reported by Maarten Coene <MacBelgium@toughguy.net>:
* src/gnu/xml/aelfred2/JAXPFactory.java (getFeature): throws a
NullPointerException if you check for a feature that hasn't been
set at the factory level.
2004-04-19 Arnaud Vandyck <avdyk@ressource-toi.org>
* src/xmlj_io.h, src/xmlj_io.c, src/xmlj_error.h,
src/xmlj_error.c, src/libxsltj.c,
src/gnu/xml/libxmlj/transform/URIResolverProxy.java,
src/gnu/xml/libxmlj/transform/TransformerImpl.java,
src/gnu/xml/libxmlj/transform/TransformerFactoryImpl.java,
src/gnu/xml/libxmlj/transform/TransformTest.java,
src/gnu/xml/libxmlj/transform/TemplatesImpl.java,
src/gnu/xml/libxmlj/transform/SourceWrapper.java,
src/gnu/xml/libxmlj/transform/SourceLocatorImpl.java,
src/gnu/xml/libxmlj/transform/LibxsltStylesheet.java,
src/gnu/xml/libxmlj/transform/LibxmlDocument.java,
src/gnu/xml/libxmlj/transform/JavaContext.java,
src/gnu/xml/libxmlj/transform/IOToolkit.java,
src/gnu/xml/libxmlj/transform/ErrorListenerProxy.java,
src/gnu/xml/libxmlj/transform/DefaultURIResolverImpl.java,
src/gnu/xml/libxmlj/transform/DefaultErrorListenerImpl.java:
changed the copyright holder to FSF and changed the license to
GPL+linking exception, many thanks to Julian Scheid who wrote the
code and accepted to donate his code to the FSF and change the
license to GPL + linking exception.
* README: updated (added the libxmlj README comments)
* AUTHORS: added Julian.
* INSTALL: updated to match the current scheme (new dependency,
new build system)
2004-04-15 Arnaud Vandyck <avdyk@ressource-toi.org>
* src/gnu/xml/aelfred2/SAXDriver.java (SAXDriver): removed the
comparison choice because an org.xml.sax.SAXNotSupportedException
must be caught, so it'll slow the benefit of the interned strings!
* src/gnu/xml/pipeline/WellFormednessFilter.java (startDTD)
(notationDecl, unparsedEntityDecl): reverted the '==' comparison
between String's because they are internaled and there is no way
to choose if the comparison must use '==' or 'equals'
* src/gnu/xml/pipeline/ValidationConsumer.java: reverted the '=='
comparison between String's because they are internaled and there
is no way to choose if the comparison must use '==' or 'equals'
* src/gnu/xml/pipeline/DomConsumer.java:
(populateAttributes): using equals because I'm not sure "" is
interned?
* src/gnu/xml/aelfred2/XmlParser.java (parseAttribute)
(parseAttDef, readAttType, parseDefault)
(setInternalEntity, pushURL): if string-interning use the '=='
comparison, else, use 'equals'
* src/gnu/xml/aelfred2/SAXDriver.java (attribute, startElement)
(getType): if string-interning use the '==' comparison, else, use
'equals'
2004-04-14 Arnaud Vandyck <avdyk@ressource-toi.org>
* src/gnu/xml/aelfred2/SAXDriver.java (getFeature):
http://xml.org/sax/features/string-interning can now be set to
false so comparison if perform using equals (if true, comparison
is performed with '==').
* src/gnu/xml/util/XCat.java (startElement): reverted the '=='
comparison between String's because they are internaled and there
is no way to choose if the comparison must use '==' or 'equals'
* src/javax/xml/transform/sax/SAXResult.java, SAXSource.java,
SAXTransformerFactory.java, TemplatesHandler.java,
TransformerHandler.java,
src/javax/xml/transform/stream/StreamResult.java,
StreamSource.java, src/javax/xml/transform/dom/DOMLocator.java,
DOMResult.java, DOMSource.java,
src/javax/xml/parsers/ClassStuff.java, DocumentBuilder.java,
DocumentBuilderFactory.java, FactoryConfigurationError.java,
ParserConfigurationException.java, SAXParser.java,
SAXParserFactory.java, src/javax/xml/transform/ClassStuff.java,
ErrorListener.java, OutputKeys.java, Result.java, Source.java,
Templates.java, Transformer.java,
TransformerConfigurationException.java, TransformerException.java,
TransformerFactory.java,
TransformerFactoryConfigurationError.java,
src/gnu/xml/libxmlj/transform/DefaultErrorListenerImpl.java,
DefaultURIResolverImpl.java, ErrorListenerProxy.java,
IOToolkit.java, JavaContext.java, LibxmlDocument.java,
SourceLocatorImpl.java, SourceWrapper.java, TemplatesImpl.java,
TransformTest.java, TransformerImpl.java,
TransformerFactoryImpl.java, URIResolverProxy.java: removed the id
cvs tag to ease integration in other cvs repositories
2004-04-08 Arnaud Vandyck <avdyk@ressource-toi.org>
* NEWS: initial commit
* INSTALL: initial commit
* src: sources directory has been moved to src directory
* configure.ac, Makefile.am: now build jaxp and libxmlj together
* Makefile.aj, automakejar, configure.in: removed, no more used.
2004-02-05 Arnaud Vandyck <avdyk@users.sourceforge.net>
* ChangeLog.libxmlj, source/*.c, source/*h,
source/gnu/xml/libxmlj/transform/*.*: imported from libxmlj
* ChangeLog.gnujaxp: added to have some history of the project
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
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