Age | Commit message (Collapse) | Author | Files | Lines |
|
2004-08-18 Victor Leikehman <lei@il.ibm.com>
PR fortran/13278
* trans-io.c (transfer_namelist_element): New. Recursively handle
derived-type variables. Pass string lengths.
(build_dt): Code moved to build_namelist, with some
changes and additions.
(gfc_build_io_library_fndecls): Declare the fifth
argument in st_set_nml_var_char -- string_length.
libgfortran/
* io/transfer.c (st_set_nml_var)
* io/write.c (namelist_write): Allow var_name and var_name_len to be
null. For strings, use string_length field instead of len.
* io/io.h (struct namelist_type): New field string_length.
(st_set_nml_var_char): New argument string_length.
From-SVN: r86166
|
|
implemented)
2004-08-17 Paul Brook <paul@codesourcery.com>
Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/13082
* decl.c (get_proc_name): Update mystery comment.
(gfc_match_entry): Check for errors earlier. Add entry point to list.
* dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
* gfortran.h (symbol_attribute): Add entry_master. Document entry.
(struct gfc_entry_list): Define.
(gfc_get_entry_list): Define.
(struct gfc_namespace): Add refs and entries.
(enum gfc_exec_op): Add EXEC_ENTRY.
(struct gfc_code): Add ext.entry.
* module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
(mio_symbol_attribute): Don't save/reture addr->entry.
(mio_namespace_ref): Refcount namespaces.
* parse.c (accept_statement): Handle ST_ENTRY.
(gfc_fixup_sibling_symbols): Mark symbol as referenced.
(parse_contained): Fixup sibling references to entry points
after parsing the procedure body.
* resolve.c (resolve_contained_fntype): New function.
(merge_argument_lists, resolve_entries): New functions.
(resolve_contained_functions): Use them.
(resolve_code): Handle EXEC_ENTRY.
(gfc_resolve): Call resolve_entries.
* st.c (gfc_free_statement): Handle EXEC_ENTRY.
* symbol.c (gfc_get_namespace): Refcount namespaces.
(gfc_free_namespace): Ditto.
* trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
optional when multiple entry points are present.
* trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
(gfc_get_extern_function_decl): Add assertion. Fix coment.
(create_function_arglist, trans_function_start, build_entry_thunks):
New functions.
(gfc_build_function_decl): Rename ...
(build_function_decl): ... to this.
(gfc_create_function_decl): New function.
(gfc_generate_contained_functions): Use it.
(gfc_trans_entry_master_switch): New function.
(gfc_generate_function_code): Use new functions.
* trans-stmt.c (gfc_trans_entry): New function.
* trans-stmt.h (gfc_trans_entry): Add prototype.
* trans-types.c (gfc_get_function_type): Add entry point argument.
* trans.c (gfc_trans_code): Handle EXEC_ENTRY.
(gfc_generate_module_code): Call gfc_create_function_decl.
* trans.h (gfc_build_function_decl): Remove.
(gfc_create_function_decl): Add prototype.
testsuite/
* gfortran.dg/entry_1.f90: New test.
Co-Authored-By: Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
From-SVN: r86128
|
|
2004-08-15 Andrew Pinski <apinski@apple.com>
PR fortran/17030
* f95-lang.c (gfc_init_builtin_functions): Initialize the builtins
for cabs{,f} and copysign{,f}.
* trans-decl.c (gfor_fndecl_math_cabsf): Delete.
(gfor_fndecl_math_cabs): Delete.
(gfor_fndecl_math_sign4): Delete.
(gfor_fndecl_math_sign8): Delete.
(gfc_build_intrinsic_function_decls): Remove the
initializing of cabs{,f} and copysign{,f} functions.
* trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtins
instead of the functions definitions.
(gfc_conv_intrinsic_sign): Likewise.
* trans.h (gfor_fndecl_math_cabsf): Delete.
(gfor_fndecl_math_cabs): Delete.
(gfor_fndecl_math_sign4): Delete.
(gfor_fndecl_math_sign8): Delete.
From-SVN: r86027
|
|
.: * tree.h (build_int_cst): New.
(build_int_2): Remove.
* tree.c (build_int_2): Remove.
(build_int_cst): New.
(make_vector_type, build_common_tree_nodes,
build_common_tree_nodes_2): Use build_int_cst.
* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
expand_builtin_strpbrk, expand_builtin_fputs,
build_string_literal, expand_builtin_printf,
expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
fold_builtin_isdigit, simplify_builtin_strstr,
simplify_builtin_strpbrk, fold_builtin_fputs,
simplify_builtin_sprintf): Use build_int_cst.
* c-common.c (start_fname_decls, fix_string_type,
c_common_nodes_and_builtins, c_init_attributes,
shorten_compare): Likewise.
* c-decl.c (complete_array_type,
check_bitfield_type_and_width): Likewise.
* c-lex.c (interpret_integer, lex_charconst): Likewise.
* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
* c-pretty-print.c (pp_c_integer_constant): Likewise.
* c-typeck.c (really_start_incremental_init, push_init_level,
set_nonincremental_init_from_string): Likewise.
* calls.c (load_register_parameters): Likewise.
* convert.c (convert_to_pointer): Likewise.
* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
build_fn_info_type, build_ctr_info_value, build_gcov_info):
Likewise.
* except.c (init_eh, assign_filter_values, assign_filter_values):
Likewise.
* expmed.c (store_fixed_bit_field, extract_bit_field,
extract_fixed_bit_field, extract_split_bit_field, expand_shift,
expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
* expr.c (convert_move, emit_group_load, emit_group_store,
expand_assignment, store_constructor, store_field,
expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
invert_truthvalue, optimize_bit_field_compare,
decode_field_reference, all_ones_mask_p, constant_boolean_node,
fold_div_compare, fold, fold_read_from_constant_string,
fold_negate_const, fold_abs_const, fold_not_const): Likewise.
* function.c (assign_parm_setup_block): Likewise.
* stmt.c (shift_return_value, expand_end_case_type,
estimate_case_costs): Likewise.
* stor-layout.c (layout_type, initialize_sizetypes,
set_min_and_max_values_for_integral_type): Likewise.
* tree-chrec.c (chrec_fold_multiply_poly_poly,
reset_evolution_in_loop): Likewise.
* tree-chrec.h (build_polynomial_chrec): Likewise.
* tree-complex.c (build_replicated_const): Likewise.
* tree-eh.c (honor_protect_cleanup_actions,
lower_try_finally_onedest, lower_try_finally_copy,
lower_try_finally_switch): Likewise.
* tree-mudflap.c (mf_build_string, mx_register_decls,
mudflap_register_call, mudflap_enqueue_constant): Likewise.
* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
Likewise.
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
* tree-ssa-loop-niter.c (number_of_iterations_cond,
loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
Likewise.
* config/alpha/alpha.c (alpha_initialize_trampoline,
alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
* config/arm/arm.c (arm_get_cookie_size): Likewise.
* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
* config/i860/i860.c (i860_va_start): Likewise.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
mips_gimplify_va_arg_expr): Likewise.
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
add_compiler_branch_island): Likewise.
* config/s390/s390.c (s390_va_start): Likewise.
* config/sh/sh.c (sh_va_start): Likewise.
* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
Likewise.
* config/xtensa/xtensa.c (xtensa_va_start,
xtensa_gimplify_va_arg_expr): Likewise.
* objc/objc-act.c (build_objc_string_object,
build_objc_symtab_template, init_def_list, init_objc_symtab,
init_module_descriptor, generate_static_references,
build_selector_translation_table, get_proto_encoding,
build_typed_selector_reference, build_selector_reference,
build_next_objc_exception_stuff,
build_method_prototype_list_template, generate_descriptor_table,
generate_protocols, build_protocol_initializer,
build_ivar_list_template, build_method_list_template,
build_ivar_list_initializer, generate_ivars_list,
generate_dispatch_table, generate_protocol_list,
build_category_initializer, build_shared_structure_initializer,
generate_shared_structures, handle_impent,
generate_objc_image_info): Use build_int_cst.
ada:
* cuintp.c (UI_To_gnu): Use build_int_cst..
* trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
* utils.c (init_gigi_decls): Likewise.
* utils2.c (build_call_raise): Likewise.
cp:
* call.c (convert_class_to_reference,
build_user_type_conversion_1, convert_like_real,
build_java_interface_fn_ref, build_special_member_call): Use
build_int_cst.
* class.c (build_vtbl_initializer): Likewise.
* cp-gimplify.c (cp_gimplify_expr): Likewise.
* cvt.c (cp_convert_to_pointer): Likewise.
* decl.c (cxx_init_decl_processing, complete_array_type): Likewise.
* decl2.c (start_static_initialization_or_destruction,
generate_ctor_or_dtor_function): Likewise.
* except.c (build_throw): Likewise.
* lex.c (cxx_init): Likewise.
* mangle.c (write_integer_cst): Likewise.
* rtti.c (build_headof, get_tinfo_decl_dynamic,
build_dynamic_cast_1, ptr_initializer, ptm_initializer,
get_pseudo_ti_init): Likewise.
* search.c (get_dynamic_cast_base_type): Likewise.
* tree.c (build_shared_int_cst): Likewise.
fortran:
* trans-array.c (gfc_trans_array_constructor_value): Use
build_int_cst.
* trans-const.c (gfc_build_string_const,
gfc_init_constants, gfc_conv_mpz_to_tree,
gfc_conv_constant_to_tree): Likewise.
* trans-decl.c (gfc_get_symbol_decl): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_ibits,
gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
* trans-io.c (add_case, set_error_locus, build_dt,
transfer_expr): Likewise.
* trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
gfc_trans_stop, gfc_trans_character_select): Likewise.
* trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
* trans.c (gfc_trans_runtime_check): Likewise.
java:
* boehm.c (get_boehm_type_descriptor): Use build_int_cst.
* class.c (build_utf8_ref, build_static_field_ref,
make_field_value, make_method_value, get_dispatch_table,
make_class_data, emit_symbol_table, emit_catch_table): Likewise.
* constants.c (get_tag_node, build_ref_from_constant_pool,
build_constants_constructor): Likewise.
* decl.c (java_init_decl_processing): Likewise.
* expr.c (build_java_array_length_access, build_newarray,
expand_java_multianewarray, expand_java_pushc, expand_iinc,
build_java_binop, build_field_ref, expand_java_add_case,
expand_java_call, build_known_method_ref, build_invokevirtual,
build_invokeinterface, build_jni_stub): Likewise.
* java-gimplify.c (java_gimplify_new_array_init): Likewise.
* jcf-parse.c (get_constant): Likewise.
* lex.c (do_java_lex): Likewise.
* parse.y (patch_binop, patch_unaryop, patch_cast,
build_null_of_type, patch_newarray): Likewise.
* resource.c (compile_resource_data): Likewise.
* typeck.c (build_prim_array_type): Likewise.
From-SVN: r86022
|
|
From-SVN: r85996
|
|
From-SVN: r85994
|
|
2004-08-13 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
* gfortran.h: Add comments.
* parse.c (parse_contained): Fix comment typo.
* resolve.c (was_declared): Ditto.
* symbol.c: Ditto.
From-SVN: r85950
|
|
From-SVN: r85830
|
|
2004-08-11 Paul Brook <paul@codeourcery.com>
PR fortran/16917
* intrinsic.c (add_functions): Add dfloat as an alias for dble.
2004-08-11 Steven G. Kargl <kargls@comcast.net>
* gfortran.dg/dfloat_1.f90: New test.
From-SVN: r85805
|
|
* builtins.def (BUILT_IN_STACK_ALLOC): Remove.
* builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
* dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
(add_location_or_const_value_attribute): ... not here. Use
loc_descriptor_from_tree if possible.
(loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
values specially.
(loc_descriptor_from_tree): New. Update callers.
* expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
* gimplify.c (gimplify_decl_expr): Lower variable sized types to
pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
(gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
and BUILT_IN_STACK_RESTORE.
(gimplify_expr): Lower DECL_VALUE_EXPR decls.
* stmt.c (expand_stack_alloc): Remove.
* tree-mudflap.c (mx_register_decls): Don't look for
BUILT_IN_STACK_ALLOC.
* tree-nested.c (convert_local_reference): Likewise.
* tree.h (DECL_VALUE_EXPR): New.
ada/
* utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
add __builtin_alloca.
fortran/
* f95-lang.c (gfc_init_builtin_functions): Remove
__builtin_stack_alloc, add __builtin_alloca.
* trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
* trans-decl.c (gfc_trans_auto_character_variable): Likewise.
From-SVN: r85794
|
|
* trans-io.c (transfer_expr): Handle pointters.
testsuite/
* gfortran.dg/der_io_1.f90: New test.
From-SVN: r85738
|
|
PR fortran/16919
* trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
(gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
(gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
Handle GFC_SS_COMPONENT.
(gfc_conv_ss_startstride): Ditto. Set ss->shape.
(gfc_conv_loop_setup): Tweak commends. Remove dead code.
Use ss->shape.
(gfc_conv_array_initializer): Call specific initializer routines.
* trans-expr.c (gfc_trans_structure_assign): New function.
(gfc_trans_subarray_assign): New function.
(gfc_trans_subcomponent_assign): New fucntion
(gfc_conv_structure): Use them.
* trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
(gfc_ss): Add shape.
testsuite/
* gfortran.dg/der_array_1.f90: New test.
From-SVN: r85730
|
|
2004-08-08 Victor Leikehman <lei@il.ibm.com>
* simplify.c (gfc_simplify_shape): Bugfix.
* expr.c (gfc_copy_shape_excluding): New function.
* gfortran.h (gfc_get_shape): Bugfix.
(gfc_copy_shape_excluding): Added declaration.
* iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound,
gfc_resolve_ubound, gfc_resolve_transpose): Added compile
time resolution of shape.
From-SVN: r85685
|
|
2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi>
* intrinsic.c (add_subroutines): Add getenv and
get_environment_variable. (add_sym_5s): New function.
* intrinsic.h (gfc_resolve_get_environment_variable): Add
prototype.
* iresolve.c (gfc_resolve_get_environment_variable): New
function.
libgfortran/
* intrinsics/env.c: New file.
* Makefile.am: Add env.c to build.
* Makefile.in: Regenerate.
testsuite/
* gfortran.dg/getenv_1.f90: New test.
From-SVN: r85656
|
|
arguments.
* f95-lang.c (gfc_init_builtin_functions): Fix the number of
__builtin_pow[f] arguments.
From-SVN: r85653
|
|
2004-08-06 Steven G. Kargl <kargls@comcast.net>
* arith.c: Add #define for model numbers. Remove global GMP variables.
(natural_logarithm,common_logarithm,exponential,sine,
cosine,arctangent,hypercos,hypersine ): Remove.
(gfc_mpfr_to_mpz,gfc_set_model_kind,gfc_set_model): New functions.
(arctangent2,gfc_arith_init_1,gfc_arith_done_1
gfc_check_real_range, gfc_constant_result, gfc_range_check,
gfc_arith_uminus,gfc_arith_plus, gfc_arith_minus, gfc_arith_times,
gfc_arith_divide,complex_reciprocal,complex_pow_ui,
gfc_arith_power,gfc_compare_expr,compare_complex,gfc_convert_real,
gfc_convert_complex,gfc_int2real,gfc_int2complex,
gfc_real2int,gfc_real2real,gfc_real2complex,
gfc_complex2int,gfc_complex2real,gfc_complex2complex): Convert GMP
to MPFR, use new functions.
* arith.h: Remove extern global variables.
(natural_logarithm,common_logarithm,exponential, sine, cosine,
arctangent,hypercos,hypersine): Remove prototypes.
(arctangent2): Update prototype from GMP to MPFR.
(gfc_mpfr_to_mpz, gfc_set_model_kind,gfc_set_model): Add prototypes.
* dump-parse-tree.c (gfc_show_expr): Convert GMP to MPFR.
* expr.c (free_expr0,gfc_copy_expr): Convert GMP to MPFR.
* gfortran.h (GFC_REAL_BITS): Remove.
(arith): Add ARITH_NAN.
Include mpfr.h. Define GFC_RND_MODE.
Rename GCC_GFORTRAN_H GFC_GFC_H.
(gfc_expr): Convert GMP to MPFR.
* module.c: Add arith.h, correct type in comment.
(mio_gmp_real): Convert GMP to MPFR.
(mio_expr): Use gfc_set_model_kind().
* primary.c: Update copyright date with 2004.
(match_real_constant,match_const_complex_part): Convert GMP to MPFR.
* simplify.c: Remove global GMP variables
(gfc_simplify_abs,gfc_simplify_acos,gfc_simplify_aimag,
gfc_simplify_aint,gfc_simplify_dint,gfc_simplify_anint,
gfc_simplify_dnint,gfc_simplify_asin,gfc_simplify_atan,
gfc_simplify_atan2,gfc_simplify_ceiling,simplify_cmplx,
gfc_simplify_conjg,gfc_simplify_cos,gfc_simplify_cosh,
gfc_simplify_dim,gfc_simplify_dprod,gfc_simplify_epsilon,
gfc_simplify_exp,gfc_simplify_exponent,gfc_simplify_floor,
gfc_simplify_fraction,gfc_simplify_huge,gfc_simplify_int,
gfc_simplify_ifix,gfc_simplify_idint,gfc_simplify_log,
gfc_simplify_log10,simplify_min_max,gfc_simplify_mod,
gfc_simplify_modulo,gfc_simplify_nearest,simplify_nint,
gfc_simplify_rrspacing,gfc_simplify_scale,
gfc_simplify_set_exponent,gfc_simplify_sign,gfc_simplify_sin,
gfc_simplify_sinh,gfc_simplify_spacing,gfc_simplify_sqrt,
gfc_simplify_tan,gfc_simplify_tanh,gfc_simplify_tiny,
gfc_simplify_init_1,gfc_simplify_done_1): Convert GMP to MPFR.
Use new functions.
* trans-const.c (gfc_conv_mpfr_to_tree): Rename from
gfc_conv_mpf_to_tree. Convert it to use MPFR
(gfc_conv_constant_to_tree): Use it.
* trans-const.h: Update prototype for gfc_conv_mpfr_to_tree().
* trans-intrinsic.c: Add arith.h, remove gmp.h
(gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod): Convert GMP to MPFR.
From-SVN: r85652
|
|
* trans-array.c (gfc_trans_allocate_array_storage,
gfc_trans_allocate_temp_array, gfc_add_loop_ss_code,
gfc_conv_loop_setup):
For functions, if the shape of the result is not known
in compile-time, generate an empty array descriptor for
the result and let the callee to allocate the memory.
(gfc_trans_dummy_array_bias): Do nothing for pointers.
(gfc_conv_expr_descriptor): Use function return values directly.
* trans-expr.c (gfc_conv_function_call): Always add byref call
insn to pre chain.
(gfc_trans_pointer_assignment): Add comments.
(gfc_trans_arrayfunc_assign): Don't chain on expression.
testsuite/
* gfortran.dg/ret_array_1.f90: New test.
* gfortran.dg/ret_pointer_1.f90: New test.
From-SVN: r85642
|
|
variables)
2004-08-04 Geoffrey Keating <geoffk@apple.com>
PR 14516
* c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
* c-common.h (make_rtl_for_local_static): Delete.
* c-decl.c (shadow_tag_warned): Clean up comment.
(finish_decl): Clean up spacing. Use set_user_assembler_name when
appropriate. Don't pass asmspec to rest_of_decl_compilation.
* c-semantics.c (make_rtl_for_local_static): Delete.
* expr.c (init_block_move_fn): Use set_user_assembler_name.
(init_block_clear_fn): Likewise.
* passes.c (rest_of_decl_compilation): Remove asmspec parameter,
expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files.
* toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
* tree.h (make_decl_rtl): Remove second parameter.
(set_user_assembler_name): New.
* varasm.c (set_user_assembler_name): New.
(make_decl_rtl): Remove second parameter. Update callers in many
files.
Index: cp/ChangeLog
2004-08-04 Geoffrey Keating <geoffk@apple.com>
* decl.c (make_rtl_for_nonlocal_decl): Set DECL_ASSEMBLER_NAME rather
than passing it as a parameter to rest_of_decl_compilation.
* decl2.c (grokfield): Use set_user_assembler_name.
From-SVN: r85593
|
|
default.
* options.c (gfc_init_options): Don't warn about the use GNU
extensions by default.
(gfc_post_options): Warn about GNU extensions with -pedantic.
(gfc_handle_option): Don't warn about GNU extensions with -std=gnu.
From-SVN: r85413
|
|
* gimplify.c (gimplify_expr) <case CONST_DECL>: Don't replace
with DECL_INITIAL if fb_lvalue.
* tree-gimple.c (is_gimple_id): Add CONST_DECL.
* tree-pretty-print.c (dump_decl_name): Dump unnamed CONST_DECL
with <Cxxx>.
* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Fold CONST_DECL.
fortran/
* trans-expr.c (gfc_conv_expr_reference): Create a CONST_DECL
for TREE_CONSTANTs.
testsuite/
* gfortran.fortran-torture/execute/intrinsic_rrspacing.f90: Fix
write to constant argument.
* gfortran.fortran-torture/execute/intrinsic_scale.f90: Likewise.
From-SVN: r85365
|
|
RESULT_DECL.
* c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P
on the RESULT_DECL.
* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
* integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and
DECL_IGNORED_P to new decl.
ada/
* utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
DECL_IGNORED_P on RESULT_DECL.
cp/
* decl.c (start_preparsed_function): Set DECL_ARTIFICIAL and
DECL_IGNORED_P on RESULT_DECL.
* semantics.c (finalize_nrv): Copy them too.
fortran/
* trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL
and DECL_IGNORED_P on RESULT_DECL.
(gfc_generate_constructors): Likewise.
java/
* decl.c (build_result_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P.
From-SVN: r85145
|
|
PR fortran/16465
* lang.opt (ffixed-line-length-none, ffixed-line-length-): New
options.
(ffixed-line-length-80, ffixed-line-length-132): Remove.
* options.c (gfc_handle_options): Deal with changed options.
* scanner.c (load_line): Change second arg to 'char **',
allocate if pointing to NULL. Keep track of buffer's length.
Adapt buffer size to overlong lines. Pad lines to full length
in fixed form.
(load_file): Adapt to new interface of load_line.
From-SVN: r84891
|
|
* langhooks.h (builtin_function): New langhook.
* langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New.
(LANG_HOOKS_INITIALIZER): Update.
* tree.h (builtin_function): Remove.
* doc/tm.texi: Update.
* c-tree.h (builtin_function): Declare.
* c-common.c, config/alpha/alpha.c, config/arm/arm.c,
config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c,
config/ia64/ia64.c, config/iq2000/iq2000.c,
config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
config/stormy16/stormy16.c: All callers of builtin_function
changed.
ada:
* gigi.h (builtin_function): Declare.
cp:
* cp-tree.h (builtin_function): Declare.
fortran:
* trans.h (builtin_function): Declare.
java:
* java-tree.h (builtin_function): Declare.
From-SVN: r84878
|
|
fortran/
* parse.c (gfc_check_do_variable): Fix error locus.
testsuite/
PR fortran/16404
* gfortran.dg/do_iterator.f90: New test.
From-SVN: r84795
|
|
PR fortran/16404
(parts ported from g95)
* parse.h (gfc_state_data): New field do_variable.
(gfc_check_do_variable): Add prototype.
* parse.c (push_state): Initialize field 'do_variable'.
(gfc_check_do_variable): New function.
(parse_do_block): Remember do iterator variable.
(parse_file): Initialize field 'do_variable'.
* match.c (gfc_match_assignment, gfc_match_do,
gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate):
Add previously missing checks.
(gfc_match_return): Reformat error message.
* io.c (match_out_tag): New function.
(match_open_element, match_close_element,
match_file_element, match_dt_element): Call match_out_tag
instead of match_vtag where appropriate.
(match_io_iterator, match_io_element): Add missing check.
(match_io): Reformat error message.
(match_inquire_element): Call match_out_tag where appropriate.
From-SVN: r84793
|
|
fortran/
PR fortran/13792
* simplify.c (gfc_simplify_bound): Copy the bound expression.
testsuite/
PR fortran/13792
* gfortran.fortran-torture/execute/bounds.f90: Add check for
compile-time simplification.
From-SVN: r84773
|
|
PARM_DECL)
fortran/
PR fortran/15140
* trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.
testsuite/
PR fortran/15140
* gfortran.dg/pr15140.f90: New test.
From-SVN: r84770
|
|
fortran/
PR fortran/15129
* trans-decl.c (gfc_build_function_decl): Create a new chardecl
for every assumed length character dummy argument.
testsuite/
PR fortran/15129
* gfortran.dg/pr15129.f90: New test.
From-SVN: r84769
|
|
PR fortran/15324
* trans-array.c gfc_trans_g77_array,
gfc_trans_dummy_array_bias): Don't call gfc_trans_string_init
for assumed length characters.
(gfc_conv_expr_descriptor): Set se->string_length if dealing
with a character expression.
(gfc_cvonv_array_parameter): Pass string length when passing
character array according to g77 conventions.
Fix ChangeLog
From-SVN: r84755
|
|
PR fortran/15234
* trans-array.c gfc_trans_g77_array,
gfc_trans_dummy_array_bias): Don't call gfc_trans_string_init
for assumed length characters.
(gfc_conv_expr_descriptor): Set se->string_length if dealing
with a character expression.
(gfc_cvonv_array_parameter): Pass string length when passing
character array according to g77 conventions.
From-SVN: r84752
|
|
* expr.c (gfc_check_assign_symbol): Handle pointer assignments.
* trans-array.c (gfc_trans_auto_array_allocation): Remove
initialization code.
* trans-common.c (create_common): Use gfc_conv_initializer.
* trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer.
* trans-expr.c (gfc_conv_initializer): New function.
(gfc_conv_structure): Use it.
* trans.h (gfc_conv_initializer): Add prototype.
testsuite/
* gfortran.dg/pointer_init_1.f90: New test.
From-SVN: r84542
|
|
PR fortran/15986
* parse.c (gfc_fixup_sibling_symbols): Also look for untyped
variables.
(parse_contained): Mark contained symbols as referenced.
testsuite/
* gfortran.dg/contained_1.f90: New test.
From-SVN: r84536
|
|
fortran/
PR fortran/15754
* expr.c (gfc_check_assign): Print ranks if incompatible. Issue
warning if assigning NULL().
testsuite/
PR fortran/17574
* gfortran.dg/pr15754.f90: New test.
the changes to expr.c were accidentally committed previously
From-SVN: r84521
|
|
From-SVN: r84520
|
|
PR fortran/16433
* gfortran.dg/pr16433.f: New test.
From-SVN: r84519
|
|
PR fortran/16433
* primary.c (match_boz_constant): Call gfc_notify_std only if
we actually have a non-standard boz-literal-constant.
From-SVN: r84514
|
|
PR fortran/16404
* match.c (gfc_match_program): A program name is obligatory.
(gfc_match_return): RETURN in main program is an extension.
(gfc_match_block_data): A space is required before a block data
name.
From-SVN: r84511
|
|
PR fortran/16404
* io.c (match_io): Flag 'WRITE(...), ...' as extension.
From-SVN: r84510
|
|
PR fortran/16455
Fix ChangeLog
From-SVN: r84509
|
|
PR fortran/15455
* module.c (gfc_dump_module, gfc_use_module): Print locus
when opening of module file fails.
From-SVN: r84508
|
|
* langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
maybe_build_cleanup, update_decl_after_saving): Remove hooks.
* langhooks.c (lhd_clear_binding_stack): Remove.
* langhooks-def.h (lhd_clear_binding_stack,
LANG_HOOKS_MAYBE_BUILD_CLEANUP,
LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
(LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
* system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
LANG_HOOKS_MAYBE_BUILD_CLEANUP,
LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
* tree.h (poplevel): Don't declare.
* c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
* objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
Remove.
ada:
* misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
cp:
* cp-lang.c (LANG_HOOKS_MAYBE_BUILD_CLEANUP, LANG_HOOKS_PUSHLEVEL,
LANG_HOOKS_POPLEVEL, LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): Remove.
* cp-tree.h (poplevel): Declare.
(set_block): Remove.
* decl.c (set_block): Remove.
fortran:
* f95-lang.c (set_block): Remove.
(gfc_clear_binding_stack): New.
(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
(struct binding_level): Remove block_created_by_back_end.
(clear_binding_level): Likewise.
(poplevel): Don't handle block_created_by_back_end.
java:
* java-tree.h (set_block): Remove.
* lang.c (java_clear_binding_stack): New.
(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
* decl.c (struct binding_level): Remove this_block.
(clear_binding_level): Likewise.
(poplevel): Don't handle this_block.
(set_block): Remove.
treelang:
* treetree.c (set_block): Remove.
(struct binding_level): Remove block_created_by_back_end.
(clear_binding_level): Likewise.
(tree_code_create_function_initial,
tree_code_create_function_wrapup): Call pushlevel and poplevel
directly rather than through hooks.
(poplevel): Don't handle block_created_by_back_end.
From-SVN: r84499
|
|
common, because we ...
fortran/
* trans-decl.c (gfc_create_module_variable): Nothing to do if
symbol is in common, because we ...
(gfc_generate_module_vars): Call gfc_trans_common.
testsuite/
* gfortran.fortran-torture/execute/common_2.f90: Add check for
access to common var from module.
From-SVN: r84479
|
|
* trans-array.c (gfc_build_null_descriptor): New function.
(gfc_trans_static_array_pointer): Use it.
* trans-array.h (gfc_build_null_descriptor): Add prototype.
* trans-expr.c (gfc_conv_structure): Handle array pointers.
testsuite/
* gfortran.fortran-torture/execute/der_init_5.f90: Enable more tests.
From-SVN: r84477
|
|
PR fortran/16336
* decl.c (gfc_match_save): Use-associated common block
doesn't collide.
* gfortran.h (gfc_common_head): Add new field 'name'.
Fix typo in comment after #endif.
* match.c (gfc_get_common): Add new argument from_common,
mangle name if flag is set, fill in new field in structure
gfc_common_head.
(match_common): Set new arg in call to gfc_get_common,
use-associated common block doesn't collide.
* match.h (gfc_get_common): Adapt prototype.
* module.c (load_commons): Set new arg in call to
gfc_get_common.
* symbol.c (free_common_tree): New function.
(gfc_free_namespace): Call new function.
* trans-common.c (several functions): Remove argument
'name', use name from gfc_common_head instead.
From-SVN: r84476
|
|
namespaces)
* trans-decl.c (generate_local_decl): Remove workaround obsoleted
by fix for PR 15481.
From-SVN: r84475
|
|
From-SVN: r84474
|
|
PR fortran/15969
* trans-expr.c (gfc_conv_structure): Handle initialization
of scalar pointer components.
From-SVN: r84464
|
|
PR fortran/16336
* match.c (match_common): Fix error reporting for used common.
From-SVN: r84462
|
|
* expr.c (gfc_check_pointer_assign): Verify that rank of the LHS
and RHS match. Return early if the RHS is NULL().
From-SVN: r84458
|
|
* trans-common.c: Fix whitespace issues, make variable names
more readable.
(create_common): Additionally, make loop logic more obvious.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r84453
|