| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
(annotate_rep): Use it instead of purpose_member.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153616 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
processing the parent type, build the COMPONENT_REF for a discriminant
with the proper type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153528 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in (GNATLIBCFLAGS_FOR_C): New variable.
(LIBADA_FLAGS_TO_PASS): Add GNATLIBCFLAGS_FOR_C.
* configure.ac: Include config/unwind_ipinfo.m4.
Check for _Unwind_GetIPInfo.
* configure: Regenerate.
gcc/ada/
* init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
* gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
gcc/testsuite/
* gnat.dg/null_pointer_deref1.adb: New test.
* gnat.dg/null_pointer_deref2.adb: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153525 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
the constraint to the type of the discriminant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153054 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
TYPE_DECL when a type is padded if there is already one and reset
TYPE_STUB_DECL in this case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153053 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
main_identifier_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153052 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
with an inner type of self-referential size, pad the expression before
doing the unchecked conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152935 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
sure the element type is consistent.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152934 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152932 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(TYPE_IS_FAT_POINTER_P): ...this.
(TYPE_THIN_POINTER_P): Rename into...
(TYPE_IS_THIN_POINTER_P): ...this.
(TYPE_FAT_OR_THIN_POINTER_P): Rename into...
(TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
(TYPE_IS_PADDING_P): Change definition, move old one to...
(TYPE_PADDING_P): ...this.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
(get_unpadded_type): Likewise.
(gnat_to_gnu_component_type): Likewise.
(gnat_to_gnu_param): Likewise.
(relate_alias_sets): Likewise.
(make_packable_type): Likewise.
(maybe_pad_type): Likewise.
(gnat_to_gnu_field): Likewise.
(is_variable_size): Likewise.
(annotate_object): Likewise.
(validate_size): Likewise.
(set_rm_size): Likewise.
(make_type_from_size): Likewise.
(rm_size): Likewise.
* gcc-interface/misc.c (gnat_print_type): Likewise.
(gnat_get_alias_set): Likewise.
* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
(Attribute_to_gnu): Likewise.
(call_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
(add_decl_expr): Likewise.
(convert_with_check): Likewise.
(addressable_p): Likewise.
(maybe_implicit_deref): Likewise.
(protect_multiple_eval): Likewise.
(gnat_stabilize_reference_1): Likewise.
* gcc-interface/utils.c (gnat_pushdecl): Likewise.
(finish_record_type): Likewise.
(rest_of_record_type_compilation): Likewise.
(create_type_decl): Likewise.
(gnat_types_compatible_p): Likewise.
(build_template): Likewise.
(convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.
(build_unc_object_type_from_ptr): Likewise.
(update_pointer_to): Likewise.
(convert_to_fat_pointer): Likewise.
(convert_to_fat_pointer): Likewise.
(convert): Likewise.
(remove_conversions): Likewise.
(maybe_unconstrained_array): Likewise.
(unchecked_convert): Likewise.
(handle_vector_type_attribute): Likewise.
* gcc-interface/utils2.c (build_binary_op): Likewise.
(build_unary_op): Likewise.
(build_allocator): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152917 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
add new IS_COMPONENT_TYPE parameter. Adjust. Remove dead code.
(gnat_to_gnu_entity): Adjust for above change.
(gnat_to_gnu_component_type): Likewise.
(gnat_to_gnu_field): Likewise.
* gcc-interface/trans.c (call_to_gnu): Likewise. Do not unnecessarily
call max_size.
* gcc-interface/utils.c (finish_record_type): Remove obsolete code.
* gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152916 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
Generate an XVZ variable alongside the XVS type if the size is
not constant.
(maybe_pad_type): Minor tweak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152420 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
doesn't come from source.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152418 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
unit size for the component size of an array with aliased components.
(maybe_pad_type): Do not warn for MAX_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152417 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
common code processing the component type into...
<E_Array_Subtype>: Likewise.
(gnat_to_gnu_component_type): ...this new static function.
(maybe_pad_type): Minor cleanup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152273 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of constrained discriminated record subtypes.
(components_to_record): Declare the type of the variants and of the
qualified union.
(build_subst_list): Move around.
(compute_field_positions): Rename into...
(build_position_list): ...this. Return a TREE_VEC.
(annotate_rep): Adjust for above renaming.
(build_variant_list): New static function.
(create_field_decl_from): Likewise.
(get_rep_part): Likewise.
(get_variant_part): Likewise.
(create_variant_part_from): Likewise.
(copy_and_substitute_in_size): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152272 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/targtyps.c
* (get_target_default_allocator_alignment):
Account for observable alignments out of default allocators.
testsuite/
* gnat.dg (tagged_alloc_free.adb): New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152243 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* except.c (gen_eh_region): Set it.
(duplicate_eh_regions_1): Copy it.
* tree-eh.c (lower_resx): Use it to determine which function
to call to resume.
* langhooks.h (struct lang_hooks): Add eh_use_cxa_end_cleanup.
* langhooks-def.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
* builtins.def (BUILT_IN_CXA_END_CLEANUP): New.
* tree.c (build_common_builtin_nodes): Remove parameter. Build
BUILT_IN_CXA_END_CLEANUP if necessary.
* tree.h (build_common_builtin_nodes): Update decl.
* c-common.c (c_define_builtins): Update call to
build_common_builtin_nodes.
gcc/ada/
* gcc-interface/utils.c (gnat_install_builtins): Update call to
build_common_builtin_nodes.
gcc/cp/
* cp-objcp-common.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
gcc/fortran/
* f95-lang.c (gfc_init_builtin_functions): Update call to
build_common_builtin_nodes.
gcc/java/
* builtins.c (initialize_builtins): Update call to
build_common_builtin_nodes.
* lang.c (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152241 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
negative size for the array dimensions like in the constrained case.
<E_Array_Subtype>: Do not create an artificially non-constant high
bound if the low bound is non-constant. Minor tweaks.
* gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
and turn ALIASED into a boolean parameter. Adjust calls to self.
<N_Attribute_Reference>: Return 1 for more attributes.
<N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
<N_Assignment_Statement>: Return 1 for the LHS.
(Identifier_to_gnu): Adjust calls to lvalue_required_p.
(call_to_gnu): Be prepared for wrapped boolean rvalues.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152201 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
specific node. Representative array type for VECTOR_TYPE entities.
* gcc-interface/utils.c (handle_vector_type_attribute): New handler.
Turn an ARRAY_TYPE entity into a VECTOR_TYPE.
(gnat_types_compatible_p): Handle VECTOR_TYPEs.
(convert): Likewise. Arrange to produce VECTOR_CST out of constant
array aggregates for VECTOR_TYPE entities.
(unchecked_convert): Likewise.
(maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
converted to the associated TYPE_REPRESENTATIVE_ARRAY.
(handle_pure_attribute, handle_sentinel_attribute,
handle_noreturn_attribute, handle_malloc_attribute,
handle_vector_size_attribute): Replace uses of qE format by qs.
Remove GCC_DIAG_STYLE definition.
* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
vector input to representative array type on entry.
<N_Op_Eq, etc>: Likewise.
* gcc-interface/gigi.h (maybe_vector_array): Declare.
(VECTOR_TYPE_P): New predicate.
* gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
testsuite/
* gnat.dg/sse_nolib.adb: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152165 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
lieu of mark_visited.
* gcc-interface/gigi.h (mark_visited): Change type of parameter.
(MARK_VISITED): New macro.
(gnat_truthvalue_conversion): Delete.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
of mark_visited.
(annotate_rep): Fix formatting and tidy.
(compute_field_positions): Get rid of useless variable.
* gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
node only once. Use IN operator for the Nkind in more cases.
Remove calls to gnat_truthvalue_conversion.
(mark_visited): Change type of parameter and adjust.
(mark_visited_r): Dereference TP only once.
(add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
* gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
(build_binary_op): Remove calls to gnat_truthvalue_conversion.
(build_unary_op): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152121 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
a-except% in target pairs list; don't (implicitly) compare whitespace.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152116 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* targhooks.c (default_static_chain): Use !DECL_STATIC_CHAIN
instead of DECL_NO_STATIC_CHAIN.
* tree-cfg.c (verify_gimple_call): Likewise.
* tree-nested.c (get_chain_decl, get_chain_field,
convert_tramp_reference_op, convert_gimple_call): Likewise.
(convert_all_function_calls): Likewise. Always set or clear
DECL_STATIC_CHAIN initially, for !n->outer clear it.
(lower_nested_functions): Remove DECL_NO_STATIC_CHAIN checking code.
* c-parser.c (c_parser_declaration_or_fndef): Set DECL_STATIC_CHAIN
if nested.
* print-tree.c (print_node): Handle DECL_STATIC_CHAIN instead of
DECL_NO_STATIC_CHAIN.
* config/i386/i386.c (ix86_static_chain): Use !DECL_STATIC_CHAIN
instead of DECL_NO_STATIC_CHAIN.
(ix86_function_regparm, find_drap_reg): Likewise. Don't test
decl_function_context.
* varasm.c (initializer_constant_valid_p): Likewise.
* tree.h (DECL_NO_STATIC_CHAIN): Renamed to ...
(DECL_STATIC_CHAIN): ... this.
* config/moxie/moxie.c (moxie_static_chain): Use !DECL_STATIC_CHAIN
instead of DECL_NO_STATIC_CHAIN.
* method.c (make_thunk, make_alias_for): Don't set
DECL_NO_STATIC_CHAIN.
* decl.c (builtin_function_1, grokfndecl): Likewise.
* lex.c (build_lang_decl): Likewise.
* gcc-interface/utils.c (gnat_pushdecl): Don't set
DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
nested functions.
* testsuite/gcc.target/i386/pr12329.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152114 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
conversions between original and packable version of types from
the expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151757 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a padding type was made for the field, declare it.
(components_to_record): Add DEBUG_INFO_P parameter. Adjust call
to gnat_to_gnu_field and call to self.
(gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
<E_Array_Subtype>: Likewise.
Adjust calls to gnat_to_gnu_field and components_to_record.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151755 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cfgbuild.c (make_edges): Handle asm goto.
* cfglayout.c (fixup_reorder_chain): Likewise.
* cfgrtl.c (patch_jump_insn): Likewise.
* gimple-pretty-print.c (dump_gimple_asm): Likewise.
* gimple.c (gimple_build_asm_1): Add and use nlabels parameter.
(gimple_build_asm_vec): Add and use labels parameter.
(gimple_build_asm): Remove.
(walk_gimple_asm): Walk labels too.
* gimple.def (GIMPLE_ASM): Update docs.
* gimple.h: Update decls.
(struct gimple_statement_asm): Change nc to use unsigned char;
add nl member.
(gimple_asm_nlabels): New.
(gimple_asm_label_op, gimple_asm_set_label_op): New.
* gimplify.c (gimplify_asm_expr): Copy labels from ASM_EXPR
into gimple_build_asm_vec.
* jump.c (mark_jump_label_asm): New.
(mark_jump_label): Use it.
(redirect_jump_1): Handle asm goto.
(invert_jump_1): Soft fail if X is null.
* recog.c (extract_asm_operands): New.
(asm_noperands): Use it; handle asm labels.
(decode_asm_operands): Use extract_asm_operands.
(asm_operand_ok): Properly handle empty string.
* reg-stack.c (get_asm_operands_in_out): Rename from
get_asm_operand_n_inputs; use extract_asm_operands; return both
inputs and outputs by reference; update all callers.
* rtl.def (ASM_OPERANDS): Add label vector as operand 6.
* rtl.h (ASM_OPERANDS_LABEL_VEC): New.
(ASM_OPERANDS_LABEL_LENGTH, ASM_OPERANDS_LABEL): New.
(ASM_OPERANDS_SOURCE_LOCATION): Renumber.
(extract_asm_operands): Declare.
* stmt.c (expand_asm_operands): Add and use labels parameter.
(check_unique_operand_names): Likewise.
(resolve_asm_operand_names, resolve_operand_name_1): Likewise.
(expand_asm_stmt): Handle asm labels.
* tree-cfg.c (make_gimple_asm_edges): New.
(make_edges): Use it.
(cleanup_dead_labels): Handle asm labels.
(is_ctrl_altering_stmt): Likewise.
(gimple_redirect_edge_and_branch): Likewise.
* tree.def (ASM_EXPR): Add 5th operand.
* tree.h (ASM_LABELS): New.
(resolve_asm_operand_names): Update decl.
* c-parser.c (c_parser_asm_statement): Parse asm goto.
(c_parser_asm_goto_operands): New.
* c-tree.h (build_asm_expr): Update decl.
* c-typeck.c (build_asm_expr): Add and use labels parameter.
* doc/extend.texi: Document asm goto.
gcc/ada/
* gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
gcc/cp/
* cp-tree.h (finish_asm_stmt): Update decl.
* parser.c (cp_parser_asm_definition): Parse asm goto.
(cp_parser_asm_label_list): New.
* pt.c (tsubst_copy_asm_operands): Don't recurse on labels.
(tsubst_expr): Handle asm labels.
* semantics.c (finish_asm_stmt): Add and use labels parameter.
gcc/testsuite/
* c-c++-common/asmgoto-1.c, c-c++-common/asmgoto-2.c,
c-c++-common/asmgoto-3.c, gcc.c-torture/compile/asmgoto-1.c,
gcc.dg/tree-ssa/asmgoto-1.c: New files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151701 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the unconstrained case.
* gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
the encoding. Do not give a name to the pointer type to the XUT type.
* gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
for fat pointer types, if any. Make sure DECL_ARTIFICIAL is cleared
on nodes with DECL_ORIGINAL_TYPE set.
(update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
for fat pointer types. Make sure DECL_ARTIFICIAL is cleared.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151697 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151696 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rafael Avila de Espindola <espindola@google.com>
* langhooks-def.h (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
(LANG_HOOKS_EH_PERSONALITY): Likewise.
(LANG_HOOKS_INITIALIZER): Adjust.
(lhd_pass_through_t): Declare.
* langhooks.h (struct lang_hooks): Add eh_runtime_type and
eh_personality.
* langhooks.c (lhd_pass_through_t): New function.
* dwarf2out.c (output_call_frame_info, dwarf2out_do_cfi_startproc,
dwarf2out_begin_prologue): Use personality from current_function_decl.
* expr.h (get_personality_function): Declare.
* expr.c (get_personality_function): New function.
(build_personality_function): Likewise.
* libfuncs.h (libfunc_index): Remove LTI_eh_personality.
(eh_personality_libfunc): Remove.
* optabs.c (build_libfunc_function): New function split out from ...
(init_one_libfunc): ... here.
* tree.h (DECL_FUNCTION_PERSONALITY): New.
(tree_function_decl): Add personality.
(lhd_gcc_personality): Declare.
(build_personality_function): Likewise.
* tree.c (gcc_eh_personality_decl): New.
(lhd_gcc_personality): New function.
* except.h (lang_eh_runtime_type): Remove.
(enum eh_personality_kind): New.
(build_personality_function): Declare.
(function_needs_eh_personality): Declare.
* except.c (lang_eh_runtime_type): Remove.
(function_needs_eh_personality): New function.
(add_type_for_runtime): Call lang_hooks.type_for_runtime instead.
(sjlj_emit_function_enter, output_function_exception_table):
Use personality from current_function_decl.
* tree-eh.c (lower_eh_constructs): Set DECL_FUNCTION_PERSONALITY.
* tree-inline.c (tree_can_inline_p): Do not inline across different
EH personalities.
(expand_call_inline): Likewise. Adjust the callers EH personality.
(tree_function_versioning): Copy DECL_FUNCTION_PERSONALITY.
* cgraph.c (cgraph_add_new_function): Set DECL_FUNCTION_PERSONALITY.
* Makefile.in (cgraph.o): Add $(EXCEPT_H) dependency.
(c-parser.o): Likewise
* c-tree.h (c_eh_initialized_p): Remove.
(c_maybe_initialize_eh): Likewise.
* c-decl.c (finish_decl): Don't call c_maybe_initialize_eh.
(finish_decl): Don't call c_maybe_initialize_eh.
(c_eh_initialized_p): Remove.
(c_maybe_initialize_eh): Likewise.
* c-parser.c (c_parser_omp_construct): Likewise.
(c_parse_file): Initialize exception handling.
objc/
* objc-act.c (objc_eh_runtime_type): Export.
(objc_init_exceptions): Remove. Move warning code ...
(objc_begin_try_stmt): ... here
(objc_build_throw_stmt): ... and here.
(objc_eh_personality_decl): New.
(objc_eh_personality): New function.
* objc-act.h (objc_eh_runtime_type): Declare.
(objc_eh_personality): Likewise.
* objc-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
(LANG_HOOKS_EH_PERSONALITY): Likewise.
cp/
* except.c (init_exception_processing): Do not set
lang_eh_runtime_type.
(choose_personality_routine): Do not set eh_personality_decl,
set pragma_java_exceptions.
* cp-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
(LANG_HOOKS_EH_PERSONALITY): Likewise.
(cp_eh_personality_decl): New.
(cp_eh_personality): Likewise.
* Make-lang.in (cp-lang.o): Add $(EXPR_H) and $(EXCEPT_H)
dependencies.
java/
* decl.c (do_nothing): Remove.
(java_init_decl_processing): Do not set lang_eh_runtime_type.
* Make-lang.in (lang.o): Add $(EXCEPT_H) dependency.
* lang.c (java_eh_personality): New.
(java_eh_personality_decl): Likewise.
(LANG_HOOKS_EH_PERSONALITY): Define.
ada/
* gcc-interface/misc.c (gnat_init_gcc_eh): Do not set
lang_eh_runtime_type.
(LANG_HOOKS_EH_PERSONALITY): Define.
(gnat_eh_personality_decl): New.
(gnat_eh_personality): Likewise.
* Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
* config-lang.in (gtfiles): Add misc.c.
fortran/
* f95-lang.c (gfc_maybe_initialize_eh): Do not init
eh_personality_libfunc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151676 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR ada/18302
* ada/acats/run_all.sh (target_run): Use run_test.exp to execute
commands.
* ada/acats/run_test.exp: New file.
gcc/ada:
PR ada/18302
* gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151614 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
flow of control.
Avoid useless work when processing the Treat_As_Volatile flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151535 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151498 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/targtyps.c: Add missing include for tm_p.h.
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151474 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-lang.c (lang_hooks): Remove const qualifier.
java/ChangeLog
* lang.c (lang_hooks): Remove const qualifier.
objc/ChangeLog
* objc-lang.c (lang_hooks): Remove const qualifier.
objcp/ChangeLog
* objcp-lang.c (lang_hooks): Remove const qualifier.
ada/ChangeLog
* gcc-interface/misc.c (lang_hooks): Remove const qualifier.
fortran/ChangeLog
* f95-lang.c (lang_hooks): Remove const qualifier.
cp/ChangeLog
* cp-lang.c (lang_hooks): Remove const qualifier.
2009-09-01 Diego Novillo <dnovillo@google.com>
* cgraph.c (cgraph_node_for_decl): New.
* cgraph.h (cgraph_node_for_decl): Declare.
* tree.c (host_integerp): Return 0 if T is NULL.
2009-09-01 Diego Novillo <dnovillo@google.com>
* tree.h (struct alias_pair): Move from varasm.c.
(alias_pairs): Likewise.
(TYPE_MAXVAL): Define.
(TYPE_MINVAL): Define.
(iterative_hash_host_wide_int): Declare.
(remove_unreachable_alias_pairs): Declare.
* tree-pass.h (pass_ipa_free_lang_data): Declare.
* diagnostic.c (default_diagnostic_starter): Make extern.
(default_diagnostic_finalizer): Make extern.
* diagnostic.h (default_diagnostic_starter): Declare.
(default_diagnostic_finalizer): Declare.
(default_tree_printer): Declare.
* toplev.c (default_tree_printer): Make extern.
2009-09-01 Richard Guenther <rguenther@suse.de>
Diego Novillo <dnovillo@google.com>
* cgraph.c (cgraph_add_new_function): Remove gimplification.
* cgraphunit.c (cgraph_expand_function): Do not emit
associated thunks from here.
(cgraph_emit_thunks): New.
(cgraph_optimize): Call it.
Return if any IPA pass finds an error.
* varasm.c (finish_aliases_1): Ignore errorneous aliases used
by thunks.
2009-09-01 Simon Baldwin <simonb@google.com>
Rafael Espindola <espindola@google.com>
Richard Guenther <rguenther@suse.de>
Doug Kwan <dougkwan@google.com>
Diego Novillo <dnovillo@google.com>
* tree.c: Include tree-pass.h, langhooks-def.h,
diagnostic.h, cgraph.h, timevar.h, except.h and debug.h.
(free_lang_data_in_type): New.
(need_assembler_name_p): New.
(free_lang_data_in_block): New.
(free_lang_data_in_decl): New.
(struct free_lang_data_d): New.
(add_tree_to_fld_list): New.
(find_decls_types_r): New.
(get_eh_types_for_runtime): New.
(find_decls_types_in_eh_region): New.
(find_decls_types_in_node): New.
(find_decls_types_in_var): New.
(free_lang_data_in_cgraph): New.
(free_lang_data): New.
(gate_free_lang_data): New.
(pass_ipa_free_lang_data): New.
2009-09-01 Diego Novillo <dnovillo@google.com>
* timevar.def (TV_IPA_FREE_LANG_DATA): Define.
* langhooks.h (struct lang_hooks): Add field free_lang_data.
(lang_hooks): Remove const qualifier.
* ipa.c (cgraph_remove_unreachable_nodes): Call
remove_unreachable_alias_pairs.
* except.c (add_type_for_runtime): Check if TYPE has
already been converted.
(lookup_type_for_runtime): Likewise.
(check_handled): Handle converted types.
* varasm.c (remove_unreachable_alias_pairs): New.
* gimple.c: Include demangle.h.
(gimple_decl_printable_name): New.
(gimple_fold_obj_type_ref): New.
* gimple.h (gimple_decl_printable_name): Declare.
(gimple_fold_obj_type_ref): Declare.
* passes.c (init_optimization_passes): Add pass
pass_ipa_free_lang_data.
* langhooks-def.h (LANG_HOOKS_FREE_LANG_DATA): Define.
(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_FREE_LANG_DATA.
testsuite/ChangeLog
2009-09-01 Diego Novillo <dnovillo@google.com>
* gcc.dg/gomp/combined-1.c: Adjust expected pattern.
* g++.dg/tree-prof/inline_mismatch_args.C: Likewise.
* g++.dg/warn/unit-1.C: Likewise.
* g++.dg/ipa/iinline-1.C: Likewise.
* g++.dg/template/cond2.C: Adjust expected line location for the
error.
* g++.dg/template/pr35240.C: Likewise.
cp/ChangeLog
2009-09-01 Doug Kwan <dougkwan@google.com>
* tree.c (cp_fix_function_decl_p): New.
(cp_free_lang_data): New.
2009-09-01 Diego Novillo <dnovillo@google.com>
* Make-lang.in (decl2.o): Add dependency on $(POINTER_SET_H).
* decl2.c: Include pointer-set.h.
(collect_candidates_for_java_method_aliases): New.
(cp_write_global_declarations): Call it.
Add local variable CANDIDATES. If set, call
build_java_method_aliases.
(build_java_method_aliases): Add argument CANDIDATES.
Use it to determine if FNDECL should get a hidden alias.
* cp-objcp-common.h (LANG_HOOKS_FREE_LANG_DATA): Define.
* cp-tree.h (cp_free_lang_data): Declare.
2009-09-03 Richard Guenther <rguenther@suse.de>
* method.c (use_thunk): Use cgraph_finalize_function to hand
off thunks to the cgraph.
* semantics.c (emit_associated_thunks): Do not emit thunks
for really extern functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151360 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/decl.c (cannot_be_superflat_p): Handle
Signed_Integer_Type_Definition Scalar_Ranges.
testsuite/
* gnat.dg/array7.ad[bs]: Add check for Signed_Integer_Type_Definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151322 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
SAVE_EXPR built for misaligned arguments. Remove redundant stuff.
(addressable_p): Return true for more rvalues.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151319 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
type.
* gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
POINTER_SIZE to HOST_WIDE_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151263 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tree-flow.h (mark_addressable): Move declaration ...
* tree.h (mark_addressable): ... here.
* stmt.c (expand_asm_operands): Use mark_addressable, not
lang_hooks.mark_addressable.
* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
LANG_HOOKS_MARK_ADDRESSABLE.
* langhooks.h (struct lang_hooks): Remove mark_addressable langhook.
* c-objc-common.h (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
ada/
* gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
cp/
* cp-objcp-common.h (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
fortran/
* f95-lang.c (gfc_mark_addressable): Remove.
(LANG_HOOKS_MARK_ADDRESSABLE): Likewise.
java/
* lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
* java-tree.h (java_mark_addressable): Likewise.
* typeck.c (java_mark_addressable): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151260 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(gimplify_modify_expr_to_memcpy): Invoke it on the RHS before marking
it addressable.
(gimplify_addr_expr): Invoke it similarly on the operand instead of
manually fiddling with it.
ada/
* gcc-interface/trans.c (call_to_gnu): Tidy.
(gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
non-constant size but the array itself has constant size.
* gcc-interface/utils.c (convert_vms_descriptor64): Fix type
consistency error.
(convert_vms_descriptor32): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151082 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/Makefile.in: Add Ada support for
GNU/kFreeBSD x86_64.
* system-freebsd-x86_64.ads: New file based on
system-freebsd-x86.ads.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151011 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
conversion as an unchecked conversion if the underlying types are
array types with variable size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150965 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
as visited.
* gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
bounds.
* gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
fields.
(gnat_gimplify_expr) <DECL_EXPR>: New case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150963 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
2009-08-07 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
specified on the command line and there are switches in the Compiler
package of the project file, use these compilation switches to invoke
the tool.
2009-08-07 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
2009-08-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
even if not in main unit, to simplify debugging.
2009-08-07 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150564 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/utils.c (end_subprog_body): Likewise.
* gcc-interface/trans.c (gigi): Likewise.
(gnat_to_gnu): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150352 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* frontend.adb (Frontend): Code cleanup.
* exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
Rewriten as a procedure because it a new out-mode parameters to
keep up-to-date the controlling tag node in the caller.
(Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
new out-mode parameter to keep up-to-date the controlling tag node in
the caller.
* exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
package Sem_SCIL.
* sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
available in new package Sem_SCIL.
(Next_Non_SCIL_Node): Ditto.
* exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
package Sem_SCIL.
(Expand_Dispatching_Call): Update call to modified Exp_Atags routines
plus complete decoration of SCIL dispatching node.
(Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
* exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
package Sem_SCIL.
(Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
* exp_ch3.adb (Build_Init_Procedure): Fix comment.
* sem_scil.ads, sem_scil.adb: New files.
* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150199 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150153 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
nodes if we are not generating code.
* frontend.adb (Check_SCIL_Node): New subprogram. Used to check
attribute SCIL_Related_Node of SCIL dispatching nodes.
(Check_SCIL_Nodes): New instantiation of Traverse_Proc.
* sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
(SCIL_Nkind,Set_SCIL_Nkind): Removed.
(SCIL_Entity): Update documentation.
(SCIL_Related_Node): Update documentation.
(SCIL_Controlling_Tag): New attribute.
(SCIL_Target_Prim): Update documentation.
(N_Null_Statement): Remove attributes associated with SCIL nodes.
(N_SCIL_Dispatch_Table_Object_Init): New node.
(N_SCIL_Dispatch_Table_Tag_Init): New node.
(N_SCIL_Dispatching_Call): New node.
(N_SCIL_Tag_Init): New node.
* sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
(SCIL_Nkind,Set_SCIL_Nkind): Removed.
(SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
(SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
(SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
(SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
N_SCIL_Dispatching_Call nodes.
* sem.adb (Analyze): No need to analyze SCIL nodes.
* sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
(Next_Non_SCIL_Node): New subprogram
* sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
dispatching nodes.
* sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
dispatching node.
* sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
dispatching node.
* exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
null statement nodes.
(Build_Init_Procedure): Generate new SCIL node.
* exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
node.
* exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
they are currently implemented as special N_Null_Statement nodes.
* exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
procedure call then check if some SCIL node references it and needs
readjustment.
* exp_disp.ads (SCIL_Node_Kind): Removed.
(Adjust_SCIL_Node): New subprogram.
(Find_SCIL_Node): New subprogram.
(Get_SCIL_Node_Kind): Removed.
(New_SCIL_Node): Removed.
* exp_disp.adb (Adjust_SCIL_Node): New subprogram
(Expand_Dispatching_Call): Generate new SCIL dispatching node including
decoration of its new controlling_tag attribute.
(Get_SCIL_Node_Kind): Removed.
(Find_SCIL_Node): New subprogram.
(Make_Secondary_DT): Generate new SCIL nodes.
(Make_Tags): Generate new SCIL nodes.
(New_SCIL_Node): Removed.
* exp_util.adb (Insert_Actions): Handle SCIL nodes.
(Remove_Side_Effects): Check if relocated nodes require readjustment
of some SCIL dispatching node.
* gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150149 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g-ssinty.ads: Remove, pointless and just confusing at this stage.
* gnat_rm.texi: Remove documentation.
* g-sse.ads: Minor reorg along the way.
* gcc-interface/Makefile.in: Remove processing for g-ssinty.
* g-ssvety.ads: Minor comment updates.
2009-07-28 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
for the new format of the report file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150146 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
implicit array base type, look for alignment clause on first subtype.
Code clean up.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149994 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
low level internal type definitions for distinct higher level
binding development activities (user type definitions and
operations).
* gnat_rm.texi: Document it.
* g-ssvety.ads: Use it.
* gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
* gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
for the "may_alias" attribute.
2009-07-23 Thomas Quinot <quinot@adacore.com>
* scos.ads: Minor typo fix
* gcc-interface/decl.c (validate_alignment): For the case of an
implicit array base type, look for alignment clause on first subtype.
Code clean up.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Units): Handle properly the case where a unit
in the context depends on the spec of the main unit, by delaying
processing of the main unit body until all other units have been
processed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149993 138bc75d-0d04-0410-961f-82ee72b054a4
|