]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
re PR c++/39608 ('expr' cannot appear in a constant-expression.)
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
47580d22
JM
12009-03-31 Joseph Myers <joseph@codesourcery.com>
2
3 PR preprocessor/15638
4 * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
5
3759634f
SK
62009-03-30 Steven G. Kargl <kargls@comcast.net>
7
8 PR fortran/38389
9 * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
10 (gfc_trans_deallocate): Add translation of ERRMSG. Remove stale
11 comments. Minor whitespace cleanup.
12 * resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
13 (resolve_deallocate_expr (gfc_expr *e): Update error message.
14 (resolve_allocate_expr): Remove dead code. Update error message.
15 Move error checking to ...
16 (resolve_allocate_deallocate): ... here. Add additional error
17 checking for STAT, ERRMSG, and allocate-objects.
18 * match.c(gfc_match_allocate,gfc_match_deallocate): Parse ERRMSG.
19 Check for redundant uses of STAT and ERRMSG. Reword error message
20 and add checking for pointer, allocatable, and proc_pointer attributes.
21
71a7778c
PT
222009-03-30 Paul Thomas <pault@gcc.gnu.org>
23
24 PR fortran/22571
25 PR fortran/26227
26 PR fortran/24886
27 * symbol.c : Add gfc_global_ns_list.
28 * decl.c (add_global_entry): Set the namespace ('ns') field.
29 * gfortran.h : Add the resolved field to gfc_namespace. Add the
30 namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to
31 gfc_option_t. Add the prototype for gfc_free_dt_list.
32 * lang.opt : Add the whole-file option.
33 * invoke.texi : Document the whole-file option.
34 * resolve.c (resolve_global_procedure): If the fwhole-file
35 option is set, reorder gsymbols to ensure that translation is
36 in the right order. Resolve the gsymbol's namespace if that
37 has not occurred and then check interfaces.
38 (resolve_function): Move call to resolve_global_procedure.
39 (resolve_call): The same.
40 (resolve_codes): Store the current labels_obstack.
41 (gfc_resolve) : Return if the namespace is already resolved.
42 trans-decl.c (gfc_get_extern_function_decl): If the whole_file
43 option is selected, use the backend_decl of a gsymbol, if it is
44 available.
45 parse.c (add_global_procedure, add_global_program): If the flag
46 whole-file is set, add the namespace to the gsymbol.
47 (gfc_parse_file): On -fwhole-file, put procedure namespaces on
48 the global namespace list. Rearrange to do resolution of all
49 the procedures in a file, followed by their translation.
50 * options.c (gfc_init_options): Add -fwhole-file.
51 (gfc_handle_option): The same.
52
f6d53468
UW
532009-03-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
54
55 * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
56 family of intrinsics instead of BUILT_IN_INF family.
57 * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
58 BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
59
665733c1
JJ
602009-03-30 Jakub Jelinek <jakub@redhat.com>
61
62 * trans-types.c (gfc_sym_type, gfc_return_by_reference): For
63 sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
64
8ce94e44
JM
652009-03-30 Joseph Myers <joseph@codesourcery.com>
66
67 PR rtl-optimization/323
68 * options.c (gfc_post_options): Set
69 flag_excess_precision_cmdline. Give an error for
70 -fexcess-precision=standard for processors where the option is
71 significant.
72
148e4216
JM
732009-03-29 Joseph Myers <joseph@codesourcery.com>
74
75 PR preprocessor/34695
76 * cpp.c (cb_cpp_error): New.
77 (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
78 Don't check cpp_errors (cpp_in).
79 (gfc_cpp_init_0): Set cb->error.
80
6bb62671
SK
812009-03-29 Steven G. Kargl <kargl@gcc.gnu.org>
82
83 PR fortran/38823
84 * gfortran.h: Add ARITH_PROHIBIT to arith enum.
85 expr.c (gfc_match_init_expr): Add global variable init_flag to
86 flag matching an initialization expression.
87 (check_intrinsic_op): Move no longer reachable error message to ...
88 * arith.c (arith_power): ... here. Remove gfc_ prefix in
89 gfc_arith_power. Use init_flag. Allow constant folding of x**y
90 when y is REAL or COMPLEX.
91 (eval_intrinsic): Remove restriction that y in x**y must be INTEGER
92 for constant folding.
93 * gfc_power: Update gfc_arith_power to arith_power
94
b0e5fa94
DK
952009-03-29 Daniel Kraft <d@domob.eu>
96
97 PR fortran/37423
98 * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and
99 added a comment explaining DEFERRED binding handling.
100 * decl.c (match_binding_attributes): Really match DEFERRED attribute.
101 (match_procedure_in_type): Really match PROCEDURE(interface) syntax
102 and do some validity checks for DEFERRED and this construct.
103 * module.c (binding_overriding): New string constant for DEFERRED.
104 (mio_typebound_proc): Module-IO DEFERRED flag.
105 * resolve.c (check_typebound_override): Ensure that a non-DEFERRED
106 binding is not overridden by a DEFERRED one.
107 (resolve_typebound_procedure): Allow abstract interfaces as targets
108 for DEFERRED bindings.
109 (ensure_not_abstract_walker), (ensure_not_abstract): New methods.
110 (resolve_fl_derived): Use new `ensure_not_abstract' method for
111 non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED
112 binding is overridden.
113 (check_typebound_baseobject): New method.
114 (resolve_compcall), (resolve_typebound_call): Check base-object of
115 the type-bound procedure call.
116 * gfc-internals.texi (Type-bound procedures): Document a little bit
117 about internal handling of DEFERRED bindings.
118
d80c695f
TS
119