]>
Commit | Line | Data |
---|---|---|
a850edcd | 1 | 2019-06-29 Eric Botcazou <ebotcazou@adacore.com> |
2 | ||
3 | * gcc-interface/decl.c (gnat_to_gnu_entity): Beep up comment on SAVED, | |
4 | and tweak comment on the assertion about the scopes of Itypes. Do not | |
5 | skip the regular processing for Itypes that are E_Record_Subtype with | |
6 | a Cloned_Subtype. Get the Cloned_Subtype for every E_Record_Subtype | |
7 | if the type is dummy and hasn't got its own freeze node. | |
8 | <E_Record_Subtype>: Save again the DECL of the Cloned_Subtype, if any. | |
9 | <E_Access_Subtype>: Save again the DECL of the equivalent type. | |
10 | (Gigi_Equivalent_Type) <E_Access_Subtype>: New case. | |
11 | ||
b1e46fb1 | 12 | 2019-06-29 Eric Botcazou <ebotcazou@adacore.com> |
13 | ||
14 | * gcc-interface/utils.c (unchecked_convert): Tweak comment. Only skip | |
15 | dereferences when padding to have the same size on both sides. Do it | |
16 | for destination types with self-referential size too. | |
17 | ||
07e38949 | 18 | 2019-06-29 Eric Botcazou <ebotcazou@adacore.com> |
19 | ||
20 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the | |
21 | type requires strict alignment, then set the RM size to the type size. | |
22 | Rework handling of alignment and sizes of tagged types in ASIS mode. | |
23 | (validate_size): Rename local variable and remove special handling for | |
24 | strict-alignment types. | |
25 | * gcc-interface/utils.c (finish_record_type): Constify local variables | |
26 | and use properly typed constants. | |
27 | ||
f4409741 | 28 | 2019-06-29 Eric Botcazou <ebotcazou@adacore.com> |
29 | ||
30 | * gcc-interface/decl.c (gnat_to_gnu_field): Rework error messages for | |
31 | fields requiring strict alignment, add explicit test on Storage_Unit | |
32 | for position and size, and mention type alignment for position. | |
33 | ||
5882c515 | 34 | 2019-06-29 Eric Botcazou <ebotcazou@adacore.com> |
35 | ||
36 | * gcc-interface/trans.c (mark_visited_r): Set TYPE_SIZES_GIMPLIFIED on | |
37 | the main variant of a type, if any. | |
38 | ||
d0de0a27 | 39 | 2019-06-29 Eric Botcazou <ebotcazou@adacore.com> |
40 | ||
41 | * gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add | |
42 | missing guard for the presence of TYPE_CANONICAL. | |
43 | (set_reverse_storage_order_on_array_type): Likewise. | |
44 | ||
2074c859 | 45 | 2019-06-29 Eric Botcazou <ebotcazou@adacore.com> |
46 | ||
47 | * gcc-interface/gigi.h (make_packable_type): Remove default value. | |
48 | (value_factor_p): Tweak prototype. | |
49 | * gcc-interface/decl.c (gnat_to_gnu_entity): Add comment. | |
50 | (gnat_to_gnu_component_type): Likewise. | |
51 | (gnat_to_gnu_field): Likewise. Fetch the position of the field earlier | |
52 | and simplify the condition under which the type is packed. Declare | |
53 | local variable is_bitfield. Pass 1 as max_align to make_packable_type | |
54 | if it is set to true. | |
55 | (copy_and_substitute_in_layout): Pass 0 to make_packable_type. | |
56 | * gcc-interface/utils.c (make_packable_array_type): New function. | |
57 | (make_packable_type): Use it to rewrite the type of array field. | |
58 | (maybe_pad_type): Pass align parameter to make_packable_type. | |
59 | (create_field_decl): Minor tweaks. | |
60 | (value_factor_p): Assert that FACTOR is a power of 2 and replace the | |
61 | modulo computation by a masking operation. | |
62 | ||
83c6da22 | 63 | 2019-06-25 Eric Botcazou <ebotcazou@adacore.com> |
64 | ||
65 | * gcc-interface/decl.c (gnat_to_gnu_entity): Remove superfluous test | |
66 | in previous change. | |
67 | * gcc-interface/gigi.h (maybe_character_type): Fix formatting. | |
68 | (maybe_character_value): Likewise. | |
69 | ||
aaabc7bc | 70 | 2019-06-24 Jan Hubicka <jh@suse.cz> |
71 | ||
72 | * gcc-interface/decl.c (gnat_to_gnu_entity): Check that | |
73 | type is array or integer prior checking string flag. | |
83c6da22 | 74 | * gcc-interface/gigi.h (maybe_character_type): Likewise. |
75 | (maybe_character_value): Likewise. | |
aaabc7bc | 76 | |
5fe09a56 | 77 | 2019-06-24 Martin Sebor <msebor@redhat.com> |
78 | ||
79 | * gcc-interface/utils.c (handle_nonnull_attribute): Quote attribute | |
80 | name. | |
81 | ||
bd9331d6 | 82 | 2019-06-18 Arnaud Charlet <charlet@adacore.com> |
83 | ||
83c6da22 | 84 | PR ada/80590 |
bd9331d6 | 85 | * sem_ch5.adb (Analyze_Loop_Statement): Avoid exception propagation |
86 | during normal processing. | |
87 | ||
8a5a7d1c | 88 | 2019-06-17 Arnaud Charlet <charlet@adacore.com> |
89 | ||
83c6da22 | 90 | PR ada/80590 |
8a5a7d1c | 91 | * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two |
92 | conditions to avoid a unnecessary exception propagation in the default | |
93 | case. | |
94 | ||
580934f6 | 95 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
96 | ||
97 | * gcc-interface/utils.c (handle_stack_protect_attribute): Move around. | |
98 | ||
c8956236 | 99 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
100 | ||
101 | * doc/gnat_rm/implementation_defined_pragmas.rst (Machine_Attribute): | |
102 | Document additional optional parameters. | |
103 | * sem_prag.adb (Analyze_Pragma) <Pragma_Machine_Attribute>: Accept | |
104 | more than one optional parameter. | |
105 | * gcc-interface/decl.c (prepend_one_attribute_pragma): Alphabetize | |
106 | the list of supported pragmas. Simplify the handling of parameters | |
107 | and add support for more than one optional parameter. | |
108 | * gcc-interface/utils.c (attr_cold_hot_exclusions): New constant. | |
109 | (gnat_internal_attribute_table): Add entry for no_icf, noipa, flatten, | |
110 | used, cold, hot, target and target_clones. | |
111 | (begin_subprog_body): Do not create the RTL for the subprogram here. | |
112 | (handle_noicf_attribute): New static function. | |
113 | (handle_noipa_attribute): Likewise. | |
114 | (handle_flatten_attribute): Likewise. | |
115 | (handle_used_attribute): Likewise. | |
116 | (handle_cold_attribute): Likewise. | |
117 | (handle_hot_attribute): Likewise. | |
118 | (handle_target_attribute): Likewise. | |
119 | (handle_target_clones_attribute): Likewise. | |
120 | ||
62b762c2 | 121 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
122 | ||
123 | * gcc-interface/trans.c (lvalue_required_for_attribute_p): Return 0 | |
124 | for 'Size too. | |
125 | (Identifier_to_gnu): Use the actual subtype for a reference to a | |
126 | packed array in a return statement. | |
127 | (Attribute_to_gnu) <Attr_Size>: Do not strip VIEW_CONVERT_EXPRs from | |
128 | the prefix in every case. | |
129 | ||
336a61a3 | 130 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
131 | ||
132 | * gcc-interface/trans.c (gnat_to_gnu): Remove superfluous tests on | |
133 | Backend_Overflow_Checks_On_Target and rework comments. | |
134 | ||
983c5b5e | 135 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
136 | ||
137 | * gcc-interface/trans.c (walk_nesting_tree): New static function. | |
138 | (finalize_nrv): Use it to walk the entire nesting tree. | |
139 | ||
96b4b84e | 140 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
141 | ||
142 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Remove | |
143 | obsolete test on Is_For_Access_Subtype. | |
144 | ||
0b74284e | 145 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
146 | ||
147 | * gcc-interface/decl.c (components_to_record): Set a name on the type | |
148 | created for the REP part, if any. | |
149 | * gcc-interface/utils.c (finish_record_type): Only take the maximum | |
150 | when merging sizes for a variant part at offset 0. | |
151 | (merge_sizes): Rename has_rep parameter into max. | |
152 | ||
689dab9d | 153 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
154 | ||
155 | * gcc-interface/utils.c (gnat_internal_attribute_table): Add support | |
156 | for stack_protect attribute. | |
157 | (handle_stack_protect_attribute): New static function. | |
158 | ||
804f7d39 | 159 | 2019-05-28 Eric Botcazou <ebotcazou@adacore.com> |
160 | ||
161 | * gcc-interface/decl.c (intrin_arglists_compatible_p): Do not return | |
162 | false if the internal builtin uses a variable list. | |
163 | ||
f07f94cc | 164 | 2019-05-27 Eric Botcazou <ebotcazou@adacore.com> |
165 | ||
166 | * gcc-interface/trans.c (Call_to_gnu): Do not initialize the temporary | |
167 | created out of addressability concerns if it's for the _Init parameter | |
168 | of an initialization procedure. | |
169 | ||
abfd658b | 170 | 2019-05-27 Eric Botcazou <ebotcazou@adacore.com> |
171 | ||
172 | * gcc-interface/ada-builtin-types.def: New file. | |
173 | * gcc-interface/ada-builtins.def: Likewise. | |
174 | * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): New macro. | |
175 | (BUILT_IN_UNLIKELY): Likewise. | |
176 | * gcc-interface/trans.c (independent_iterations_p): Initialize the | |
177 | auto-vector to 16 elements. | |
178 | (Call_to_gnu): Remove local variable and change the vector of actual | |
179 | parameters to an auto-vector. Do not convert actual parameters to | |
180 | the argument type for front-end built-in functions. Add support for | |
181 | front-end built-in functions. | |
182 | (build_noreturn_cond): Use internal instead of built-in function. | |
183 | * gcc-interface/utils.c (c_builtin_type): Include ada-builtin-types.def | |
184 | (install_builtin_function_types): Likewise. | |
185 | (install_builtin_functions): Include ada-builtins.def first. | |
186 | ||
caab73a2 | 187 | 2019-05-27 Eric Botcazou <ebotcazou@adacore.com> |
188 | ||
189 | * gcc-interface/utils.c (maybe_pad_type): Issue the warning for the | |
190 | specific case of component types preferably. | |
191 | ||
f1ca2388 | 192 | 2019-05-27 Eric Botcazou <ebotcazou@adacore.com> |
193 | ||
194 | * gcc-interface/trans.c (Identifier_to_gnu): Minor tweaks. | |
195 | (gnat_to_gnu): Do not convert the result if it is a reference to an | |
196 | unconstrained array used as the prefix of an attribute reference that | |
197 | requires an lvalue. | |
198 | ||
e3f3573c | 199 | 2019-05-27 Eric Botcazou <ebotcazou@adacore.com> |
200 | ||
201 | * gcc-interface/trans.c (Gigi_Types_Compatible): New predicate. | |
202 | (Identifier_to_gnu): Use it to assert that the type of the identifier | |
203 | and that of its entity are compatible for gigi. Rename a couple of | |
204 | local variables and separate the processing of the result type. | |
205 | ||
2306cd17 | 206 | 2019-05-27 Eric Botcazou <ebotcazou@adacore.com> |
207 | ||
208 | * gcc-interface/trans.c (Call_to_gnu): Use the unpadded type when | |
209 | putting back an intermediate conversion the type of the actuals. | |
210 | ||
6e4e9378 | 211 | 2019-05-27 Eric Botcazou <ebotcazou@adacore.com> |
212 | ||
213 | * gcc-interface/trans.c (gnat_to_gnu) <Shift operations>: Convert the | |
214 | count to the unsigned version of its base type before proceeding. | |
215 | ||
85b9be9b | 216 | 2019-05-16 Martin Sebor <msebor@redhat.com> |
217 | ||
3d6be0d5 | 218 | * gcc-interface/trans.c (check_inlining_for_nested_subprog): Quote |
219 | reserved names. | |
85b9be9b | 220 | |
65d973ca | 221 | 2019-05-08 Arnaud Charlet <charlet@adacore.com> |
222 | ||
223 | * standard.ads.h: New file. | |
224 | ||
ff628b99 | 225 | 2019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
226 | ||
227 | * gcc-interface/Makefile.in (install-gcc-specs): Use foreach. | |
228 | Honor DESTDIR. | |
229 | ||
ebd761d4 | 230 | 2019-04-29 Michael K. Darling <darlingm@gmail.com> |
231 | ||
232 | * gnatvsn.ads: Bump Library_Version to 10. | |
233 | ||
5f260823 | 234 | 2019-04-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
235 | Bernd Edlinger <bernd.edlinger@hotmail.de> | |
236 | Jakub Jelinek <jakub@redhat.com> | |
237 | ||
238 | PR target/89093 | |
239 | * raise-gcc.c (TARGET_ATTRIBUTE): Define. | |
240 | (continue_unwind, personality_body, PERSONALITY_FUNCTION): Add | |
241 | TARGET_ATTRIBUTE. | |
242 | ||
d7ca95c0 | 243 | 2019-04-07 Eric Botcazou <ebotcazou@adacore.com> |
244 | ||
245 | * libgnat/i-cexten.ads (CFloat_128): New type. | |
246 | ||
26b21081 | 247 | 2019-03-22 Dmitriy Anisimkov <anisimko@adacore.com> |
248 | ||
249 | PR ada/89583 | |
250 | * libgnat/g-socket.adb (Bind_Socket, Connect_Socket, | |
251 | Send_Socket): Fix the computation of structure lengths passed to | |
252 | low level routines. | |
253 | (Is_IPv6_Address): Fix the number of expected colons. | |
254 | ||
2f6d557f | 255 | 2019-03-11 Martin Liska <mliska@suse.cz> |
256 | ||
d325ee67 | 257 | * gcc-interface/misc.c (gnat_post_options): Wrap option name in string |
258 | format message and fix GNU coding style. | |
2f6d557f | 259 | |
c1ad6672 | 260 | 2019-02-08 Eric Botcazou <ebotcazou@adacore.com> |
261 | ||
262 | * gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Minor tweak. | |
263 | * gcc-interface/utils.c (convert): Do not pad when doing an unchecked | |
264 | conversion here. Use TREE_CONSTANT throughout the function. | |
265 | (unchecked_convert): Also pad if the source is a CONSTRUCTOR and the | |
266 | destination is a more aligned array type or a larger aggregate type, | |
267 | but not between original and packable versions of a type. | |
268 | ||
62a6ebbd | 269 | 2019-02-08 Eric Botcazou <ebotcazou@adacore.com> |
270 | ||
271 | * gcc-interface/utils.c (max_size) <tcc_unary>: Be prepared for an | |
272 | operand with VOID_TYPE. | |
273 | ||
da383d19 | 274 | 2019-02-08 Eric Botcazou <ebotcazou@adacore.com> |
275 | ||
276 | * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate the | |
277 | entities of a package renaming another one. | |
278 | ||
09c123a0 | 279 | 2019-02-08 Eric Botcazou <ebotcazou@adacore.com> |
280 | ||
281 | * gcc-interface/trans.c (Regular_Loop_to_gnu): Replace tests on | |
282 | individual flag_unswitch_loops and flag_tree_loop_vectorize switches | |
283 | with test on global optimize switch. | |
284 | (Raise_Error_to_gnu): Likewise. | |
285 | ||
a9dd7273 | 286 | 2019-02-07 Eric Botcazou <ebotcazou@adacore.com> |
287 | ||
288 | * libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value. | |
289 | ||
4836c4f1 | 290 | 2019-02-06 Arnaud Charlet <charlet@adacore.com> |
291 | ||
292 | * libgnarl/s-linux__x32.ads: Resync list of signals with s-linux.ads | |
293 | ||
6b56937c | 294 | 2019-01-27 Eric Botcazou <ebotcazou@adacore.com> |
295 | ||
296 | * repinfo.adb (List_Component_Layout): Remove superfluous space for | |
297 | zero-sized field. | |
298 | * gcc-interface/ada-tree.h (TYPE_IS_EXTRA_SUBTYPE_P): New macro. | |
299 | * gcc-interface/gigi.h (create_extra_subtype): Declare. | |
300 | * gcc-interface/decl.c (TYPE_ARRAY_SIZE_LIMIT): Likewise. | |
301 | (update_n_elem): New function. | |
302 | (gnat_to_gnu_entity): Use create_extra_subtype to create extra subtypes | |
303 | instead of doing it manually. | |
304 | <E_Array_Type>: Use update_n_elem to compute the maximum size. Use the | |
305 | index type instead of base type for the bounds. Set TYPE_ARRAY_MAX_SIZE | |
306 | of the array to the maximum size. | |
307 | <E_Array_Subtype>: Create an extra subtype using the index type of the | |
308 | base array type for self-referential bounds. Use update_n_elem to | |
309 | compute the maximum size. Set TYPE_ARRAY_MAX_SIZE of the array to the | |
310 | maximum size. | |
311 | (gnat_to_gnu_field): Clear DECL_NONADDRESSABLE_P on discriminants. | |
312 | * gcc-interface/misc.c (gnat_get_alias_set): Return the alias set of | |
313 | the base type for an extra subtype. | |
314 | (gnat_type_max_size): Remove obsolete code. | |
315 | * gcc-interface/trans.c (Attribute_to_gnu): Minor tweak. | |
316 | (can_be_lower_p): Deal with pathological types. | |
317 | * gcc-interface/utils.c (create_extra_subtype): New function. | |
318 | (create_field_decl): Minor tweak. | |
319 | (max_size) <tcc_reference>: Compute a better value by using the extra | |
320 | subtypes on the self-referential bounds. | |
321 | <tcc_binary>: Rewrite. Deal with "negative value" in unsigned types. | |
322 | <tcc_expression>: Likewise. | |
323 | * gcc-interface/utils2.c (compare_arrays): Retrieve the original bounds | |
324 | of the arrays upfront. Swap only if the second length is not constant. | |
325 | Use comparisons on the original bounds consistently for the null tests. | |
326 | (build_binary_op): Use TYPE_IS_EXTRA_SUBTYPE_P macro. | |
327 | (build_allocator): Minor tweak. | |
328 | ||
ecb2c722 | 329 | 2019-01-27 Eric Botcazou <ebotcazou@adacore.com> |
330 | ||
331 | * gcc-interface/decl.c (array_type_has_nonaliased_component): Return | |
332 | the same value for every dimension of a multidimensional array type. | |
333 | ||
10f25579 | 334 | 2019-01-26 Eric Botcazou <ebotcazou@adacore.com> |
335 | ||
336 | * gcc-interface/trans.c (Regular_Loop_to_gnu): Use the SLOC of the | |
337 | iteration scheme, if present, throughout the translation. | |
338 | ||
aced6683 | 339 | 2019-01-26 Eric Botcazou <ebotcazou@adacore.com> |
340 | ||
341 | * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use | |
342 | DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned | |
343 | by a call to memset if the LHS is a DECL. | |
344 | ||
18b4b30e | 345 | 2019-01-26 Eric Botcazou <ebotcazou@adacore.com> |
346 | ||
347 | * gcc-interface/trans.c (struct loop_info_d): Remove artificial field. | |
348 | (Loop_Statement_to_gnu): Do not set it. | |
349 | ||
6dce35b7 | 350 | 2019-01-26 Eric Botcazou <ebotcazou@adacore.com> |
351 | ||
352 | * gcc-interface/trans.c (Iterate_Acc_Clause_Arg): Fix formatting. | |
353 | (Acc_gnat_to_gnu): Likewise. | |
354 | (Acc_Data_to_gnu): Likewise. | |
355 | (Acc_Var_to_gnu): Likewise. | |
356 | (Acc_Reduc_to_gnu): Likewise. | |
357 | (Acc_Size_List_to_gnu): Likewise. | |
358 | (Pragma_to_gnu) <Pragma_Acc_Loop>: Likewise. | |
359 | <Pragma_Acc_Data>): Likewise. | |
360 | (find_loop_for): Remove default value for parameters. | |
361 | * gcc-interface/trans.c (gnat_to_gnu) <N_Op_And>: Merge into... | |
362 | <N_Op_Eq>): ...this. | |
363 | ||
f8cd11ee | 364 | 2019-01-26 Eric Botcazou <ebotcazou@adacore.com> |
365 | ||
366 | * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Use test on | |
367 | the sign bit instead of on the sign of the value. | |
368 | <PLUS_EXPR>: Turn addition of negative constant into subtraction. | |
369 | <MULT_EXPR>: Add test for degenerate case. | |
370 | <BIT_AND_EXPR>: Simplify. | |
371 | ||
9a3c51d9 | 372 | 2019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de> |
373 | ||
374 | * s-oscons-tmplt.c (AF_INET6): Do not undefine for RTEMS. | |
375 | ||
07c11f2b | 376 | 2019-01-09 Sandra Loosemore <sandra@codesourcery.com> |
377 | ||
378 | PR other/16615 | |
07c11f2b | 379 | * exp_ch11.adb: Change "can not" to "cannot". |
380 | * sem_ch4.adb: Likewise. | |
381 | ||
f4d3c071 | 382 | 2019-01-09 Sandra Loosemore <sandra@codesourcery.com> |
383 | ||
384 | PR other/16615 | |
f4d3c071 | 385 | * exp_ch9.adb: Mechanically replace "can not" with "cannot". |
386 | * libgnat/s-regpat.ads: Likewise. | |
387 | * par-ch4.adb: Likewise. | |
388 | * set_targ.adb: Likewise. | |
389 | * types.ads: Likewise. | |
390 | ||
902071d1 | 391 | 2019-01-08 Justin Squirek <squirek@adacore.com> |
392 | ||
393 | Revert: | |
902071d1 | 394 | 2018-07-31 Justin Squirek <squirek@adacore.com> |
395 | ||
76fb0465 | 396 | * lib-writ.adb (Write_With_Lines): Modfiy the generation |
397 | of dependencies within ali files so that source unit | |
398 | bodies are properly listed even if said bodies are | |
399 | missing. Perform legacy behavior in GNATprove mode. | |
400 | * lib-writ.ads: Modify documentation to reflect current | |
401 | behavior. | |
902071d1 | 402 | |
403 | and: | |
902071d1 | 404 | 2018-09-26 Justin Squirek <squirek@adacore.com> |
405 | ||
76fb0465 | 406 | * lib-writ.adb, lib-writ.ads (Write_With_Lines): Add |
407 | documentation and an extra conditional check for RCI | |
408 | units so that generated ali files will list the spec | |
409 | only instead of a body when a body is not found. | |
902071d1 | 410 | |
65a33d4a | 411 | 2019-01-04 Eric Botcazou <ebotcazou@adacore.com> |
412 | ||
413 | * gnatvsn.ads: Bump copyright year. | |
414 | ||
3d8932fd | 415 | 2019-01-01 Jakub Jelinek <jakub@redhat.com> |
8e8f6434 | 416 | |
fbd26352 | 417 | Update copyright years. |
418 | ||
277184bc | 419 | * gnat_ugn.texi: Bump @copying's copyright year. |
420 | * gnat_rm.texi: Likewise. | |
7dfbd804 | 421 | \f |
3d8932fd | 422 | Copyright (C) 2019 Free Software Foundation, Inc. |
7dfbd804 | 423 | |
424 | Copying and distribution of this file, with or without modification, | |
425 | are permitted in any medium without royalty provided the copyright | |
426 | notice and this notice are preserved. |