summaryrefslogtreecommitdiff
path: root/gcc/fortran
Commit message (Collapse)AuthorAgeFilesLines
* * gfortran.h: Do not include coretypes.h here.steven2012-07-0831-1/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it an error to include this before coretypes.h * openmp.c: Include coretypes.h. * interface.c: Likewise. * intrinsic.c: Likewise. * symbol.c: Likewise. * class.c: Likewise. * decl.c: Likewise. * matchexp.c: Likewise. * dump-parse-tree.c: Likewise. * array.c: Likewise. * constructor.c: Likewise. * error.c: Likewise. * data.c: Likewise. * expr.c: Likewise. * module.c: Likewise. * scanner.c: Likewise. * bbt.c: Likewise. * io.c: Likewise. * frontend-passes.c: Likewise. * resolve.c: Likewise. * st.c: Likewise. * target-memory.c: Likewise. * match.c: Likewise. * arith.c: Likewise. * parse.c: Likewise. * check.c: Likewise. * dependency.c: Likewise. * primary.c: Likewise. * misc.c: Likewise. * simplify.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189357 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/mikael2012-07-052-8/+8
| | | | | | | | | | | | | | PR fortran/53732 * trans-array.c (gfc_add_loop_ss_code): Disable self recursive calls handling nested loop(s) if the subscript flag is true. testsuite/ PR fortran/53732 * gfortran.dg/inline_sum_4.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189292 138bc75d-0d04-0410-961f-82ee72b054a4
* * expmed.c (expand_mult): Initialize coeff and is_neg.uros2012-07-052-0/+6
| | | | | | | | | | | | | | | java/ChangeLog: * jcf-io.c (read_zip_member): Initialize d_stream. fortran/ChangLog: PR fortran/53449 * parse.c (gfc_parse_file): Initialize errors_before. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189281 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-27 Janus Weil <janus@gcc.gnu.org>janus2012-06-274-20/+62
| | | | | | | | | | | | | | | | | | | | | PR fortran/41951 PR fortran/49591 * interface.c (check_new_interface): Rename, add 'loc' argument, make non-static. (gfc_add_interface): Rename 'check_new_interface' * gfortran.h (gfc_check_new_interface): Add prototype. * resolve.c (resolve_typebound_intrinsic_op): Add typebound operator targets to non-typebound operator list. 2012-06-27 Janus Weil <janus@gcc.gnu.org> PR fortran/41951 PR fortran/49591 * gfortran.dg/typebound_operator_16.f03: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189022 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-22 Janus Weil <janus@gcc.gnu.org>janus2012-06-225-30/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/47710 PR fortran/53328 * interface.c (count_types_test, generic_correspondence, gfc_compare_interfaces): Ignore PASS arguments. (check_interface1, compare_parameter): Pass NULL arguments to gfc_compare_interfaces. * gfortran.h (gfc_compare_interfaces): Modified prototype. * expr.c (gfc_check_pointer_assign): Pass NULL arguments to gfc_compare_interfaces. * resolve.c (resolve_structure_cons): Ditto. (check_generic_tbp_ambiguity): Determine PASS arguments and pass them to gfc_compare_interfaces. 2012-06-22 Janus Weil <janus@gcc.gnu.org> PR fortran/47710 PR fortran/53328 * gfortran.dg/typebound_generic_12.f03: New. * gfortran.dg/typebound_generic_13.f03: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188902 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 39654 FTELL intrinsic function return type.jb2012-06-212-2/+8
| | | | | | | | | | | | | | | | | | | | | | | frontend ChangeLog: 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/39654 * iresolve.c (gfc_resolve_ftell): Fix result kind and use new library function. library ChangeLog: 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/39654 * io/intrinsics.c (ftell2): New function. * gfortran.map (_gfortran_ftell2): Export function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188858 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-18 Tobias Burnus <burnus@net-b.de>burnus2012-06-185-1/+49
| | | | | | | | | | | | * intrinsic.h (gfc_resolve_rank): New prototype. * intrinsic.c (add_functions): Use gfc_resolve_rank. * iresolve.c (add_functions): New function. * trans-intrinsic.c (gfc_conv_intrinsic_rank): New function. (gfc_conv_intrinsic_function): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188751 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-18 Tobias Burnus <burnus@net-b.de>burnus2012-06-183-2/+23
| | | | | | | | | | | | | | | | | PR fortran/53692 * trans-array.c (set_loop_bounds): Don't scalarize via absent optional arrays. * resolve.c (resolve_elemental_actual): Don't stop resolving after printing a warning. 2012-06-18 Tobias Burnus <burnus@net-b.de> PR fortran/53692 * gfortran.dg/elemental_optional_args_6.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188749 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-18 Tobias Burnus <burnus@net-b.de>burnus2012-06-182-7/+49
| | | | | | | | | | | | | | | PR fortran/53526 * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle * coarrays. 2012-06-18 Tobias Burnus <burnus@net-b.de> PR fortran/53526 * gfortran.dg/coarray_lib_move_alloc_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188748 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-18 Tobias Burnus <burnus@net-b.de>burnus2012-06-182-11/+36
| | | | | | | | | | | | | | | | PR fortran/53526 * check.c (gfc_check_move_alloc): Reject coindexed actual * arguments and those with different corank. 2012-06-18 Tobias Burnus <burnus@net-b.de> PR fortran/53526 * gfortran.dg/coarray_27.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188747 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-17 Tobias Burnus <burnus@net-b.de>burnus2012-06-172-2/+13
| | | | | | | | | | | | | | | | | PR fortran/53691 PR fortran/53685 * check.c (gfc_calculate_transfer_sizes): Return if SIZE= is not constant or source-size cannot be determined. 2012-06-17 Tobias Burnus <burnus@net-b.de> PR fortran/53691 PR fortran/53685 * gfortran.dg/transfer_check_3.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188708 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-16 Tobias Burnus <burnus@net-b.de>burnus2012-06-163-15/+16
| | | | | | | | | | | | | | | | | | | PR fortran/53642 PR fortran/45170 * frontend-passes.c (optimize_assignment): Don't remove RHS's trim when assigning to a deferred-length string. * trans-expr.c (gfc_trans_assignment_1): Ensure that the RHS string length is evaluated before the deferred-length LHS is reallocated. 2012-06-16 Tobias Burnus <burnus@net-b.de> PR fortran/53642 PR fortran/45170 * gfortran.dg/deferred_type_param_8.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188692 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-13 Tobias Burnus <burnus@net-b.de>burnus2012-06-133-10/+12
| | | | | | | | | | | | | | | | PR fortran/53643 * trans-decl.c (init_intent_out_dt): Fix for polymorphic arrays. * trans-array.c (structure_alloc_comps): Don't loop for scalar coarrays. 2012-06-13 Tobias Burnus <burnus@net-b.de> PR fortran/53643 * gfortran.dg/intent_out_7.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188507 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-13 Tobias Burnus <burnus@net-b.de>burnus2012-06-132-2/+9
| | | | | | | | | | | | | | | PR fortran/53597 * decl.c (match_attr_spec): Only mark module variables as SAVE_IMPLICIT for Fortran 2008 and later. 2012-06-13 Tobias Burnus <burnus@net-b.de> PR fortran/53597 * gfortran.dg/save_4.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188506 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-08 Janus Weil <janus@gcc.gnu.org>janus2012-06-083-22/+30
| | | | | | | | | | | | | | | | | | PR fortran/52552 * match.c (gfc_match_allocate): Modify order of checks. Change wording of error message. Remove FIXME note. * resolve.c (resolve_allocate_expr): Add a comment. 2012-06-08 Janus Weil <janus@gcc.gnu.org> PR fortran/52552 * gfortran.dg/allocate_alloc_opt_1.f90: Modified. * gfortran.dg/allocate_class_1.f90: Modified. * gfortran.dg/allocate_with_typespec_4.f90: Modified. * gfortran.dg/allocate_class_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188335 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-07 Thomas König <tkoenig@gcc.gnu.org>tkoenig2012-06-072-3/+12
| | | | | | | | | | | | | | | | | PR fortran/52861 * frontend-passes.c (optimize_assignment): Don't set the length of an empty string for deferred-length character variables. 2012-06-07 Thomas König <tkoenig@gcc.gnu.org> PR fortran/52861 * gfortran.dg/string_assign_2.f90: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188305 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-07 Thomas König <tkoenig@gcc.gnu.org>tkoenig2012-06-072-4/+17
| | | | | | | | | | | | | | | | PR fortran/52861 * frontend-passes (empty_string): Add prototype. (optimize_assignment): Set the length of an empty string constant to zero. 2012-06-07 Thomas König <tkoenig@gcc.gnu.org> PR fortran/52861 * gfortran.dg/string_assign_1.f90: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188300 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-04 Tobias Burnus <burnus@net-b.de>burnus2012-06-042-1/+8
| | | | | | | | | | | | | | | PR fortran/50619 * resolve.c (build_default_init_expr): Don't initialize ASSOCIATE names. 2012-06-04 Tobias Burnus <burnus@net-b.de> PR fortran/50619 * gfortran.dg/init_flag_10.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188208 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>burnus2012-06-034-18/+27
| | | | | | | | | | | | | | | | | | | | | Tobias Burnus <burnus@net-b.de> PR fortran/48831 * gfortran.h (gfc_check_init_expr): Add prototype declaration of function. * check.c (kind_check): Change if condition to use to gfc_check_init_expr. * expr.c (check_init_expr): Remove forward declaration and static keyword. Change name in gfc_check_init_expr. 2012-06-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> PR fortran/48831 * gfortran.dg/parameter_array_element_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188152 138bc75d-0d04-0410-961f-82ee72b054a4
* * output.h (__gcc_host_wide_int__): Move to hwint.h.steven2012-05-314-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (decl_default_tls_model): Move to tree.h (dump_file): Move to system.h. (default_stabs_asm_out_destructor, default_stabs_asm_out_constructor, dbxout_int, dbxout_stabd, dbxout_begin_stabn, dbxout_begin_stabn_sline, dbxout_begin_empty_stabs, dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc, dbxout_stab_value_zero, dbxout_stab_value_zero, dbxout_stab_value_label_diff, dbxout_stab_value_internal_label, dbxout_stab_value_internal_label_diff): Move from here ... * dbxout.h: ... to here. * system.h (dump_file): Moved here from output.h. * hwint.h (__gcc_host_wide_int__): Moved here from output.h. * tree.h (decl_default_tls_model): Moved here from output.h. * varasm.c (default_stabs_asm_out_destructor, default_stabs_asm_out_constructor): Move from here ... * dbxout.c: ... to here. * gcov-dump.c (dump_file): Rename to dump_gcov_file. Update callers. * collect2.h (dump_file): Rename to dump_ld_file. * collect2.c: Likewise. * tlink.c: Likewise. * alias.c: Do not include output.h. * auto-inc-dec.c: Likewise. * bt-load.c: Likewise. * caller-save.c: Likewise. * cfg.c: Likewise. * cfgbuild.c: Likewise. * cfgcleanup.c: Likewise. * cfglayout.c: Likewise. * cfgloop.c: Likewise. * cfgloopanal.c: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.c: Likewise. * cgraphclones.c: Likewise. * combine-stack-adj.c: Likewise. * combine.c: Likewise. * cprop.c: Likewise. * cse.c: Likewise. * cselib.c: Likewise. * dbgcnt.c: Likewise. * df-problems.c: Likewise. * df-scan.c: Likewise. * dojump.c: Likewise. * fwprop.c: Likewise. * gcse.c: Likewise. * graph.c: Likewise. * haifa-sched.c: Likewise. * hw-doloop.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-reference.c: Likewise. * ipa-utils.c: Likewise. * ira-build.c: Likewise. * ira-emit.c: Likewise. * lcm.c: Likewise. * loop-doloop.c: Likewise. * loop-invariant.c: Likewise. * loop-iv.c: Likewise. * loop-unroll.c: Likewise. * loop-unswitch.c: Likewise. * lto-cgraph.c: Likewise. * lto-section-in.c: Likewise. * lto-streamer-in.c: Likewise. * mcf.c: Likewise. * mode-switching.c: Likewise. * postreload-gcse.c: Likewise. * postreload.c: Likewise. * predict.c: Likewise. * profile.c: Likewise. * ree.c: Likewise. * reg-stack.c: Likewise. * regcprop.c: Likewise. * regmove.c: Likewise. * regstat.c: Likewise. * reload1.c: Likewise. * sched-ebb.c: Likewise. * sel-sched-dump.c: Likewise. * simplify-rtx.c: Likewise. * stor-layout.c: Likewise. * store-motion.c: Likewise. * tracer.c: Likewise. * tree-affine.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-dfa.c: Likewise. * tree-into-ssa.c: Likewise. * tree-nomudflap.c: Likewise. * tree-optimize.c: Likewise. * tree-pretty-print.c: Likewise. * tree-profile.c: Likewise. * tree-ssa-address.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-copy.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-loop-ch.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-loop-unswitch.c: Likewise. * tree-ssa-loop.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-tail-merge.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uncprop.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-ssa.c: Likewise. * value-prof.c: Likewise. * var-tracking.c: Likewise. * web.c: Likewise. * config/m32r/m32r.c: Include dbxout.h. * config/pa/pa.c: Likewise. * config/rs6000/rs6000.c: Likewise. * Makefile.in: Fix dependencies. * config/rs6000/t-rs5000: Likewise. c-family/ * c-ada-spec.c: Do not include output.h. * c-semantics.c: Likewise. cp/ * call.c: Do not include output.h. * class.c: Likewise. * except.c: Likewise. * friend.c: Likewise. * init.c: Likewise. * lex.c: Likewise. * method.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * rtti.c: Likewise. * search.c: Likewise. objc/ * objc-act.c: Do not include output.h. fortran/ * trans-common.c: Do not include output.h. * trans-decl.c: Likewise. java/ * resource.c: Do not include output.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188082 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-31 Tobias Burnus <burnus@net-b.de>burnus2012-05-312-13/+7
| | | | | | | | | | PR fortran/53521 * trans.c (gfc_deallocate_scalar_with_status): Properly handle the case size == 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188062 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-30 Tobias Burnus <burnus@net-b.de>burnus2012-05-302-3/+7
| | | | | | | | | PR c/53502 * decl.c (match_attr_spec): Remove "typedef". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188024 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-30 Tobias Burnus <burnus@net-b.de>burnus2012-05-3010-37/+49
| | | | | | | | | | | | | | | | | | | | | * decl.c: Fix comment typos. * expr.c: Ditto. * frontend-passes.c: Ditto. * match.c: Ditto. * resolve.c: Ditto. * trans-array.c: Ditto. * trans-common.c: Ditto. * trans-intrinsic.c: Ditto. * trans-types.c: Ditto. 2012-05-30 Tobias Burnus <burnus@net-b.de> * io/io.h: Fix comment typos. * io/list_read.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188000 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-23 Tobias Burnus <burnus@net-b.de>burnus2012-05-233-4/+28
| | | | | | | | | | | | | | | | | | | PR fortran/51055 PR fortran/45170 * match.c (gfc_match_allocate): Set length_from_typespec for characters. * resolve.c (resolve_charlen): If set, don't check whether the len is a specification expression. 2012-05-23 Tobias Burnus <burnus@net-b.de> PR fortran/51055 PR fortran/45170 * gfortran.dg/allocate_with_typespec_6.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187811 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-22 Tobias Burnus <burnus@net-b.de>burnus2012-05-222-1/+12
| | | | | | | | | | | | | | | | PR fortran/53389 * trans-array.c (gfc_add_loop_ss_code): Don't evaluate * expression, if ss->is_alloc_lhs is set. 2012-05-22 Tobias Burnus <burnus@net-b.de> PR fortran/53389 * gfortran.dg/realloc_on_assign_15.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187769 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/53322 - -Wunused-local-typedefs is not enabled by Wall or Wunuseddodji2012-05-222-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the audit trail of this shows, -Wunused-local-typedefs is not turned on by -Wunused after all. Sigh. Now that we have the EnabledBy construct for the *.opt files, it's more precise and concise to use that to make -Wunused-local-typedefs be triggered by -Wunused. I have changed the gcc+.dg/warn/Wunused-local-typedefs.C test case to make it use -Wunused instead of -Wunused-local-typedefs. I had to adjust it to avoid the warnings due to the other -W* options triggered by -Wunused there. While testing the compiler, it turned out that some local typedefs were not being used when the experimental "Concepts" support is turned off, in the libstdc++ test suite. I also had to remove some obvious useless local typedef usage in the fortran front-end. Fixed thus. Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk. gcc/c-family/ PR c++/53322 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused). libstdc++-v3/ PR c++/53322 * include/bits/stl_algobase.h (lower_bound) (lexicographical_compare): Do not declare unused local typedefs here when Concepts are turned off. gcc/fortran/ PR c++/53322 * f95-lang.c (gfc_init_builtin_functions): Remove the unused typedef builtin_type. gcc/testsuite/ PR c++/53322 * g++.dg/warn/Wunused-local-typedefs.C: Adjust to use -Wunused instead of -Wunused-local-typedefs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187757 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 52428 Range checking when reading integer values.jb2012-05-144-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/fortran ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * gfortran.texi: Update _gfortran_set_options documentation. * invoke.texi: Remove runtime behavior description of -fno-range-check. * trans-decl.c (create_main_function): Don't pass the range-check setting to the library. libgfortran ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * io/io.h (max_value): Rename to si_max, remove second argument. * io/list_read.c (convert_integer): Use unsigned types when parsing the digits, set max value depending on the sign. * io/read.c (max_value): Rename to si_max, remove second argument, simplify. (read_decimal): Set max value depending on sign, always check overflow. (read_radix): Calculate max unsigned value directly. * libgfortran.h (struct compile_options_t): Remove range_check field. * runtime/compile_options.c (set_options): Skip handling options[7]. (init_compile_options): Don't set removed field. gcc/testsuite ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * gfortran.dg/int_range_io_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187478 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-14 Tobias Burnus <burnus@net-b.de>burnus2012-05-143-21/+33
| | | | | | | | | | | | | | | | | | | | | | | | PR fortran/49110 PR fortran/51055 PR fortran/53329 * trans-expr.c (gfc_trans_assignment_1): Fix allocation handling for assignment of function results to allocatable deferred-length strings. * trans-decl.c (gfc_create_string_length): For deferred-length module variables, include module name in the assembler name. (gfc_get_symbol_decl): Don't override the assembler name. 2012-05-14 Tobias Burnus <burnus@net-b.de> PR fortran/49110 PR fortran/51055 PR fortran/53329 * gfortran.dg/deferred_type_param_4.f90: New. * gfortran.dg/deferred_type_param_6.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187472 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-142-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | PR 53063 c-family/ * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init, Wreorder): Use LangEnabledBy. * c-opts.c (c_common_handle_option): Do not enable them explicitly. Call lang-specific generated functions. (c_common_post_options): Do not set them here. gcc/ * doc/options.texi: (LangEnabledBy): Document it. * optc-gen.awk: Handle LangEnabledBy. * opth-gen.awk: Generate declaration for lang-specific functions. * opt-read.awk: Record lang numbers. * opt-functions.awk (flag_set_p): Ignore the arguments of flags. (lang_sanitized_name): New. ada/ * gcc-interface/misc.c: Include opts.h and options.h before tm.h. (gnat_handle_option): Call lang-specific generated function. fortran/ * options.c (gfc_handle_option): Call lang-specific generated function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187462 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>burnus2012-05-133-21/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Tobias Burnus <burnus@net-b.de> PR fortran/52158 PR fortran/45170 PR fortran/49430 * resolve.c (resolve_fl_derived0): Deferred character length procedure components are supported. * trans-expr.c (gfc_conv_procedure_call): Handle TBP with deferred-length results. (gfc_string_to_single_character): Add a new check to prevent NULL read. (gfc_conv_procedure_call): Remove unuseful checks on symbol's attributes. Add new checks to prevent NULL read on string length. 2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> PR fortran/45170 * gfortran.dg/deferred_type_param_3.f90: New. * gfortran.dg/deferred_type_proc_pointer_1.f90: New. * gfortran.dg/deferred_type_proc_pointer_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187436 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-12 Tobias Burnus <burnus@net-b.de>burnus2012-05-122-1/+8
| | | | | | | | | | | | | | | | | PR fortran/49110 PR fortran/52843 * resolve.c (resolve_fl_procedure): Don't regard character(len=:) as character(*) in the diagnostic. 2012-05-12 Tobias Burnus <burnus@net-b.de> PR fortran/49110 PR fortran/52843 * gfortran.dg/deferred_type_param_5.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187427 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2012-05-112-25/+142
| | | | | | | | | | | | | | | | | | | | | | PR fortran/52537 * frontend-passes.c (optimize_op): Change old-style comparison operators to new-style, simplify switch as a result. (empty_string): New function. (get_len_trim_call): New function. (optimize_comparison): If comparing to an empty string, use comparison of len_trim to zero. Use new-style comparison operators only. (optimize_trim): Use get_len_trim_call. 2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/52537 * gfortran.dg/string_compare_4.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187406 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-112-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 53063 gcc/ * doc/options.texi (EnabledBy): Document * opts.c: Include opts.h and options.h before tm.h. (finish_options): Do not handle some sub-options here... (common_handle_option): ... instead call common_handle_option_auto here. * optc-gen.awk: Handle EnabledBy. * opth-gen.awk: Declare common_handle_option_auto. * common.opt (Wuninitialized): Use EnabledBy. Delete Init. (Wmaybe-uninitialized): Likewise. (Wunused-but-set-variable): Likewise. (Wunused-function): Likewise. (Wunused-label): Likewise. (Wunused-value): Likewise. (Wunused-variable): Likewise. * opt-read.awk: Create opt_numbers array. ada/ * gcc-interface/misc.c (gnat_parse_file): Move before ... (gnat_handle_option): ... this. Use handle_generated_option. c-family/ * c-opts.c (c_common_handle_option): Use handle_generated_option to enable sub-options. fortran/ * options.c: Include diagnostics.h instead of diagnostics-core.h. (set_Wall): Do not see warn_unused here. (gfc_handle_option): Set it here using handle_generated_option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187403 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraphbuild.c (build_cgraph_edges): Do not finalize varshubicka2012-05-093-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | with VALUE_EXPR. * cgraph.h (varpool_can_remove_if_no_refs): Vars with VALUE_EXPR are removable. * toplev.c (wrapup_global_declaration_2): Vars with VALUE_EXPR need to wrapup. (compile_file): Do not output variables. * cgraphbuild.c (varpool_finalize_decl): When var is finalized late, output it. * langhooks.c: Include timevar.h (write_global_declarations): Finalize compilation unit after wrapup; set timevars correctly. * passes.c (rest_of_decl_compilation): Decls with VALUE_EXPR needs not to be added to varpool. * varpool.c (varpool_assemble_decl): Sanity check that we are called only on cases where it makes sense; skip constant pool and value expr vars. * lto.c (do_whole_program_analysis): Set timevars correctly. (lto_main): Likewise. * trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN. * trans-decl.c (gfc_finish_cray_pointee): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187314 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-07 Tobias Burnus <burnus@net-b.de>burnus2012-05-072-6/+11
| | | | | | | | | | | | | | | PR fortran/53255 * resolve.c (resolve_typebound_static): Fix handling of overridden specific to generic operator. 2012-05-07 Tobias Burnus <burnus@net-b.de> PR fortran/53255 * gfortran.dg/typebound_operator_15.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187226 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-06 Tobias Burnus <burnus@net-b.de>burnus2012-05-062-1/+9
| | | | | | | | | | | | | | PR fortran/41587 * decl.c (build_struct): Don't ignore FAILED status. 2012-05-06 Tobias Burnus <burnus@net-b.de> PR fortran/41587 * gfortran.dg/class_array_13.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187214 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-05 Paul Thomas <pault@gcc.gnu.org>pault2012-05-0510-67/+346
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/41600 * trans-array.c (build_array_ref): New static function. (gfc_conv_array_ref, gfc_get_dataptr_offset): Call it. * trans-expr.c (gfc_get_vptr_from_expr): New function. (gfc_conv_derived_to_class): Add a new argument for a caller supplied vptr and use it if it is not NULL. (gfc_conv_procedure_call): Add NULL to call to above. symbol.c (gfc_is_associate_pointer): Return true if symbol is a class object. * trans-stmt.c (trans_associate_var): Handle class associate- names. * expr.c (gfc_get_variable_expr): Supply the array-spec if possible. * trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P for class types. * trans.h : Add prototypes for gfc_get_vptr_from_expr and gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P. * resolve.c (resolve_variable): For class arrays, ensure that the target expression has all the necessary _data references. (resolve_assoc_var): Throw a "not yet implemented" error for class array selectors that need a temporary. * match.c (copy_ts_from_selector_to_associate, select_derived_set_tmp, select_class_set_tmp): New functions. (select_type_set_tmp): Call one of last two new functions. (gfc_match_select_type): Copy_ts_from_selector_to_associate is called if associate-name is typed. PR fortran/53191 * resolve.c (resolve_ref): C614 applied to class expressions. 2012-05-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/41600 * gfortran.dg/select_type_26.f03 : New test. * gfortran.dg/select_type_27.f03 : New test. PR fortran/53191 * gfortran.dg/select_type_28.f03 : New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187192 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 49010,24518 MOD/MODULO fixes.jb2012-05-054-87/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/fortran: 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/49010 PR fortran/24518 * intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result. * simplify.c (gfc_simplify_mod): Use mpfr_fmod. (gfc_simplify_modulo): Likewise, use copysign to fix the result if zero. * trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as builtin_fmod is always available. For modulo, call copysign to fix the result when signed zeros are enabled. testsuite: 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/49010 PR fortran/24518 * gfortran.dg/mod_sign0_1.f90: New test. * gfortran.dg/mod_large_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187191 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix handling of temporary files.jb2012-05-052-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain algorithm for choosing temp directory. 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> * config.h.in: Regenerated. * configure: Regenerated. * configure.ac: Add checks for getegid and __secure_getenv. * io/unix.c (P_tmpdir): Fallback definition for macro. (tempfile_open): New function. (tempfile): Use secure_getenv, call tempfile_open to try each directory in turn. * libgfortran.h (DEFAULT_TMPDIR): Remove macro. (secure_getenv): New macro/prototype. * runtime/environ.c (secure_getenv): New function. (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR. * runtime/main.c (find_addr2line): Use secure_getenv. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187190 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-04 Tobias Burnus <burnus@net-b.de>burnus2012-05-043-1/+23
| | | | | | | | | | | | | | | | | | PR fortran/53175 * resolve.c (resolve_variable): Set public_used if a private module variable is used in a (public) specification expression. * trans-decl.c (gfc_finish_var_decl): Mark those TREE_PUBLIC. 2012-05-04 Tobias Burnus <burnus@net-b.de> PR fortran/53175 gfortran.dg/public_private_module_5.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187175 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-04 Tobias Burnus <burnus@net-b.de>burnus2012-05-042-0/+8
| | | | | | | | | | | | | | | | PR fortran/53111 * resolve.c (resolve_fl_derived): Fix -std=f95 diagnostic for generic vs. DT names. 2012-05-04 Tobias Burnus <burnus@net-b.de> PR fortran/53111 * gfortran.dg/constructor_7.f90: New. * gfortran.dg/constructor_8.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187174 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-03 Tobias Burnus <burnus@net-b.de>burnus2012-05-032-38/+16
| | | | | | | | | | | | | | | | PR fortran/52864 * interface.c (compare_parameter_intent): Remove. (check_intents): Remove call, handle CLASS pointer. (compare_actual_formal): Handle CLASS pointer. 2012-05-03 Tobias Burnus <burnus@net-b.de> PR fortran/52864 * gfortran.dg/pointer_intent_7.f90: New. * gfortran.dg/pure_formal_3.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187076 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.chubicka2012-04-302-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cgraph_asm_nodes, cgraph_asm_last_node): Move to cgraphunit.c (cgraph_add_to_same_comdat_group): Remove. (cgraph_add_asm_node): Move to cgraphunit.c. (cgraph_make_decl_local): Move to symtab.c (cgraph_make_node_local_1): Update. (cgraph_can_remove_if_no_direct_calls_and): Update. (used_from_object_file_p): Update. (resolution_used_from_other_file_p): Move to symtab.c (cgraph_used_from_object_file_p): move to symtab.c (verify_cgraph_node): Verify same comdat groups. * cgraph.h (cgraph_asm_node): Rename to ... (asm_node): ... this one. (cgraph_asm_nodes): Rename to ... (asm_nodes): ... this one. (symtab_add_to_same_comdat_group): New function. (symtab_dissolve_same_comdat_group_list): New function. (symtab_used_from_object_file_p): Declare. (symtab_make_decl_local): Declare. (cgraph_add_to_same_comdat_group): Remove. (cgraph_add_asm_node): Remove. (cgraph_used_from_object_file_p, varpool_used_from_object_file_p): Remove. (cgraph_finalize_compilation_unit): Rename to ... (finalize_compilation_unit): ... this one. (cgraph_optimize): Rename to .... (compile): ... this one. (add_asm_node): Declare. (fixup_same_cpp_alias_visibility): Declare. (cgraph_make_decl_local): Remove. (varpool_assemble_pending_decls): Rename to ... (varpool_output_variables): ... this one. (varpool_remove_unreferenced_decls): Remove. * ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups. (preserve_function_body_p): Make static. * toplev.c (compile_file): Update comments; update. * cgraphunit.c: Update comments. (cgraph_expand_all_functions): Rename to ... (expand_all_functions): ... this one; update. (cgraph_mark_functions_to_output): Rename to ... (mark_functions_to_output): ... this one; cleanup. (cgraph_output_pending_asms): Remove prototype. (asm_nodes, asm_last_node): New static vars. (cgraph_process_new_functions): Update. (cgraph_reset_node): Cleanup; add comment. (cgraph_add_new_function): Update. (cgraph_output_pending_asms): Rename to ... (output_asm_statements): ... this one. (add_asm_node): New function. (fixup_same_cpp_alias_visibility): New function based on code in cgraph_analyze_function. (cgraph_analyze_function): Use it. (cgraph_order_sort): Update. (cgraph_output_in_order): Update. (cgraph_function_versioning): Update. (cgraph_optimize): Rename to ... (compile): ... this one; initialize streamer hooks here. (cgraph_finalize_compilation_unit): Rename to ... (finalize_compilation_unit): ... this one; do not initialize streamer hook here. * lto-streamer-out.c (lto_output_toplevel_asms): Update. * dwarf2out.c: Update ocmment. * optimize.c (maybe_clone_body): Use symtab_add_to_same_comdat_group. * method.c (use_thunk): Likewise. * semantics.c (maybe_add_lambda_conv_op): Likewise. * decl2.c (maybe_emit_vtables): Likewise. (cp_write_global_declarations): Use finalize_compilation_unit. * parser.c (cp_parser_asm_definition): Use add_asm_node. * lto-streamer-in.c (lto_input_toplevel_asms): Use add_asm_node * c-decl.c (c_write_global_declarations): Use finalize_compilation_unit. * langhooks.c (write_global_declarations): Update. * ipa.c (cgraph_externally_visible_p): Update. (dissolve_same_comdat_group_list): Remove. (function_and_variable_visibility): Update. * symtab.c: Inlcude lto-streamer.h and rtl.h (ld_plugin_symbol_resolution_names): New. (symtab_add_to_same_comdat_group): New. (symtab_dissolve_same_comdat_group_list): New. (resolution_used_from_other_file_p): Move here from cgraph.c (symtab_used_from_object_file_p): New. (symtab_make_decl_local): New. * passes.c (register_pass): Update comments. * c-parser.c (c_parser_asm_definition): Update. * varpool.c (varpool_analyze_node): Use fixup_same_cpp_alias_visibility. (varpool_remove_unreferenced_decls): Make static. (varpool_assemble_pending_decls): Rename to ... (varpool_output_variables): ... this one; call varpool_remove_unreferenced_decls. (varpool_used_from_object_file_p): Remove. * gogo-tree.cc (Gogo::write_globals): Use finalize_compilation_unit. * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update comment. (gnat_write_global_declarations): Use finalize_compilation_unit. * f95-lang.c (gfc_finish): Update comments. * lto.c (lto_main): Use compile (). * lto-partition.c (partition_cgraph_node_p): Use symtab_used_from_object_file_p. (partition_varpool_node_p): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186998 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2012-04-292-0/+16
| | | | | | | | | | | | | | | PR fortran/53148 * frontend-passes.c (create_var): If the statement has a label, put the label around the block. 2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/53148 * gfortran.dg/function_optimize_12.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186942 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-25 Tobias Burnus <burnus@net-b.de>burnus2012-04-256-6/+78
| | | | | | | | | | | | | | | | | | | | | | PR fortran/52196 * lang.opt (Wrealloc-lhs, Wrealloc-lhs-all): New flags. * gfortran.h (gfc_option_t): Add them. * options.c (gfc_init_options, gfc_post_options, gfc_handle_option): Handle them. * invoke.texi: Document them. * trans-expr.c (realloc_lhs_warning): New function. (gfc_trans_arrayfunc_assign, alloc_scalar_allocatable_for_assignment, gfc_trans_assignment_1): Use it. 2012-04-25 Tobias Burnus <burnus@net-b.de> PR fortran/52196 * gfortran.dg/realloc_on_assign_14.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186806 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/steven2012-04-184-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | * targhooks.c (default_case_values_threshold): Fix code style nit. * stmt.c (add_case_node, expand_case): Move logic to remove/reduce case range and type folding from here... * gimplify.c (gimplify_switch_expr): ... to here. Expect NULL_TREE type, as documented in tree.def fortran/ * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR with NULL_TREE type instead of void_type_node. * trans-io.c (io_result): Likewise. * trans-stmt.c (gfc_trans_integer_select, gfc_trans_character_select): Likewise. go/ * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR with NULL_TREE type instead of void_type_node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186579 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-12 Tobias Burnus <burnus@net-b.de>burnus2012-04-162-4/+16
| | | | | | | | | | | | | | | PR fortran/52864 * expr.c (gfc_check_vardef_context): Fix assignment check for pointer components. 2012-04-16 Tobias Burnus <burnus@net-b.de> PR fortran/52864 * gfortran.dg/pointer_intent_6.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186507 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-16 Janus Weil <janus@gcc.gnu.org>janus2012-04-162-4/+7
| | | | | | | | | | | | | | | PR fortran/52968 * class.c (gfc_build_class_symbol): Make sure the 'f2k_derived' namespace is present. 2012-04-16 Janus Weil <janus@gcc.gnu.org> PR fortran/52968 * gfortran.dg/typebound_call_23.f03: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186486 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-15 Janus Weil <janus@gcc.gnu.org>janus2012-04-152-1/+7
| | | | | | | | | | | | | | | PR fortran/51082 * trans-expr.c (gfc_conv_expr_reference): Check if the expression is a simple function call (or a more involved PPC reference). 2012-04-15 Janus Weil <janus@gcc.gnu.org> PR fortran/51082 * gfortran.dg/proc_ptr_comp_34.f90: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186465 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-14 Tobias Burnus <burnus@net-b.de>burnus2012-04-155-1/+30
| | | | | | | | | | | | | | | | | | | | | PR fortran/52916 PR fortran/40973 * gfortran.h (symbol_attribute): Add public_used. * interface.c (check_sym_interfaces, check_uop_interfaces, gfc_check_interfaces): Set it. * resolve.c (resolve_typebound_procedure): Ditto. * trans-decl.c (build_function_decl): Use it. 2012-04-14 Tobias Burnus <burnus@net-b.de> PR fortran/52916 PR fortran/40973 * gfortran.dg/public_private_module_3.f90: New. * gfortran.dg/public_private_module_4.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186464 138bc75d-0d04-0410-961f-82ee72b054a4