Age | Commit message (Collapse) | Author |
|
setting the TREE_USED flag on a block.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@110128 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
representation.
(add(jfloat)): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@109979 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* llvm/llvmgen.hh, llvm/llvmfunction.cc, llvm/llvmclass.cc,
llvm/llvmgen.cc, llvm/llvmclass.hh, llvm/llvmfunction.hh: New
files.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@109859 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* Makefile.in: Rebuilt.
* Makefile.am (gcjx_LDADD): Handle LLVM.
(libgcjx_la_SOURCES): Likewise.
(llvm_cppflags, LLVMLIBPATH, llvm_libs, llvm_sources): New
variables.
* main.cc: Include llvmgen.hh.
(parse_args): Handle '-o llvm'.
* configure, gcjx-config.h.in: Rebuilt.
* configure.ac (--with-llvm): New option.
(--enable-llvmdebug): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@109778 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* Makefile.in: Rebuilt.
* Makefile.am (gcjx_LDADD): Handle LLVM.
(libgcjx_la_SOURCES): Likewise.
(llvm_cppflags, LLVMLIBPATH, llvm_libs, llvm_sources): New
variables.
* main.cc: Include llvmgen.hh.
(parse_args): Handle '-o llvm'.
* configure, gcjx-config.h.in: Rebuilt.
* configure.ac (--with-llvm): New option.
(--enable-llvmdebug): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@109777 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
fields.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@109737 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(argument_parser::parse_debug_option): New method.
(argument_parser::help_options): Updated.
* bytecode/classwriter.cc (write): Handle new debug flag.
* bytecode/generate.cc (generate): Handle different debug flags.
* compiler.cc (compiler): Updated.
* compiler.hh (compiler::target_debug): Removed.
(compiler::target_debug_source, compiler::target_debug_lines,
compiler::target_debug_vars): New flags.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@109684 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@109457 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
"parse::" qualification.
(parse::assignment_op_p(token_value)): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108939 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* PROJECTS: Updated.
* HACKING: New file.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108924 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108920 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108915 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108889 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* model/switch.cc (resolve): Use better error locations.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108828 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* bytecode/byteutil.hh (flip_if_opcode): New function.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108811 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(invert_if_opcode): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108809 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(visit_method): Don't initialize current class.
* abi.cc (build_field_reference): Don't initialize current class.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108542 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(find_field): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108442 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(hides_or_overrides_p): Set 'override'.
(check_override): Updated.
* model/method.hh (model_method::overrides): Removed.
(model_method::override): New field.
(model_method): Updated.
(model_method::get_override): New method.
(model_method::get_parent): Likewise.
* Makefile.in: Rebuilt.
* Makefile.am (headers): Added bridge.hh.
(bytecode_sources): Added bridge.cc.
* bytecode/classwriter.hh (class_writer::write_method): Added
argument.
* bytecode/classwriter.cc: Include bridge.hh.
(write): Create bridge method.
(write_method): Added 'is_bridge' argument.
* bytecode/bridge.cc: New file.
* bytecode/bridge.hh: New file.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108418 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(hides_or_overrides_p): Set 'override'.
(check_override): Updated.
* model/method.hh (model_method::overrides): Removed.
(model_method::override): New field.
(model_method): Updated.
(model_method::get_override): New method.
(model_method::get_parent): Likewise.
* Makefile.in: Rebuilt.
* Makefile.am (headers): Added bridge.hh.
(bytecode_sources): Added bridge.cc.
* bytecode/classwriter.hh (class_writer::write_method): Added
argument.
* bytecode/classwriter.cc: Include bridge.hh.
(write): Create bridge method.
(write_method): Added 'is_bridge' argument.
* bytecode/bridge.cc: New file.
* bytecode/bridge.hh: New file.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108417 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
type.
(find_field): Look for erasure of field's type.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108415 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* bytecode/generate.hh (bytecode_generator::handle_enum_switch):
Declare.
* bytecode/generate.cc (handle_enum_switch): New method.
(visit_switch): Use it.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@108412 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(model_field): Added 'other' argument.
(apply_type_map): Updated.
(erasure): Updated. Delegate to parent if one exists.
* model/field.hh (model_field::parent): New field.
(model_field): New constructor.
* model/method.cc (model_method): Initialize new field.
(erasure): Delegate to parent, if it exists.
(get_erased_return_type): New method.
* model/method.hh (model_method::parent): New field.
(model_method): Initialize new field.
(model_method::get_erased_return_type): Declare.
* bytecode/generate.hh (bytecode_generator::handle_invocation):
Updated.
* bytecode/generate.cc (handle_invocation): Added 'request'
argument. Emit cast if erasure changes method's return type.
(emit_cast_maybe_boxing): Updated.
(visit_field_ref): Likewise.
(visit_method_invocation): Likewise.
(visit_type_qualified_invocation): Likewise.
(visit_super_invocation): Likewise.
(visit_this_invocation): Likewise.
(visit_field_ref): Emit cast if erasure changes field's type.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107975 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(do_analyze_unit): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107947 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
recursive invocations.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107915 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(resolve): Use it.
* model/memberref.hh
(model_memberref_forward::resolve_as_enum_constant): Declare.
(model_memberref_base::resolve_as_enum_constant): Declare.
* model/switch.hh (model_switch_block::resolve_as_enum_constant):
Declare.
* model/switch.cc (resolve_as_enum_constant): New method.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107914 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107913 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* model/variable.cc (resolve_classes): Resolve annotations
first. Push warning scope.
(resolve): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107901 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
to unify.
* unify.cc (unify): Added is_varargs argument.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107859 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(model_new_enum): Added argument.
(model_new_enum::get_enum_constant): New method.
* model/enum.cc (add_enum): Indentation fix. Updated for change
to model_new_enum.
* model/switch.cc (resolve): Use unwrap_enum_constant.
* conversions.cc (unwrap_enum_constant): New function.
(annotation_commensurate_p): Use it. Peel forwarding reference.
* conversions.hh (unwrap_enum_constant): Declare.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107858 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
doesn't import a class.
(look_up_name): Fix typo.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107857 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107856 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107824 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(unifier::consider_lubs): Only look at '>>' constraints.
* model/classinst.cc (contains_p): Handle raw types.
* model/raw.hh (model_raw_class::raw_p): New method.
* model/class.hh (model_class::raw_p): New method.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107683 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107672 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* model/invoke.cc: Move class instantiations later.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@107610 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(resolve): Use 'state'.
(resolve_classes): Likewise.
* model/method.hh (model_method::resolution_state_value): New
enum.
(model_method::state): New field.
(model_method): Initialize new field.
* model/field.cc (model_field): Updated.
(type): Likewise.
(resolve_classes): Likewise.
(resolve): Likewise.
(require_resolution): Likewise.
* model/field.hh (model_field::resolution_state_value): New enum.
(model_field::state): Changed type.
* model/assert.cc (resolve): Don't call add_assert_members.
* source/parse.cc (assert_statement): Call add_assert_members.
* model/constructor.cc (add_parameter): Removed assert.
(resolve): Use 'state' field.
* model/invoke.cc (resolve): Added special case for 'enum'.
* model/wildcard.hh (model_wildcard::resolve_classes_hook):
Renamed.
* model/wildcard.cc (resolve_classes_hook): Renamed.
* model/typevar.hh (model_type_variable::resolve_classes_hook):
Renamed.
* model/typevar.cc (resolve_classes_hook): Renamed.
* model/enum.hh (model_enum::resolve_classes_hook): Renamed.
(model_enum::add_implicit_constructor): Declare.
(model_enum::resolve_member_hook): Declare.
* model/class.cc (do_resolve_classes): Updated.
(add_assert_members): Set location from class. Don't add to
static initializer.
(create_clinit_method): Add assertions to static initializer.
(resolve): Don't give an error about synthetic static fields.
* model/annotype.hh (model_annotation_type::resolve_classes_hook):
Renamed.
* model/annotype.cc (resolve_classes_hook): Renamed.
* model/class.hh (model_class::resolve_classes_hook): Renamed
from resolve_hook.
(model_class::add_implicit_constructor): Now virtual.
* model/new.cc (check_instantiation): New method.
(finish_search_class): Use it.
* model/new.hh (model_new::check_instantiation): Declare.
(class model_new_enum): New class.
* model/enum.cc (add_enum): Pass name and ordinal to
constructor. Create a model_new_enum.
(resolve_classes_hook): Renamed.
(resolve_member_hook): New method.
(add_enum_arguments): New method.
* model/enumconst.cc (model_enum_constant): New constructor.
* model/enumconst.hh (model_enum_constant): No longer inline.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106785 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(add_static_initializer): Don't emit error.
(create_clinit_method): Check errors.
(create_finit_method): Check errors.
(add_instance_initializer): Don't emit error.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106760 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
constant.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106718 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* model/memberref.hh
(model_memberref_forward::use_assignment_conversion): New method.
(model_memberref_forward::assign_conv_type): New field.
(model_memberref_forward): Initialize it.
* unify.hh (unify): Added declared_return_type argument. Changed
type of assignment_type argument.
* model/method.cc (method_conversion_p): Pass declared return
type to unify.
* unify.cc (unifier::consider_lubs): New method. Don't update
map if computed LUB is NULL.
(unifier::declared_return_type): New field.
(unifier::assign_conv_type): Likewise.
(unifier): Added new arguments.
(unify): Updated.
(unifier::infer_as_object): New method.
(unifier::consider_return_type): New method.
(unifier::resolve_constraints): Use consider_lubs,
consider_return_type, infer_as_object.
(unifier::mapping_complete_p): Removed.
(unifier::unify): Added more code for the '>>' case.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106708 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
method.
* model/method.hh (model_method::method_conversion_p): Updated.
* model/method.cc (method_conversion_p): Added 'assign_type'
argument.
* model/invoke.hh (model_invocation_base::assign_type): New
field.
(model_invocation_base): Initialize it.
(model_invocation_base::use_assignment_conversion): New method.
* model/assign.cc (handle_resolve): Removed.
(resolve): Merged in code from handle_resolve. Call
use_assignment_conversion.
* model/variable.cc (resolve): Call use_assignment_conversion.
* model/return.cc (resolve): Call use_assignment_conversion.
* model/assign.hh (model_assignment::handle_resolve): Removed.
* model/arrayinit.cc (resolve): Call use_assignment_conversion.
* model/expr.hh (model_expression::use_assignment_conversion):
Declare.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106661 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
on class instance.
* model/classinst.cc (contains_p): New method.
* access.cc (accessible_p): Allow wildcards and type variables.
* model/classinst.hh (model_class_instance::contains_p): Declare.
* model/this.hh (model_this::check_match): Take erasures.
* model/this.cc (check_outer): Take erasures.
(check_match): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106618 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(accessible_p): Use it.
(trampoline_required_p): Likewise.
* model/fwdtype.cc (maybe_get_erasure): Removed.
(resolve): Don't take erasure.
* name.cc (maybe_get_erasure): New function.
(classify_type_name): Use it.
* conversions.cc (widen_instantiation): Don't do capture
conversion.
* model/wildcard.cc (contains_p): Handle case where other
wildcard does not have a bound.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106616 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(model_instance_cache::find_erased_instance): New method.
(model_instance_cache::add_erased_instance): Likewise.
* model/fwdtype.cc (resolve): Find parent of raw class.
(resolve): Find erasure of plain class.
(maybe_get_erasure): New function.
* model/constructor.cc (erasure): New method.
(model_constructor): New constructor.
(apply_type_map): Cache result.
* model/constructor.hh (model_constructor::erasure): Declare.
(model_constructor): Declare.
* model/method.cc (erasure): New method.
(model_method): New constructor.
* model/method.hh (model_method::erasure): Declare.
(model_method): Declare.
* model/field.cc (erasure): New method.
* model/field.hh (model_field::erasure): Declare.
* model/variable.cc (erasure): New method.
* model/variable.hh (model_variable_decl::erasure): Declare.
* model/classinst.hh (model_class_instance::erasure): Updated.
* model/classinst.cc (ensure_classes_inherited): Removed argument
name.
* model/class.cc (erasure): New method.
* model/class.hh (model_class::erasure): Declare.
(model_class::raw_class): New field.
* Makefile.in: Rebuilt.
* Makefile.am (headers): Added raw.hh.
(model_sources): Added raw.cc.
* typedefs.hh: Include raw.hh.
* model/raw.cc: New file.
* model/raw.hh: New file.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106607 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Declare.
* model/classinst.hh (model_class_instance::ensure_classes_inherited):
Declare.
* model/classinst.cc (ensure_classes_inherited): New method.
(resolve_member_hook): Don't create member classes.
* model/class.cc (ensure_classes_inherited): New method
(do_resolve_classes): Use it.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106386 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(model_static_import_single::get_simple_name): New method.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106312 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* model/wildcard.hh (model_wildcard::apply_type_map): Declare.
* model/method.cc (return_type_substitutable_p): Correctly apply
unchecked conversion.
* conversions.cc (widen_instantiation): Use capture_conversion.
* conversions.hh (capture_conversion): Fixed.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106309 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* model/wildcard.hh (model_wildcard::get_pretty_name): No longer
inline.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@106298 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
model_parameters iterator methods.
(get_signature_map_fragment): Likewise.
(get_pretty_name): New method.
* model/classinst.hh (model_class_instance::get_pretty_name):
Declare.
* model/class.hh (model_class::get_pretty_name): Now virtual.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@105959 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* model/wildcard.hh (model_wildcard::contains_p): Declare.
* conversions.hh (capture_conversion): Declare.
* conversions.cc (capture_conversion): New function.
(widen_instantiation): Likewise.
(widening_reference_conversion): Use widen_instantiation.
* model/class.hh (model_class::create_instance): Changed return
type.
(model_class::contains_p): Declare.
* model/class.cc (create_instance): Updated.
(contains_p): New method.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcjx-branch@105957 138bc75d-0d04-0410-961f-82ee72b054a4
|