summaryrefslogtreecommitdiffstats
path: root/gcc/fortran
Commit message (Collapse)AuthorAgeFilesLines
...
* 2012-08-27 Tobias Burnus <burnus@net-b.de>burnus2012-08-278-11/+38
| | | | | | | | | | | | | | | | | | | | | PR fortran/41093 * gfortran.h (gfc_common_head): Add "int refs". * match.c (gfc_match_common): Increment refs. * resolve.c (resolve_symbol): Only increment formal_ns->refs if formal_ns is not sym->ns. * symbol.c (gfc_free_symbol): Only free formal_ns if if formal_ns is not sym->ns. Free common_block if refs is one. (gfc_release_symbol): Release formal_ns only if the symbol is not ENTRY of a module. * decl.c (get_proc_name): Don't increment gfc_current_ns->refs. * parse.c (parse_interface): Incement proc_unit->refs++ for proc-pointer result variables. * module.c (mio_symbol): Don't increase sym->refs for its use in sym->formal_ns->proc_name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190710 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-27 Tobias Burnus <burnus@net-b.de>burnus2012-08-272-1/+7
| | | | | | | | | | | | | | | PR fortran/54370 * trans-stmt.c (gfc_trans_do_while): Don't change the logical kind for negation of the condition. 2012-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/54370 * gfortran.dg/do_5.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190709 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-27 Tobias Burnus <burnus@net-b.de>burnus2012-08-273-3/+7
| | | | | | | | | | | | | | | * options.c (set_Wall): Don't set for -Wcompare-reals. * invoke.texi (-Wall, -Wcompare-reals): -Wall no longer implies -Wcompare-reals. 2012-08-27 Tobias Burnus <burnus@net-b.de> * gfortran.dg/bessel_5.f90: Remove -Wno-compare-reals from dg-options as -Wall no longer implies it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190707 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLogsimonb2012-08-242-1/+5
| | | | | | | | | | | | | | | * dwarf2out.c (gen_producer_string): Omit command line switch if CL_NO_DWARF_RECORD flag set. * opts.h (CL_NO_DWARF_RECORD): New. * opt-functions.awk (switch_flags): Add NoDWARFRecord. * doc/options.texi: Document NoDWARFRecord option flag. gcc/fortran/ChangeLog * lang.opt (-cpp=): Mark flag NoDWARFRecord. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190648 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-24 Tobias Burnus <burnus@net-b.de>burnus2012-08-247-229/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/54350 * trans-array.c (free_ss_info): Free data.array.subscript. (gfc_free_ss): No longer free data.array.subscript. (walk_coarray): New function, moved from trans-intrinsic.c (gfc_conv_expr_descriptor): Walk array descriptor instead of taking passed "ss". (get_array_ctor_all_strlen, gfc_add_loop_ss_code, gfc_conv_array_parameter): Update call and cleanup ss handling. * trans-array.h (gfc_conv_expr_descriptor, gfc_conv_array_parameter): Update prototype. * trans-expr.c (gfc_conv_derived_to_class, conv_isocbinding_procedure, gfc_conv_procedure_call, gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign, gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and clean up. * trans-intrinsic.c (walk_coarray): Moved to trans-array.c (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_len, gfc_conv_intrinsic_size, gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size, gfc_conv_intrinsic_transfer, gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_loc, conv_intrinsic_move_alloc): Update calls. * trans-io.c (gfc_convert_array_to_string, set_internal_unit, gfc_trans_transfer): Ditto. * trans-stmt.c (gfc_conv_elemental_dependencies, gfc_trans_sync, trans_associate_var, gfc_trans_pointer_assign_need_temp): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190641 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.jakub2012-08-232-4/+10
| | | | | | | | | | fortran/ * trans-decl.c (trans_function_start, generate_coarray_init, create_main_function, gfc_generate_constructors): Call allocate_struct_function instead of init_function_start. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190619 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-22 Tobias Burnus <burnus@net-b.de>burnus2012-08-223-0/+10
| | | | | | | | | | * trans-expr.c (gfc_copy_class_to_class, gfc_trans_arrayfunc_assign): Free loop and ss data. * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190586 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-21 Tobias Burnus <burnus@net-b.de>burnus2012-08-212-0/+6
| | | | | | | | | * parse.c (parse_contained): Include EXEC_END_PROCEDURE in ns->code to make sure the gfc_code is freed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190575 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-20 Tobias Burnus <burnus@net-b.de>burnus2012-08-202-0/+7
| | | | | | | | | | | | | | | PR fortran/54301 * expr.c (gfc_check_pointer_assign): Warn when a pointer, which is a function result, might outlive its target. 2012-08-20 Tobias Burnus <burnus@net-b.de> PR fortran/54301 * gfortran.dg/warn_target_lifetime_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190542 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-20 Tobias Burnus <burnus@net-b.de>burnus2012-08-206-3/+63
| | | | | | | | | | | | | | | | | | | | | PR fortran/54301 * expr.c (gfc_check_pointer_assign): Warn when the pointer might outlive its target. * gfortran.h (struct gfc_option_t): Add warn_target_lifetime. * options.c (gfc_init_options, set_wall, gfc_handle_option): handle it. * invoke.texi (-Wtarget-lifetime): Document it. (-Wall): Implied it. * lang.opt (-Wtarget-lifetime): New flag. 2012-08-20 Tobias Burnus <burnus@net-b.de> PR fortran/54301 * gfortran.dg/warn_target_lifetime_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190522 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-19 Thomas König <tkoenig@gcc.gnu.org>tkoenig2012-08-196-4/+55
| | | | | | | | | | | | | | | | | | | | | | PR fortran/54298 * gfortran.h (struct gfc_option_t): Add warn_compare_reals. * lang.opt: Add Wcompare-reals. * invoke.texi: Document -Wcompare-reals. * resolve.c (resolve_operator): If -Wcompare-reals is in effect, warn about equality/inequality comparisions for REAL and COMPLEX. * options.c (gfc_init_options): Set warn_compare_reals. (set_Wall): Include warn_compare_reals in Wall. (gfc_handle_option): Handle Wcompare_reals. 2012-08-19 Thomas König <tkoenig@gcc.gnu.org> PR fortran/54298 * gfortran.dg/real_compare_1.f90: New test case. * gfortran.dg/bessel_5.f90 Add -Wno-compare-reals to options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190516 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (-Wsizeof-pointer-memaccess): Document.jakub2012-08-172-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | c/ * c-tree.h (c_last_sizeof_arg): Declare. * c-parser.c (struct c_tree_loc_pair): New type. (c_parser_expr_list): Add sizeof_arg argument. Fill it in if non-NULL. (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers. (c_parser_postfix_expression_after_primary): Likewise. Call sizeof_pointer_memaccess_warning if needed. (sizeof_ptr_memacc_comptypes): New function. * c-typeck.c (c_last_sizeof_arg): New global variable. (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it. cp/ * cp-tree.def (SIZEOF_EXPR): Move to c-common.def. c-family/ * c-common.c (sizeof_pointer_memaccess_warning): New function. * c.opt (-Wsizeof-pointer-memaccess): Add new option. * c-opts.c (c_common_handle_option): Enable it for -Wall. * c-common.h (sizeof_pointer_memaccess_warning): Add prototype. * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def. fortran/ * array.c (gfc_match_array_ref): Fix up memset arguments. testsuite/ * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190467 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-16 Diego Novillo <dnovillo@google.com>dnovillo2012-08-162-0/+8
| | | | | | | | | | | | Revert PR bootstrap/54281 * double-int.h: Move including of gmp.h ... * system.h: ... here. * realmpfr.h: Do not include gmp.h. * tree-ssa-loop-niter.c: Do not include gmp.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190449 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-16 Diego Novillo <dnovillo@google.com>dnovillo2012-08-162-1/+5
| | | | | | | | | | | | | PR bootstrap/54281 * double-int.h: Move including of gmp.h ... * system.h: ... here. * realmpfr.h: Do not include gmp.h. * tree-ssa-loop-niter.c: Do not include gmp.h. fortran/ChangeLog * gfortran.h: Do not include gmp.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190444 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-15 Janus Weil <janus@gcc.gnu.org>janus2012-08-152-0/+13
| | | | | | | | | | | | | | | | | PR fortran/54243 PR fortran/54244 * resolve.c (check_typebound_baseobject): Check for class_ok attribute. (resolve_procedure_interface,resolve_fl_derived0): Copy class_ok attribute. 2012-08-15 Janus Weil <janus@gcc.gnu.org> PR fortran/54243 PR fortran/54244 * gfortran.dg/typebound_call_24.f03: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190420 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-08-142-0/+51
| | | | | | | | | | | | | | | PR fortran/47586 * trans-expr.c (expr_is_variable): Handle regular, procedure pointer, and typebound functions returning a data pointer. testsuite/ PR fortran/47586 * gfortran.dg/typebound_proc_20.f90: Enable runtime test. * gfortran.dg/typebound_proc_27.f03: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190394 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-08-142-0/+6
| | | | | | | | | * decl.c (match_ppc_decl): Copy the procedure interface's symbol as procedure interface's result. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190393 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-08-142-6/+34
| | | | | | | | | * trans-expr.c (gfc_trans_scalar_assign): Rename argument, extend comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190392 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-08-1411-49/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * gfortran.h (gfc_get_proc_ptr_comp): New prototype. (gfc_is_proc_ptr_comp): Update prototype. * expr.c (gfc_get_proc_ptr_comp): New function based on the old gfc_is_proc_ptr_comp. (gfc_is_proc_ptr_comp): Call gfc_get_proc_ptr_comp. (gfc_specification_expr, gfc_check_pointer_assign): Use gfc_get_proc_ptr_comp. * trans-array.c (gfc_walk_function_expr): Likewise. * resolve.c (resolve_structure_cons, update_ppc_arglist, resolve_ppc_call, resolve_expr_ppc): Likewise. (resolve_function): Update call to gfc_is_proc_ptr_comp. * dump-parse-tree.c (show_expr): Likewise. * interface.c (compare_actual_formal): Likewise. * match.c (gfc_match_pointer_assignment): Likewise. * primary.c (gfc_match_varspec): Likewise. * trans-io.c (gfc_trans_transfer): Likewise. * trans-expr.c (gfc_conv_variable, conv_function_val, conv_isocbinding_procedure, gfc_conv_procedure_call, gfc_trans_pointer_assignment): Likewise. (gfc_conv_procedure_call, gfc_trans_array_func_assign): Use gfc_get_proc_ptr_comp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190391 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-14 Tobias Burnus <burnus@net-b.de>burnus2012-08-148-13/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/40881 * error.c (gfc_notify_std): Reset cur_error_buffer->flag flag when the error/warning has been printed. * gfortran.h (gfc_sl_type): Add ST_LABEL_DO_TARGET. * match.c (gfc_match_do): Use ST_LABEL_DO_TARGET. * parse.c (check_statement_label): Use ST_LABEL_DO_TARGET. (parse_executable): Add obsolescence check for DATA. * resolve.c (resolve_branch): Handle ST_LABEL_DO_TARGET. * symbol.c (gfc_define_st_label, gfc_reference_st_label): Add obsolescence diagnostics. * trans-stmt.c (gfc_trans_label_assign): Handle * ST_LABEL_DO_TARGET. 2012-08-14 Tobias Burnus <burnus@net-b.de> PR fortran/40881 * gfortran.dg/data_constraints_3.f90: New. * gfortran.dg/data_constraints_1.f90: Add dg-options "" to disable -pedantic compilation. * gfortran.dg/pr37243.f: Ditto. * gfortran.dg/g77/19990826-3.f: Ditto. * gfortran.dg/g77/20020307-1.f : Ditto. * gfortran.dg/g77/980310-3.f: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190379 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-14 Tobias Burnus <burnus@net-b.de>burnus2012-08-142-0/+18
| | | | | | | | | | | | | | | | PR fortran/54234 * check.c (gfc_check_cmplx): Add -Wconversion warning when converting higher-precision REAL to default-precision CMPLX without kind= parameter. 2012-08-14 Tobias Burnus <burnus@net-b.de> PR fortran/54234 * gfortran.dg/warn_conversion_4.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190378 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-12 Tobias Burnus <burnus@net-b.de>burnus2012-08-122-0/+18
| | | | | | | | | | | | | | | | | PR fortran/54221 * trans-decl.c (gfc_finish_var_decl, build_function_decl): Fix setting private module vars/procs as TREE_PUBLIC(...) = 0. 2012-08-12 Tobias Burnus <burnus@net-b.de> PR fortran/54221 * vect/vect-gems.f90: Don't mark module vars as PRIVATE as they appear uninitialized on the RHS. * gfortran.dg/public_private_module_6.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190325 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-09 Tobias Burnus <burnus@net-b.de>burnus2012-08-092-1/+7
| | | | | | | | | | | | | | | PR fortran/54199 * intrinsic.c (gfc_warn_intrinsic_shadow): Better warning for internal procedures. 2012-08-09 Tobias Burnus <burnus@net-b.de> PR fortran/54199 * gfortran.dg/intrinsic_shadow_4.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190251 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-06 Janus Weil <janus@gcc.gnu.org>janus2012-08-062-53/+165
| | | | | | | | | | | | | | | | | | | | | | PR fortran/35831 * interface.c (check_result_characteristics): New function, which checks the characteristics of function results. (gfc_compare_interfaces,gfc_check_typebound_override): Call it. 2012-08-06 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 * gfortran.dg/dummy_procedure_5.f90: Modified. * gfortran.dg/dummy_procedure_8.f90: New. * gfortran.dg/interface_26.f90: Modified. * gfortran.dg/proc_ptr_11.f90: Modified. * gfortran.dg/proc_ptr_15.f90: Modified. * gfortran.dg/proc_ptr_result_5.f90: Modified. * gfortran.dg/typebound_override_1.f90: Modified. * gfortran.dg/typebound_proc_6.f03: Modified. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190187 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR 54033, problems with -I, with test caseshjl2012-08-043-8/+21
| | | | | | | | | | | | | | PR fortran/54033 * scanner.c (add_path_to_list): New argument warn. Don't warn if it is true. (gfc_add_include_path): Warn if directory is missing. (gfc_add_intrinsic_modules_path): Do not warn if directory is missing. * optinons.c (gfc_handle_option): Do not add directory for intrinsic modules to normal include path. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190144 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-08-032-2/+7
| | | | | | | | | | | | | PR fortran/54166 * trans-array.c (set_loop_bounds): Access specinfo using spec_dim. testsuite/ PR fortran/54166 * gfortran.dg/array_5.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190130 138bc75d-0d04-0410-961f-82ee72b054a4
* Add the bug number in the ChangeLogmikael2012-08-021-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190099 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-08-022-0/+54
| | | | | | | | | | | | | | | | PR fortran/48820 * trans-array.c (gfc_conv_ss_startstride): Set the intrinsic result's lower and upper bounds according to the rank. (set_loop_bounds): Set the loop upper bound in the intrinsic case. testsuite/ PR fortran/48820 * gfortran.dg/assumed_rank_bounds_1.f90: New test. * gfortran.dg/assumed_rank_bounds_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190098 138bc75d-0d04-0410-961f-82ee72b054a4
* * trans-array.c (set_loop_bounds): Allow non-array-section to bemikael2012-08-022-11/+5
| | | | | | | | chosen using the stride and lower bound criteria. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190097 138bc75d-0d04-0410-961f-82ee72b054a4
* * trans-array.c (set_loop_bounds): Remove useless dimension check.mikael2012-08-022-3/+11
| | | | | | | | Don't update loopspec if it would loose the wanted stride criterion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190096 138bc75d-0d04-0410-961f-82ee72b054a4
* * trans-array.h (gfc_conv_descriptor_rank): New prototype.mikael2012-08-024-17/+27
| | | | | | | | | | | | * trans-array.c (gfc_conv_descriptor_rank): New function moved and renamed ... * trans-intrinsic.c (get_rank_from_desc): ... from this one. (gfc_conv_intrinsic_rank, gfc_conv_intrinsic_bound, gfc_conv_associated): Also rename function calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190095 138bc75d-0d04-0410-961f-82ee72b054a4
* * iresolve.c (resolve_bound, gfc_resolve_shape):mikael2012-08-023-5/+22
| | | | | | | | | | Don't set the shape for assumed rank arrays. * simplify.c (gfc_simplify_shape): Don't try to simplify if the argument is assumed rank. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190094 138bc75d-0d04-0410-961f-82ee72b054a4
* * array.c (gfc_copy_array_ref): Don't copy the offset field.mikael2012-08-025-10/+10
| | | | | | | | | | | * expr.c (find_array_section): Ignore the offset field. * trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply any interface mapping to the offset field. * gfortran.h (struct gfc_array_ref): Remove the offset field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190092 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-02 Janus Weil <janus@gcc.gnu.org>janus2012-08-022-59/+71
| | | | | | | | | | | | | | | | | | | | PR fortran/54147 * resolve.c (check_proc_interface): New routine for PROCEDURE interface checks. (resolve_procedure_interface,resolve_typebound_procedure, resolve_fl_derived0): Call it. 2012-08-02 Janus Weil <janus@gcc.gnu.org> PR fortran/54147 * gfortran.dg/abstract_type_6.f03: Modified. * gfortran.dg/proc_ptr_comp_3.f90: Modified. * gfortran.dg/proc_ptr_comp_35.f90: New. * gfortran.dg/typebound_proc_9.f03: Modified. * gfortran.dg/typebound_proc_26.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190069 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-01 Thomas König <tkoenig@gcc.gnu.org>tkoenig2012-08-012-1/+25
| | | | | | | | | | | | | | | | | | PR fortran/54033 * scanner.c (add_path_to_list): Emit warning if an error occurs for an include path, if it is not present or if it is not a directory. Do not add the path in these cases. 2012-08-01 Thomas König <tkoenig@gcc.gnu.org> PR fortran/54033 * gfortran.dg/include_6.f90: New test case. * gfortran.dg/include_7.f90: New test case. * gfortran.dg/include_3.f90: Add dg-warning for missing directory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190054 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-31 Janus Weil <janus@gcc.gnu.org>janus2012-07-315-52/+76
| | | | | | | | | | | | | | | | | | | | | | | PR fortran/42418 * decl.c (match_procedure_interface): Move some checks to 'resolve_procedure_interface'. Set flavor if appropriate. * expr.c (gfc_check_pointer_assign): Cleanup of 'gfc_is_intrinsic'. * intrinsic.c (gfc_is_intrinsic): Additional checks for attributes which identify a procedure as being non-intrinsic. * resolve.c (resolve_procedure_interface): Checks moved here from 'match_procedure_interface'. Minor cleanup. (resolve_formal_arglist,resolve_symbol): Cleanup of 'resolve_procedure_interface' (resolve_actual_arglist,is_external_proc): Cleanup of 'gfc_is_intrinsic'. 2012-07-31 Janus Weil <janus@gcc.gnu.org> PR fortran/42418 * gfortran.dg/proc_decl_29.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190017 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-31 Janus Weil <janus@gcc.gnu.org>janus2012-07-312-0/+8
| | | | | | | | | | | | | PR fortran/54134 * dependency.c (gfc_dep_compare_expr): Check if arguments are NULL. 2012-07-31 Janus Weil <janus@gcc.gnu.org> PR fortran/54134 * gfortran.dg/typebound_override_3.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190010 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-31 Tobias Burnus <burnus@net-b.de>burnus2012-07-314-21/+64
| | | | | | | | | | | | | | | | | | | | * interface.c (gfc_procedure_use): Return gfc_try instead of * void. * gfortran.h (gfc_procedure_use): Update prototype. * resolve.c (gfc_iso_c_func_interface): Allow noninteroperable procedures for c_funloc for TS29113. * (gfc_iso_c_sub_interface): Ditto for c_f_procpointer. Add diagnostic for c_ptr vs. c_funptr for c_f_(proc)pointer. 2012-07-31 Tobias Burnus <burnus@net-b.de> * gfortran.dg/c_funloc_tests_6.f90: New. * gfortran.dg/c_funloc_tests_7.f90: New. * gfortran.dg/c_funloc_tests_5.f03: Compile with -std=f2003. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190003 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-30 Janus Weil <janus@gcc.gnu.org>janus2012-07-305-12/+51
| | | | | | | | | | | | | | | | | | | | PR fortran/51081 * gfortran.h (gfc_resolve_intrinsic): Add prototype. * expr.c (gfc_check_pointer_assign): Set INTRINSIC attribute if needed. Check for invalid intrinsics. * primary.c (gfc_match_rvalue): Check for intrinsics came too early. Set procedure flavor if appropriate. * resolve.c (resolve_intrinsic): Renamed to gfc_resolve_intrinsic. (resolve_procedure_interface,resolve_procedure_expression, resolve_function,resolve_fl_derived0,resolve_symbol): Ditto. 2012-07-30 Janus Weil <janus@gcc.gnu.org> PR fortran/51081 * gfortran.dg/proc_ptr_37.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189985 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-07-262-18/+35
| | | | | | | | | | | | | | | PR fortran/44354 * trans-array.c (gfc_trans_array_constructor_value): Evaluate the iteration bounds before the inner variable shadows the outer. testsuite/ PR fortran/44354 * gfortran.dg/array_constructor_39.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189883 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-07-262-3/+88
| | | | | | | | | | | | | | | | | | PR fortran/44354 * array.c (sought_symbol): New variable. (expr_is_sought_symbol_ref, find_symbol_in_expr): New functions. (resolve_array_list): Check for references to the induction variable in the iteration bounds and issue a diagnostic if some are found. testsuite/ PR fortran/44354 * gfortran.dg/array_constructor_38.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189882 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-26 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>burnus2012-07-262-6/+21
| | | | | | | | | | | Tobias Burnus <burnus@net-b.de> * module.c (mio_array_spec): Don't read as->lower for assumed-rank arrays. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189881 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-25 Tobias Burnus <burnus@net-b.de>burnus2012-07-2511-15/+31
| | | | | | | | | | | | | | | | | | | | * trans-types.c (gfc_real16_is_float128): Fix spelling in a comment. * trans.h (struct gfc_array_info): Ditto. * gfortran.h (gfc_expr): Ditto. * simplify.c (gfc_count): Ditto. * trans-expr.c (gfc_copy_class_to_class, conv_parent_component_references, gfc_trans_pointer_assignment): Ditto. * expr.c (check_pointer_assign): Fix diagnostic spelling. * interface.c (compare_parameter): Ditto. * parse.c (use_modules, parse_associate): Ditto. * decl.c (match_char_length): Fix spelling of the an function argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189859 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-21 Tobias Burnus <burnus@net-b.de>burnus2012-07-213-5/+13
| | | | | | | | | * iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter. * intrinsic.texi (ISO_C_BINDING): Document it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189746 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-21 Tobias Burnus <burnus@net-b.de>burnus2012-07-214-14/+73
| | | | | | | | | | | | | | | | | | | | | | | PR fortran/48820 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Support lbound/ubound with dim= for assumed-rank arrays. * array.c (gfc_set_array_spec): Reject coarrays with assumed shape. * decl.c (merge_array_spec): Ditto. Return gfc_try. (match_attr_spec, match_attr_spec): Update call. 2012-07-21 Tobias Burnus <burnus@net-b.de> PR fortran/48820 * gfortran.dg/assumed_rank_3.f90: New. * gfortran.dg/assumed_rank_11.f90: New. * gfortran.dg/assumed_rank_1.f90: Update dg-error. * gfortran.dg/assumed_rank_2.f90: Update dg-error. * gfortran.dg/assumed_rank_7.f90: Update dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189743 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-21 Tobias Burnus <burnus@net-b.de>burnus2012-07-212-1/+7
| | | | | | | | | * resolve.c (resolve_formal_arglist): Put variable declaration before the first assignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189740 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-21 Tobias Burnus <burnus@net-b.de>burnus2012-07-212-2/+6
| | | | | | | | | * trans-expr.c (gfc_conv_derived_to_class): Fix argument passed to class_array_data_assign. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189739 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-20 Tobias Burnus <burnus@net-b.de>burnus2012-07-202-23/+14
| | | | | | | | | | | | | | | * decl.c (gfc_verify_c_interop_param): Allow assumed-shape with -std=f2008ts. 2012-07-20 Tobias Burnus <burnus@net-b.de> * gfortran.dg/bind_c_array_params_2.f90: New. * gfortran.dg/bind_c_array_params.f03: Add -std=f2003 and update dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189726 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-20 Tobias Burnus <burnus@net-b.de>burnus2012-07-2019-118/+566
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/48820 * array.c (match_array_element_spec, gfc_match_array_spec, spec_size, gfc_array_dimen_size): Add support for assumed-rank arrays. * check.c (dim_rank_check): Ditto. * class.c (gfc_add_component_ref): Ditto. (gfc_build_class_symbol): Regard assumed-rank arrays as having GFC_MAX_DIMENSIONS. And build extra class container for a scalar pointer class. * decl.c (merge_array_spec): Add assert. * dump-parse-tree.c (show_array_spec): Add support for assumed-rank arrays. * expr.c (gfc_is_simply_contiguous): Ditto. * gfortran.h (array_type): Ditto. (gfc_array_spec, gfc_expr): Add comment to "rank" field. * interface.c (compare_type_rank, argument_rank_mismatch, compare_parameter, gfc_procedure_use): Ditto. (compare_actual_formal): Fix NULL() to optional-dummy handling for polymorphic dummies. * module.c (mio_typespec): Add support for assumed-rank arrays. * resolve.c (resolve_formal_arglist, resolve_actual_arglist, resolve_elemental_actual, resolve_global_procedure, expression_shape, resolve_variable, update_ppc_arglist, check_typebound_baseobject, gfc_resolve_expr, resolve_fl_var_and_proc, gfc_resolve_finalizers, resolve_typebound_procedure, resolve_symbol): Ditto. (assumed_type_expr_allowed): Remove static variable. (actual_arg, first_actual_arg): New static variables. * simplify.c (simplify_bound, gfc_simplify_range): Add support for assumed-rank arrays. * trans-array.c (gfc_conv_array_parameter): Ditto. (gfc_get_descriptor_dimension): New function, which returns the descriptor. (gfc_conv_descriptor_dimension): Use it. (gfc_conv_descriptor_stride_get, gfc_conv_array_parameter): Handle GFC_ARRAY_ASSUMED_RANK_CONT and AS_ASSUMED_RANK. * trans-array.h (gfc_get_descriptor_dimension): New prototype. * trans-decl. (gfc_build_dummy_array_decl, gfc_trans_deferred_vars, add_argument_checking): Add support for assumed-rank arrays. * trans-expr.c (gfc_conv_expr_present, gfc_conv_variable, gfc_conv_procedure_call): Ditto. (get_scalar_to_descriptor_type, class_array_data_assign, conv_scalar_to_descriptor): New static functions. (gfc_conv_derived_to_class, gfc_conv_class_to_class): Use them. * trans-intrinsic.c (get_rank_from_desc): New function. (gfc_conv_intrinsic_rank, gfc_conv_associated): Use it. * trans-types.c (gfc_array_descriptor_base_caf, gfc_array_descriptor_base): Make space for scalar array. (gfc_is_nodesc_array, gfc_is_nodesc_array, gfc_build_array_type, gfc_get_array_descriptor_base): Add support for assumed-rank arrays. * trans.h (gfc_array_kind): Add GFC_ARRAY_ASSUMED_RANK and GFC_ARRAY_ASSUMED_RANK_CONT. 2012-07-20 Tobias Burnus <burnus@net-b.de> PR fortran/48820 * gfortran.dg/assumed_type_3.f90: Update dg-error. * gfortran.dg/assumed_rank_1.f90: New. * gfortran.dg/assumed_rank_1_c.c: New. * gfortran.dg/assumed_rank_2.f90: New. * gfortran.dg/assumed_rank_4.f90: New. * gfortran.dg/assumed_rank_5.f90: New. * gfortran.dg/assumed_rank_6.f90: New. * gfortran.dg/assumed_rank_7.f90: New. * gfortran.dg/assumed_rank_8.f90: New. * gfortran.dg/assumed_rank_8_c.c: New. * gfortran.dg/assumed_rank_9.f90: New. * gfortran.dg/assumed_rank_10.f90: New. * gfortran.dg/assumed_rank_12.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189700 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-19 Tobias Burnus <burnus@net-b.de>burnus2012-07-193-10/+33
| | | | | | | | | | | * trans-expr.c (gfc_conv_procedure_call): Fix handling of polymorphic arguments. * resolve.c (resolve_formal_arglist): Ditto, mark polymorphic assumed-shape arrays as such. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189678 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud