1. 06 Aug, 2005 1 commit
    • jakub's avatar
      PR fortran/18833 · a3c2bc5e
      jakub authored
      	PR fortran/20850
      	* primary.c (match_varspec): If equiv_flag, don't look at sym's
      	attributes, call gfc_match_array_ref up to twice and don't do any
      	substring or component processing.
      	* resolve.c (resolve_equivalence): Transform REF_ARRAY into
      	REF_SUBSTRING or nothing if needed.  Check that substrings
      	don't have zero length.
      
      	* gfortran.dg/equiv_1.f90: New test.
      	* gfortran.dg/equiv_2.f90: New test.
      	* gfortran.fortran-torture/execute/equiv_2.f90: New test.
      	* gfortran.fortran-torture/execute/equiv_3.f90: New test.
      	* gfortran.fortran-torture/execute/equiv_4.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102801 138bc75d-0d04-0410-961f-82ee72b054a4
      a3c2bc5e
  2. 05 Aug, 2005 1 commit
  3. 04 Aug, 2005 1 commit
  4. 03 Aug, 2005 1 commit
    • dje's avatar
      PR fortran/22491 · eb4df85f
      dje authored
      	* expr.c (simplify_parameter_variable): Do not copy the subobject
      	references if the expression value is a constant.
      
      	* expr.c (gfc_simplify_expr): Evaluate constant substrings.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102676 138bc75d-0d04-0410-961f-82ee72b054a4
      eb4df85f
  5. 01 Aug, 2005 2 commits
  6. 31 Jul, 2005 2 commits
  7. 29 Jul, 2005 1 commit
  8. 28 Jul, 2005 1 commit
  9. 27 Jul, 2005 1 commit
  10. 25 Jul, 2005 1 commit
    • jakub's avatar
      PR fortran/20063 · 91dad636
      jakub authored
      	* data.c (gfc_assign_data_value_range): Call
      	create_character_initializer if last_ts is a character type.
      
      	* gfortran.fortran-torture/execute/data_4.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102349 138bc75d-0d04-0410-961f-82ee72b054a4
      91dad636
  11. 22 Jul, 2005 1 commit
    • manfred's avatar
      · 8102ba14
      manfred authored
      gcc/ChangeLog:
      
      	* tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
      	warnings.
      	(int_add_graph_edge): Likewise.
      	(collapse_nodes): Likewise.
      	(process_unification_queue): Likewise.
      
      gcc/cp/ChangeLog:
      
      	* parser.c (cp_parser_declaration): Fix unitialised warnings.
      
      gcc/fortran/ChangeLog:
      
      	* match.c (gfc_match_symbol): Fix uninitialised warnings.
      	* matchexp.c (gfc_match_expr): Likewise.
      
      gcc/java/ChangeLog:
      
      	* verify-impl.c (check_class_constant): Fix uninitialised warnings.
      	(check_constant): Likewise.
      	(check_wide_constant): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102273 138bc75d-0d04-0410-961f-82ee72b054a4
      8102ba14
  12. 20 Jul, 2005 1 commit
    • giovannibajo's avatar
      Make CONSTRUCTOR use VEC to store initializers. · c75b4594
      giovannibajo authored
      	* c-common.c (complete_array_type): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
      	(pp_c_constructor_elts): New function.
      	* c-pretty-print.h (pp_c_constructor_elts): Declare.
      	* c-typeck.c (build_function_call, build_c_cast, digest_init,
      	struct constructor_stack, struct initializer_stack,
      	constructor_elements, push_init_level, pop_init_level,
      	add_pending_init, find_init_member, output_init_element): Update to
      	cope with VEC in CONSTRUCTOR_ELTS.
      	* coverage.c (build_fn_info_value, build_ctr_info_value,
      	build_gcov_info): Likewise.
      	* expr.c (categorize_ctor_elements_1, store_constructor,
      	expand_expr_real_1): Likewise.
      	* fold-const.c (fold_ternary): Likewise.
      	* gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
      	gimplify_init_constructor, gimplify_expr): Likewise.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	* tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
      	node.
      	* tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* tree-sra.c (generate_element_init_1): Likewise.
      	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
      	* tree-ssa-operands.c (get_expr_operands): Likewise.
      	* tree-vect-generic.c (expand_vector_piecewise): Likewise.
      	* tree-vect-transform.c (vect_get_vec_def_for_operand):
      	(get_initial_def_for_reduction): Likewise.
      	* tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
      	value handle in annotations.
      	* tree.c (tree_node_kind, tree_code_size, make_node_stat,
      	tree_node_structure): Add support for constr_kind.
      	(build_vector_from_ctor, build_constructor_single,
      	build_constructor_from_list): New functions.
      	(build_constructor): Update to take a VEC instead of a TREE_LIST.
      	(simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
      	Update to cope with VEC in CONSTRUCTOR_ELTS.
      	* tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
      	* tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
      	CONSTRUCTOR_APPEND_ELT): New macros.
      	(struct constructor_elt, struct	tree_constructor): New data types.
      	(union tree_node): Add tree_constructor field.
      	* treestruct.def: Define TS_CONSTRUCTOR.
      	* varasm.c (const_hash_1, compare_constant, copy_constant,
      	compute_reloc_for_constant, output_addressed_constants,
      	initializer_constant_valid_p, output_constant,
      	array_size_for_constructor, output_constructor): Update to cope with
      	VEC in CONSTRUCTOR_ELTS.
      	* vec.h (VEC_empty, VEC_copy): New macros.
      
      ada/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* decl.c (gnat_to_gnu_entity): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* trans.c (extract_values): Likewise.
      	* utils.c (convert, remove_conversions): Likewise.
      	* utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
      	gnat_build_constructor): Likewise.
      
      cp/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* call.c (convert_default_arg): Update call to digest_init.
      	* class.c (dump_class_hierarchy, dump_array): Update to cope with
      	VEC in CONSTRUCTOR_ELTS.
      	* cp-tree.h (EMPTY_CONSTRUCTOR_P): Likewise.
      	(finish_compound_literal, digest_init): Update declaration.
      	* decl.c (struct reshape_iter): New data type.
      	(reshape_init_array): Rename to...
      	(reshape_init_array_1): Update to cope with VEC in CONSTRUCTOR_ELTS.
      	(reshape_init): Rewrite from scratch. Split parts into...
      	(reshape_init_array, reshape_init_vector, reshape_init_class,
      	reshape_init_r): New functions.
      	(check_initializer): Update call to reshape_init. Remove obsolete
      	code.
      	(initialize_artificial_var, cp_complete_array_type): Update to cope
      	with VEC in CONSTRUCTOR_ELTS.
      	* decl2.c (grokfield): Update calls to digest_init.
      	(mark_vtable_entries): Update to cope with VEC in CONSTRUCTOR_ELTS.
      	* error.c (dump_expr_init_vec): New function.
      	(dump_expr): Use dump_expr_init_vec.
      	* init.c (build_zero_init, build_vec_init): Update to cope with VEC
      	in CONSTRUCTOR_ELTS.
      	(expand_default_init): Update call to digest_init.
      	* parser.c  (cp_parser_postfix_expression): Use a VEC for the
      	initializers.
      	(cp_parser_initializer_list): Build a VEC of initializers.
      	* pt.c (tsubst_copy, tsubst_copy_and_build): Update to cope with VEC
      	in CONSTRUCTOR_ELTS.
      	* rtti.c (tinfo_base_init, generic_initializer, ptr_initializer,
      	ptm_initializer, class_initializer, get_pseudo_ti_init): Use
      	build_constructor_from_list instead of build_constructor.
      	* semantics.c (finish_compound_literal): Update call to digest_init.
      	* tree.c (stabilize_init): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* typeck.c (build_ptrmemfunc1): Likewise.
      	* typeck2.c: (cxx_incomplete_type_error, split_nonconstant_init_1):
      	Likewise.
      	(store_init_value): Use build_constructor_from_list and update call
      	to digest_init.
      	(digest_init): Rewrite.
      	(process_init_constructor): Rewrite from scratch. Split into...
      	(process_init_constructor_array, picflag_from_initializer,
      	process_init_constructor_record, process_init_constructor_union):
      	New functions.
      	(PICFLAG_ERRONEOUS, PICFLAG_NOT_ALL_CONSTANT, PICFLAG_NOT_ALL_SIMPLE):
      	New macros.
      	(build_functional_cast): Use build_constructor_from_list instead of
      	build_constructor.
      
      fortran/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* trans-array.c (gfc_build_null_descriptor,
      	gfc_trans_array_constructor_value, gfc_conv_array_initializer):
      	Update to cope with VEC in CONSTRUCTOR_ELTS.
      	* trans-common.c (create_common): Likewise.
      	* trans-expr.c (gfc_conv_structure): Likewise.
      	* trans-stmt.c (gfc_trans_character_select): Use
      	build_constructor_from_list instead of build_constructor.
      
      java/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* check-init.c (check_init): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* class.c (make_field_value, make_method_value, get_dispatch_table,
      	make_class_data, emit_symbol_table, emit_catch_table,
      	emit_assertion_table): Use build_constructor_from_list instead of
      	build_constructor.
      	* constants.c (build_constants_constructor): Likewise.
      	* java-gimplify.c (java_gimplify_new_array_init): Update to cope with
      	VEC in CONSTRUCTOR_ELTS.
      	* java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
      	PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
      	of a TREE_LIST.
      	* jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* parse.y (build_new_array_init): Use build_constructor_from_list
      	instead of build_constructor.
      	(patch_new_array_init): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	(array_constructor_check_entry): Likewise.
      
      objc/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* objc-act.c (objc_build_constructor): Use build_constructor_from_list
      	instead of build_constructor.
      
      testsuite/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* g++.dg/ext/complit3.C: Check for specific error messages.
      	* g++.dg/init/brace2.C: Update error message.
      	* g++.dg/warn/Wbraces2.C: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102182 138bc75d-0d04-0410-961f-82ee72b054a4
      c75b4594
  13. 19 Jul, 2005 1 commit
    • pault's avatar
      2005-07-19 Paul Thomas <pault@gcc.gnu.org> · e2c1060c
      pault authored
      	PR fortran/16940
      	* resolve.c (resolve_symbol): A symbol with FL_UNKNOWN
      	is matched against interfaces in parent namespaces. If there
      	the symtree is set to point to the interface.
      
      2005-07-19 Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/16940
      	* gfortran.dg/module_interface_1.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102167 138bc75d-0d04-0410-961f-82ee72b054a4
      e2c1060c
  14. 17 Jul, 2005 1 commit
  15. 14 Jul, 2005 4 commits
    • sje's avatar
      * trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5. · c6cc5564
      sje authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102034 138bc75d-0d04-0410-961f-82ee72b054a4
      c6cc5564
    • jakub's avatar
      * gfortran.h (MAX_ERROR_MESSAGE): Remove. · 19895fc1
      jakub authored
      	(gfc_error_buf): Add allocated and index fields.  Change message
      	field from array to a pointer.
      	* error.c (use_warning_buffer, error_ptr, warning_ptr): Remove.
      	(cur_error_buffer): New variable.
      	(error_char): Use cur_error_buffer->{message,index} instead of
      	{warning,error}_{buffer.message,ptr}.  Reallocate message buffer
      	if too small.
      	(gfc_warning, gfc_notify_std, gfc_error, gfc_error_now): Setup
      	cur_error_buffer and its index rather than {warning,error}_ptr
      	and use_warning_buffer.
      	(gfc_warning_check, gfc_error_check): Don't print anything if
      	message is NULL.
      	(gfc_push_error): Allocate saved message with xstrdup.
      	(gfc_pop_error): Free saved message with gfc_free.
      	(gfc_free_error): New function.
      	* primary.c (match_complex_constant): Call gfc_free_error if
      	gfc_pop_error will not be called.
      	* match.c (gfc_match_st_function): Likewise.
      
      	* gfortran.dg/g77/cpp6.f: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102015 138bc75d-0d04-0410-961...
      19895fc1
    • jakub's avatar
      PR fortran/22417 · f9eef669
      jakub authored
      	* scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new
      	file.  Fix file left but not entered warning.
      
      	* gfortran.dg/g77/cpp5.F: New test.
      	* gfortran.dg/g77/cpp5.h: New file.
      	* gfortran.dg/g77/cpp5inc.h: New file.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102010 138bc75d-0d04-0410-961f-82ee72b054a4
      f9eef669
    • fengwang's avatar
      2005-07-14 Steven G. Kargl <kargls@comcast.net> · f780d428
      fengwang authored
      	* gfortran.dg/char_array_constructor.f90: New test.
      
      2005-07-14  Feng Wang  <fengwang@nudt.edu.cn>
      	Steven G. Kargl  <kargls@comcast.net>
      
      	* array.c (resolve_character_array_constructor): Allocate gfc_charlen
      	for the array and attach to namespace list for automatic deallocation.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102002 138bc75d-0d04-0410-961f-82ee72b054a4
      f780d428
  16. 13 Jul, 2005 1 commit
  17. 11 Jul, 2005 1 commit
  18. 08 Jul, 2005 2 commits
    • dberlin's avatar
      2005-07-08 Daniel Berlin <dberlin@dberlin.org> · 5ded8c6f
      dberlin authored
      	* Makefile.in (TREE_H): Add treestruct.def.
      	(c-decl.o): Add pointer-set.h
      	* c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
      	visibility on regular DECL's.
      	(merge_decls): Fix the copying of decl nodes of various types for
      	the new structures.  Don't update RTL, section name, weak status,
      	etc, on DECL's without RTL.
      	(grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
      	Don't check volatile on non-variable types.
      	(store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
      	to check whether we have seen arguments.
      	* c-objc-common.c (c_tree_printer): Reverse order of tests so that
      	flag is checked before field (flag is common, field is not).
      	* dwarf2out.c (decl_ultimate_origin):  Only DECL's with
      	TS_DECL_COMMON could have an origin.
      	(add_location_or_const_value_attribute): Don't check section name
      	on non-var/function decls.
      	(dwarf2out_var_location): Reverse order of tests.
      	* emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
      	with DECL_WRTL_CHECK.
      	* expmed.c (make_tree): rtl is now in decl_with_rtl.
      	* fold-const.c (fold_binary): Don't check weakness on
      	non-var/function decls.
      	(tree_expr_nonzero_p): Ditto.
      	(fold_checksum_tree): Use tree_decl_extra as sizeof
      	buffer.
      	* ggc-page.c (extra_order_size_table): Add sizes for
      	tree_decl_non_common, tree_parm_decl,  tree_var_decl, and
      	tree_field_decl.
      	* gimplify.c (gimplify_bind_expr): Only set
      	DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
      	* integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
      	without RTL.
      	* langhooks-def.h (LANG_HOOK_INIT_TS): New.
      	* langhooks.h (init_ts). New langhook.
      	* passes.c (rest_of_decl_compilation): Reverse order of tests.
      	* print-tree.c (print_node): Update to only print fields that
      	exist in the structures the passed decl has.
      	* toplev.c (wrapup_global_declarations): Don't reset
      	DECL_DEFER_OUTPUT on DECL's that don't contain it.
      	* tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
      	* tree-inline.c (remap_decl): Ditto.
      	* tree-outof-ssa.c (create_temp): Reverse order of tests.
      	* tree-pretty-print.c (print_declaration): Don't print
      	DECL_REGISTER on things that don't contain it.
      	* tree-vrp.c (expr_computes_nonzero): Don't check weakness on
      	non-var/function decls.
      	* tree.c (tree_contains_struct): New structure.
      	(init_priority_for_decl): New hashtable.
      	(tree_int_map): New structure.
      	(tree_int_map_eq): New function.
      	(tree_int_map_marked_p): Ditto.
      	(tree_int_map_hash): Ditto.
      	(tree_map): Move to tree.h.
      	(tree_map_eq): Externalize.
      	(tree_map_hash): Ditto.
      	(tree_map_marked_p): Ditto.
      	(init_ttree): Set up tree_contains_struct and call langhook.
      	(decl_assembler_name): Use DECL_NON_COMMON_CHECK..
      	(tree_code_size): Update for new structures.
      	(tree_node_structure): Update for new structures.
      	(make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
      	without the field.
      	(copy_node_stat):  Copy init priority.
      	(build_decl_stat): Ditto for visibility.
      	(ts_enum_names): New.
      	(tree_contains_struct_check_failed): New function.
      	(decl_init_priority_lookup): Ditto.
      	(decl_init_priority_insert): Ditto.
      	* treestruct.def: New file.
      	* tree.h (CODE_CONTAINS_STRUCT): New macro.
      	(CONTAINS_STRUCT_CHECK): Ditto.
      	(tree_contains_struct_check_failed): New prototype.
      	(DECL_CHECK): Removed.
      	(DECL_MINIMAL_CHECK): New.
      	(DECL_COMMON_CHECK): Ditto.
      	(DECL_WRTL_CHECK): Ditto.
      	(DECL_NON_COMMON_CHECK): Ditto.
      	(DECL_WITH_VIS_CHECK): Ditto.
      	(VAR_OR_FUNCTION_DECL_P): Ditto
      	(struct tree_decl_minimal): New structure.
      	(struct tree_decl_common): Ditto.
      	(struct tree_decl_with_rtl): Ditto.
      	(struct tree_decl_with_vis): Ditto.
      	(struct tree_decl_non_common): Ditto.
      	(struct tree_field_decl): Ditto.
      	(struct tree_parm_decl): Ditto.
      	(struct tree_var_decl): Ditto.
      	(struct tree_function_decl): Ditto.
      	(struct tree_const_decl): Ditto.
      	(struct tree_result_decl): Ditto.
      	(union tree_node): Add new structures.
      	* var-tracking.c (track_expr_p): Reverse order of tests.
      
      	* doc/c-tree.texi: Add documentation on DECL node internal structure.
      
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
      	removed.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* Make-lang.in: Add gt-cp-lang.h.
      	(cp-lang.o): Ditto.
      	* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on
      	the field.
      	* config-lang.in: Add cp-lang.c to gtfiles.
      	* cp-lang.c: Include hashtab.h.
      	(cp_init_ts): New function.
      	(LANG_HOOK_INIT_TS): Use macro.
      	(decl_shadowed_for_var_lookup): New function.
      	(decl_shadowed_for_var_insert): Ditto.
      	* cp-tree.h (THUNK_FUNCTION_CHECK): Use decl_common.
      	(NON_THUNK_FUNCTION_CHECK): Ditto.
      	(DECL_NAMESPACE_ASSOCIATIONS): Use decl_non_common.
      	(DECL_INIT_PRIORITY): Ditto.
      	(DECL_HAS_SHADOWED_FOR_VAR_P): Ditto.
      	(DECL_SHADOWED_FOR_VAR): Use hashtable.
      	(SET_DECL_SHADOWED_FOR_VAR): Ditto.
      	* decl.c (duplicate_decls): Update for new/updated structures.
      	(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.
      	* decl2.c (start_static_initialization_or_destruction): Deal with
      	priority.
      	* pt.c (tsubst_decl): Check TS_DECL_WRTL before doing
      	SET_DECL_RTL.
      	* tree.c (handle_init_priority_attribute): Handle priority.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is
      	removed.
      	* objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common.
      	(KEYWORD_KEY_NAME): Use decl_minimal.
      	(METHOD_SEL_NAME): Ditto..
      	(METHOD_SEL_ARGS): Use decl_non_common.
      	(METHOD_ADD_ARGS): Ditto.
      	(METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common.
      	(METHOD_DEFINITION): Ditto.
      	(METHOD_ENCODING): Ditto.
      	* objc-lang.c: (objc_init_ts): New function.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
      	is removed.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101799 138bc75d-0d04-0410-961f-82ee72b054a4
      5ded8c6f
    • jakub's avatar
      * primary.c (gfc_match_rvalue): Handle ENTRY the same way · 493dc920
      jakub authored
      	as FUNCTION.
      
      	* gfortran.fortran-torture/execute/entry_10.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101758 138bc75d-0d04-0410-961f-82ee72b054a4
      493dc920
  19. 07 Jul, 2005 7 commits
    • jakub's avatar
      * scanner.c (load_line): Add pbuflen argument, don't make · 83252520
      jakub authored
      	buflen static.  If maxlen == 0 or preprocessor_flag,
      	don't truncate at buflen, but at maxlen.  In xrealloc add
      	1 byte at the end for the terminating '\0'.  Don't fill
      	with spaces up to buflen, but gfc_option.fixed_line_length.
      	(load_file): Adjust load_line caller.  Add line_len variable.
      
      	* gfortran.dg/longline.f: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101718 138bc75d-0d04-0410-961f-82ee72b054a4
      83252520
    • jakub's avatar
      * scanner.c (preprocessor_line): Only set current_file->line when errors · 06bca32a
      jakub authored
      	have not been encountered.  Warn and don't crash if a file leave
      	preprocessor line has no corresponding entering line.  Formatting.
      
      	* gfortran.dg/badline.f: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101717 138bc75d-0d04-0410-961f-82ee72b054a4
      06bca32a
    • steven's avatar
      * primary.c (match_hollerith_constant): Use int, not unsigned int, · 55c9782e
      steven authored
      	for the hollerith length.  Fix indentation.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101707 138bc75d-0d04-0410-961f-82ee72b054a4
      55c9782e
    • fengwang's avatar
      Real commit for Hollerith constants. · 2addb4e8
      fengwang authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101689 138bc75d-0d04-0410-961f-82ee72b054a4
      2addb4e8
    • fengwang's avatar
      For the 60th anniversary of Chinese people��s Anti-Japan war victory. · 169f9d09
      fengwang authored
      2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
      
      	PR fortran/16531
      	PR fortran/15966
      	PR fortran/18781
      	* arith.c (gfc_hollerith2int, gfc_hollerith2real,
      	gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
      	New functions.
      	(eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
      	* arith.h (gfc_hollerith2int, gfc_hollerith2real,
      	gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
      	Add prototypes.
      	* expr.c (free_expr0): Free memery allocated for Hollerith constant.
      	(gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
      	(gfc_check_assign): Enable conversion from Hollerith to other.
      	* gfortran.h (bt): Add BT_HOLLERITH.
      	(gfc_expr): Add from_H flag.
      	* intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
      	(add_conversions): Add conversions from Hollerith constant to other.
      	(do_simplify): Don't simplify if  Hollerith constant arguments exist.
      	* io.c (resolv...
      169f9d09
    • fengwang's avatar
      2005-07-07 Feng Wang <fengwang@nudt.edu.cn> · bbe50a5a
      fengwang authored
              PR fortran/16531
              PR fortran/15966
              PR fortran/18781
              * arith.c (gfc_hollerith2int, gfc_hollerith2real,
              gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
              New functions.
              (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
              * arith.h (gfc_hollerith2int, gfc_hollerith2real,
              gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
              Add prototypes.
              * expr.c (free_expr0): Free memery allocated for Hollerith constant.
              (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
              (gfc_check_assign): Enable conversion from Hollerith to other.
              * gfortran.h (bt): Add BT_HOLLERITH.
              (gfc_expr): Add from_H flag.
              * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
              (add_conversions): Add conversions from Hollerith constant to other.
              (do_simplify): Don't simplify if  Hollerith constant arguments exist.
              * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU.
              * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH.
              (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH.
              * primary.c (match_hollerith_constant): New function.
              (gfc_match_literal_constant): Add match Hollerith before Integer.
              * simplify.c (gfc_convert_constant): Add conversion from Hollerith
              to other.
              * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to
              convert Hollerith constant to tree.
              * trans-io.c (gfc_convert_array_to_string): Get array's address and
              length to set string expr.
              (set_string): Deal with array assigned Hollerith constant and character
              array.
              * gfortran.texi: Document Hollerith constants as extention support.
      
      2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
      
              PR fortran/16531
              PR fortran/15966
              PR fortran/18781
              * gfortran.dg/hollerith.f90: New.
              * gfortran.dg/hollerith2.f90: New.
              * gfortran.dg/hollerith3.f90: New.
              * gfortran.dg/hollerith4.f90: New.
              * gfortran.dg/hollerith_f95.f90: New.
              * gfortran.dg/hollerith_legacy.f90: New.
              * gfortran.dg/g77/cpp4.F: New. Port from g77.
      
      2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
      
              PR fortran/16531
              * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
              support Hollerith constants.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101687 138bc75d-0d04-0410-961f-82ee72b054a4
      bbe50a5a
    • fengwang's avatar
      2005-07-07 Feng Wang <fengwang@nudt.edu.cn> · 17fd01f7
      fengwang authored
      	PR fortran/22327
      	* trans-array.c (gfc_trans_array_constructor_value): Fix index of data.
      
      2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
      
      	PR fortran/22327
      	* gfortran.dg/array_constructor_5.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101682 138bc75d-0d04-0410-961f-82ee72b054a4
      17fd01f7
  20. 06 Jul, 2005 1 commit
  21. 03 Jul, 2005 4 commits
  22. 02 Jul, 2005 3 commits
  23. 27 Jun, 2005 1 commit