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