OSDN Git Service

* trans-array.c (constant_array_constructor_p): New function to
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2007-01-08  Roger Sayle  <roger@eyesopen.com>
2
3         * trans-array.c (constant_array_constructor_p): New function to
4         determine whether an array constructor consists only of constant
5         elements, and if so return it's size.
6         (gfc_build_constant_array_constructor): Construct a statically
7         initialized gfortran array for a given EXPR_ARRAY.
8         (gfc_trans_constant_array_constructor): Efficiently scalarize
9         a constant array constructor.
10         (gfc_trans_array_constructor):  Tidy up use of CONST_STRING.
11         Special case scalarization of constant array constructors, all of
12         whose elements are specified, using constant_array_constructor_p 
13         and gfc_trans_constant_array_constructor.
14         (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
15         before adding it to index, to avoid creating a NON_LVALUE_EXPR.
16
17 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
18
19         gfortran.texi: Fix typos.
20
21 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
22
23         * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
24         convert.c:  Update Copyright dates.  Fix whitespace.
25
26 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
27
28         * data.c (gfc_assign_data_value): Fix whitespace.
29
30 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
31
32         * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
33         Commentary typo fix.
34
35 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
36
37         PR fortran/27698
38         * match.c (gfc_match_name): Print diagnostics for invalid
39         character in names.
40
41 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
42
43         * array.c: Fix whitespace in comment table.
44
45 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
46
47         * array.c, bbt.c, check.c:  Update copyright years.  Whitespace.
48
49 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
50
51         * arith.c: Update copyright years.  Whitespace.
52
53 2007-01-05  Roger Sayle  <roger@eyesopen.com>
54
55         * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
56         array assignments split out from gfc_trans_assignment.
57         (gfc_trans_array_copy): New function to implement array to array
58         copies via calls to __builtin_memcpy.
59         (copyable_array_p): New helper function to identify an array of
60         simple/POD types, that may be copied/assigned using memcpy.
61         (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
62         whole array assignments considered suitable by copyable_array_p.
63         Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
64
65 2007-01-05  Roger Sayle  <roger@eyesopen.com>
66
67         * trans-array.c (gfc_trans_array_constructor_value): Make the
68         static const "data" array as TREE_READONLY.
69         * trans-stmt.c (gfc_trans_character_select): Likewise.
70
71 2007-01-05  Roger Sayle  <roger@eyesopen.com>
72
73         * trans-array.c (gfc_conv_loop_setup):  Test whether the loop
74         stride is one, to avoid fold_build2 introducing a useless
75         NON_LVALUE_EXPR node.
76
77 2007-01-05  Tobias Burnus  <burnus@net-b.de>
78
79         * symbol.c (check_conflict): Fix error message.
80
81 2007-01-05  Paul Thomas  <pault@gcc.gnu.org>
82
83         PR fortran/23232
84         * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
85         functions to signal that a DATA statement is being matched.
86         (gfc_match_data): Call gfc_set_in_match_data on entry and on
87         exit.
88         * gfortran.h : Add prototypes for above.
89         * expr.c (check_init_expr): Avoid check on parameter or
90         variable if gfc_in_match_data is true.
91         (gfc_match_init_expr): Do not call error on non-reduction of
92         expression if gfc_in_match_data is true.
93
94         PR fortran/27996
95         PR fortran/27998
96         * decl.c (gfc_set_constant_character_len): Add boolean arg to
97         flag array constructor resolution.  Warn if string is being
98         truncated.  Standard dependent error if string is padded. Set
99         new arg to false for all three calls to
100         gfc_set_constant_character_len.
101         * match.h : Add boolean arg to prototype for
102         gfc_set_constant_character_len.
103         * gfortran.h : Add warn_character_truncation to gfc_options.
104         * options.c (set_Wall): Set warn_character_truncation if -Wall
105         is set.
106         * resolve.c (resolve_code): Warn if rhs string in character
107         assignment has to be truncated.
108         * array.c (gfc_resolve_character_array_constructor): Set new
109         argument to true for call to gfc_set_constant_character_len.
110
111 2007-01-05  Tobias Burnus  <burnus@net-b.de>
112
113         PR fortran/29624
114         * interface.c (compare_parameter_intent): New function.
115           (check_intents): Support pointer intents.
116         * symbol.c (check_conflict): Support pointer intents,
117           better conflict_std message.
118         * expr.c (gfc_check_assign,gfc_check_pointer_assign):
119           Support pointer intents.
120         * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
121           Support pointer intents.
122
123 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
124
125         PR 30371
126         * check.c (gfc_check_kill_sub): Add checks for non-scalar
127         arguments.
128
129 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
130
131         * intrinsic.texi: Minor cleanup, reflowing overlong
132         paragraphs, and correcting whitespace.
133
134 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
135
136         * intrinsic.texi (LBOUND): Add documentation.
137         (LGE): Add documentation.
138         (LGT): Add documentation.
139         (LINK): Add documentation.
140         (LLE): Add documentation.
141         (LLT): Add documentation.
142         (LNBLNK): Add documentation.
143         (UBOUND): Add documentation.
144         (UNLINK): Add documentation.
145
146 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
147
148         * intrinsic.texi (IAND): Clarify argument specifications.
149         (IBCLR): Add documentation.
150         (IBITS): Add documentation.
151         (IBSET): Add documentation.
152         (IEOR): Add documentation.
153         (IERRNO): Add documentation.
154         (INDEX): Add documentation.
155         (IOR): Add documentation.
156         (ISHFT): Add documentation.
157         (ISHFTC): Add documentation.
158         (KILL): Add documentation.
159         (LEN_TRIM): Add documentation.
160
161 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
162
163         PR 30235
164         * interface.c (compare_actual_formal): check for
165         alternate returns when iterating over non-present
166         arguments.
167
168 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
169
170         * invoke.texi: Update manpage copyright to include 2007.
171
172 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
173
174         * gfortran.texi: Update copyright to include 2007.
175         * intrinsic.texi: Update copyright to include 2007.
176         * invoke.texi: Update copyright to include 2007.
177
178 2007-01-02  Tobias Burnus  <burnus@net-b.de>
179             Jakub Jelinek  <jakub@redhat.com>
180
181         PR fortran/30276
182         * scanner.c (open_included_file): Revert patch.
183           (gfc_open_included_file): Support absolute pathnames.
184           (gfc_open_intrinsic_module): Support absolute pathnames.
185
186 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
187
188         * gfortran.texi (GNU Fortran and GCC): Rewrite
189
190 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
191
192         * gfortran.texi (Introduction): Lower "Part I:
193         Introduction" to a chapter, renumber Parts II and III to
194         Parts I and II.
195         * intrinsic.texi (Introduction): Rename to "Introduction
196         to Intrinsics" to avoid conflict with the new chapter.
197
198 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
199
200         * intrinsic.texi (Introduction): Rewrite first paragraph.
201
202 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
203
204         * invoke.texi (OpenMP): Added index entry.
205         * gfortran.texi (title page): Removed erroneous '*'.
206
207 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
208
209         * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
210         to description.
211         (Extensions): Miscellaneous minor rewriting and copyediting.
212         (BOZ-literal constants): Renamed from Hexadecimal constants.
213         (Hollerith constants support): Added explanation and 
214         suggestions for standard-conforming modern equivalents.
215
216 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
217
218         * intrinsic.texi: Improvements to index entries; change
219         @findex entries to @cindex entries.
220         * invoke.texi: Standardize and improve index entries.
221         * gfortran.texi: Fix @code in one index entry.
222
223 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
224
225         * invoke.texi: Change @code-type macros to appropriate
226         variants (@command, @option, etc.)
227         * gfortran.texi: Same.
228
229 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
230
231         * intrinsic.texi: Various minor cleanups.
232
233 2007-01-02  Steven G. Kargl  <kargls@comcast.net>
234
235         * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
236         build_int_cst.
237
238 2007-01-02  Tobias Burnus  <burnus@net-b.de>
239
240         PR fortran/30276
241         * scanner.c (open_included_file): Support full-path filenames.
242
243 2007-01-02  Paul Thomas  <pault@gcc.gnu.org>
244
245         PR fortran/20896
246         * interface.c (check_sym_interfaces): Remove call to
247         resolve_global_procedure.
248         gfortran.h : Remove prototype for resolve_global_procedure.
249         resolve.c (resolve_global_procedure): Add static attribute
250         to function declaration.
251
252 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
253
254         * ChangeLog: Copy to ...
255         * ChangeLog-2006: here.