1 2013-02-21 Jakub Jelinek <jakub@redhat.com>
4 * gnat-style.texi (@title): Remove @hfill.
5 * projects.texi: Avoid line wrapping inside of @pxref or
8 2013-02-20 Eric Botcazou <ebotcazou@adacore.com>
11 Backport from mainline
12 2012-05-15 Olivier Hainque <hainque@adacore.com>
14 * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
15 instead of trying to mimic it.
17 2013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de>
19 Back-port from mainline.
21 * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
22 SECURITY_DESCRIPTOR *.
23 (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE.
24 (__gnat_portable_spawn): Fix cast to char* const*.
25 (add_handle): Cast from pointer via void **.
26 (add_handle): Cast from pointer via int *.
27 (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *.
28 (__gnat_locate_exec_on_path): Cast from pointer via char *.
29 * initialize.c (append_arg): Cast from pointer via LPWSTR.
30 (__gnat_initialize): Cast from pointer via LPWSTR.
31 * seh_init.c (__gnat_SEH_error_handler): Cast from pointer via FARPROC.
32 * tracebak.c: Cast from pointer via FARPROC.
34 2013-02-07 Simon Wright <simon@pushface.org>
37 * init.c (__darwin_major_version): New function for x86-64/Darwin.
38 (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
39 on Darwin 12 and above.
41 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
43 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
44 pack the field of the record type made for a misaligned type.
46 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
48 Backport from mainline
49 2013-01-04 Robert Dewar <dewar@adacore.com>
51 * gnat_rm.texi: Document alignment choice for subtypes.
53 2012-12-21 Ed Schonberg <schonberg@adacore.com>
56 * sem_ch12.adb (Analyze_Associations): Do not check the legality of
57 actuals for RACW types if this is an internal instantiation for a formal
58 package with defaulted parameters.
60 2012-12-18 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
62 Backport from mainline.
63 2012-10-15 Matthias Klose <doko@ubuntu.com>
65 * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
68 2012-12-16 Eric Botcazou <ebotcazou@adacore.com>
71 Backport from mainline
73 2012-10-01 Vincent Pucci <pucci@adacore.com>
75 * s-gearop.adb (Vector_Matrix_Product): Fix dimension check and index
76 of Left in S evaluation.
78 2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
81 Backport from mainline
83 2012-07-17 Hristian Kirtchev <kirtchev@adacore.com>
85 * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
86 and Conversion_Added. Add local constant Typ.
87 Retrieve the original attribute after the arithmetic check
88 machinery has modified the node. Add a conversion to the target
89 type when the prefix of attribute Max_Size_In_Storage_Elements
92 2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
95 * s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
96 pthread_rwlock_t subtypes. Delete duplicate declaration of clockid_t.
97 * s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
99 2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
102 * s-taspri-lynxos.ads: Delete.
103 * s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
104 * s-tpopsp-rtems.adb: Likewise.
105 * s-osinte-rtems.adb: Likewise.
107 2012-10-30 Eric Botcazou <ebotcazou@adacore.com>
109 * gcc-interface/Make-lang.in: Fix and clean up rules for C files.
111 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
113 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
114 BLKmode on the type if it is passed by reference.
115 <E_Array_Subtype>: Likewise.
116 <E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
117 <E_Record_Subtype>: Likewise.
119 * gcc-interface/Makefile.in: Remove outdated comment and reference to
122 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
124 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
125 directly to obtain an unsigned version of the base type.
127 2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
129 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
130 generate the special PARM_DECL for an Out parameter in LTO mode.
132 2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
134 * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
135 bounds of loop iteraration scheme only for locally defined subtypes.
137 * gcc-interface/trans.c (build_return_expr): Apply the NRV optimization
140 2012-09-20 Release Manager
142 * GCC 4.7.2 released.
144 2012-09-07 Eric Botcazou <ebotcazou@adacore.com>
146 * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
147 size_type_node instead of sizetype.
149 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
151 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
152 that an object of CW type initialized to a value is sufficiently
153 aligned for this value.
155 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
157 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
158 look up the REP part of the base type in advance. Deal with that of
160 (get_rep_part): Be prepared for record types with fields.
162 2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
164 * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
165 if the CICO mechanism is used.
167 2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
169 * gcc-interface/utils2.c (build_simple_component_ref): Do not look
170 through an extension if the type contains a placeholder.
172 2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
174 * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
175 the designated subprogram type and also set Is_Dispatch_Table_Entity.
176 (Expand_Interface_Thunk): Propagate the convention on the thunk.
177 (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
178 the internal view of the constructors.
179 (Set_CPP_Constructors): Likewise.
180 * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
181 convention on the function.
182 * gcc-interface/gigi.h (is_cplusplus_method): Declare.
183 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
184 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
186 (get_minimal_subprog_decl): Likewise.
187 (is_cplusplus_method): New predicate.
188 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
189 error on access to C++ constructor or member function.
191 2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
193 * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
194 attached to a TYPE_DECL.
196 2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
199 * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
200 * gcc-interface/utils.c (maybe_vector_array): Delete.
201 * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
202 array object as addressable if it has vector type and is on the LHS.
204 2012-06-14 Jakub Jelinek <jakub@redhat.com>
206 * gcc-interface/Makefile.in (gnatlib-shared-default): Append
207 $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake.
209 2012-06-14 Release Manager
211 * GCC 4.7.1 released.
213 2012-06-13 Eric Botcazou <ebotcazou@adacore.com>
216 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
218 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
219 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
221 (get_minimal_subprog_decl): Likewise.
222 (gnat_first_param_is_class): New predicate.
224 2012-06-12 Olivier Hainque <hainque@adacore.com>
226 * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
227 $(PIC_FLAG_FOR_TARGET).
228 (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
229 GNATLIBCFLAGS_FOR_C passed to gnatlib.
230 (gnatlib-shared-win32): Likewise.
231 (gnatlib-shared-darwin): Likewise.
232 (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
233 gnatlib-shared-win32.
235 2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
237 * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
238 (build_variant_list): Adjust to above renaming.
239 (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
240 to the type of the variant containers.
241 (create_variant_part_from): Likewise. Give a unique name to the type
244 2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
247 * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
248 (__gnat_using_gnu_linker): Delete.
249 * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
250 Declare Object_File_Option string constant and Using_GNU_response_file
252 (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
253 Opening and Closing local variables. Do not handle the GNU linker
255 (Write_RF): New procedure to write into the response file. Escape some
256 characters if a GNU response file is used. Keep track of error status.
257 Invoke Write_RF to write into the response file. Delete the file only
258 if the link was successful.
259 * mlib-utl.adb: Do not `with' package System.
260 (Gcc): Likewise. Declare Object_File_Option string constant and
261 Using_GNU_response_file boolean constant.
262 (Write_RF): Take a string instead of address and length. Escape some
263 characters if a GNU response file is used.
264 Invoke Write_RF to write into the response file. Delete the file only
265 if the link was successful. Do not warn if it cannot be deleted.
267 2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
269 * gcc-interface/utils.c (gnat_write_global_declarations): Put a name
270 on the dummy global variable.
272 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
274 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
275 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
277 (get_minimal_subprog_decl): Likewise.
278 (gnat_first_param_is_class): New predicate.
280 Backport from mainline
281 2012-05-15 Javier Miranda <miranda@adacore.com>
283 * exp_ch3.adb (Build_Offset_To_Top): Modify the
284 expansion of the offset_to_top functions to ensure that their
285 profile is conformant with the profile specified in Ada.Tags. No
286 change in functionality.
288 2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
290 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
291 global level with unconstrained nominal subtype and a non-fixed size,
292 make a variable for the size.
294 2012-05-15 Andris Pavenis <andris.pavenis@iki.fi>
297 * s-taprop-dummy.adb (Specific): New package.
299 2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
301 * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
302 atomicity from an object to its underlying type only if it
305 2012-05-06 Pascal Obry <obry@adacore.com>
308 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
310 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
311 Windows-specific make variable.
312 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
313 (install-gnatlib): Respect the above during installation when set,
314 and also install any windows import library that has been built.
315 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
316 build a corresponding import library.
318 2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
320 * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
321 layout for bitfields on the type if it is packed or has a representation
322 clause and an alternate layout is available.
324 2012-04-09 Mike Stump <mikestump@comcast.net>
326 * a-assert.ads: Remove execute permission.
327 * a-chacon.ads: Likewise.
328 * a-coteio.ads: Likewise.
329 * a-envvar.ads: Likewise.
330 * a-exetim-mingw.ads: Likewise.
331 * a-fzteio.ads: Likewise.
332 * a-izteio.ads: Likewise.
333 * a-lcteio.ads: Likewise.
334 * a-llctio.ads: Likewise.
335 * a-scteio.ads: Likewise.
336 * a-suenco.ads: Likewise.
337 * a-suenst.ads: Likewise.
338 * a-suewst.ads: Likewise.
339 * a-suezst.ads: Likewise.
340 * a-tirsfi.ads: Likewise.
341 * a-wichha.ads: Likewise.
342 * a-zchara.ads: Likewise.
343 * a-zchhan.ads: Likewise.
344 * a-zchuni.ads: Likewise.
345 * a-zrstfi.ads: Likewise.
346 * aspects.ads: Likewise.
347 * g-byorma.ads: Likewise.
348 * g-decstr.ads: Likewise.
349 * g-encstr.ads: Likewise.
350 * g-spchge.ads: Likewise.
351 * g-u3spch.ads: Likewise.
352 * g-wispch.ads: Likewise.
353 * g-zspche.ads: Likewise.
354 * namet-sp.ads: Likewise.
355 * s-os_lib.ads: Likewise.
356 * s-regexp.ads: Likewise.
357 * s-regpat.ads: Likewise.
358 * s-string.ads: Likewise.
359 * s-tasloc.ads: Likewise.
360 * s-utf_32.ads: Likewise.
361 * sem_aux.ads: Likewise.
362 * a-assert.adb: Likewise.
363 * a-chacon.adb: Likewise.
364 * a-envvar.adb: Likewise.
365 * a-exetim-mingw.adb: Likewise.
366 * a-suenco.adb: Likewise.
367 * a-suenst.adb: Likewise.
368 * a-suewst.adb: Likewise.
369 * a-suezst.adb: Likewise.
370 * a-tirsfi.adb: Likewise.
371 * a-wichha.adb: Likewise.
372 * a-zchhan.adb: Likewise.
373 * a-zchuni.adb: Likewise.
374 * a-zrstfi.adb: Likewise.
375 * aspects.adb: Likewise.
376 * g-byorma.adb: Likewise.
377 * g-decstr.adb: Likewise.
378 * g-encstr.adb: Likewise.
379 * g-spchge.adb: Likewise.
380 * g-u3spch.adb: Likewise.
381 * g-wispch.adb: Likewise.
382 * g-zspche.adb: Likewise.
383 * namet-sp.adb: Likewise.
384 * s-except.adb: Likewise.
385 * s-inmaop-vxworks.adb: Likewise.
386 * s-os_lib.adb: Likewise.
387 * s-regexp.adb: Likewise.
388 * s-regpat.adb: Likewise.
389 * s-string.adb: Likewise.
390 * s-tasloc.adb: Likewise.
391 * s-utf_32.adb: Likewise.
392 * s-wchcon.adb: Likewise.
393 * sem_aux.adb: Likewise.
395 2012-03-22 Release Manager
397 * GCC 4.7.0 released.
399 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
401 * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
402 and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
403 (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
404 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
405 invoke rest_of_type_decl_compilation on the parallel type, if any.
407 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
409 * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
410 dummy global built for global types is preserved.
412 2012-02-27 Tristan Gingold <gingold@adacore.com>
414 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
415 E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
418 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
420 * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
421 (TYPE_BY_REFERENCE_P): New flag.
422 (TYPE_IS_BY_REFERENCE_P): New macro.
423 (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
424 (TYPE_IS_DUMMY_P): Adjust for above change.
425 * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
426 and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
427 (gnat_to_gnu_param): Likewise.
428 (maybe_pad_type): Likewise.
429 (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
430 * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
431 instead of TREE_ADDRESSABLE.
432 * gcc-interface/trans.c (finalize_nrv): Likewise.
433 (call_to_gnu): Likewise. Do not create a temporary for return values
434 with by-reference type here.
435 (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
436 (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
437 CONSTRUCTORs and calls.
438 * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
439 the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
440 instead of TREE_ADDRESSABLE.
441 * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
444 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
446 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
447 change that creates a special VAR_DECL for debugging purposes. For an
448 aliased object with an unconstrained nominal subtype, make its type a
449 thin reference to the underlying object.
450 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
451 expressions built for the initialization of above objects.
453 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
455 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
456 Windows-specific make variable.
457 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
458 (install-gnatlib): Respect the above during installation when set,
459 and also install any windows import library that has been built.
460 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
461 build a corresponding import library.
463 2012-02-22 Robert Dewar <dewar@adacore.com>
465 * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
468 2012-02-22 Geert Bosch <bosch@adacore.com>
470 * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
471 x86-specific version of byteswap and use GCC builtins instead.
473 2012-02-22 Tristan Gingold <gingold@adacore.com>
475 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
476 E_Array_Type]: Translate component ealier.
478 2012-02-22 Robert Dewar <dewar@adacore.com>
480 * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
481 error message for 'Range.
483 2012-02-22 Pascal Obry <obry@adacore.com>
485 * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
486 this is our own thread.
488 2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
490 * tree_io.ads: Update ASIS_Version_Number because of the changes
493 2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
495 * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
496 stack-related finalizers.
498 2012-02-22 Ed Schonberg <schonberg@adacore.com>
500 * sem_ch6.adb (Analyze_Expression_Function): If the construct
501 is a completion, indicate that its formals are the formals of
502 a completion, and as such do not get a cross- reference entry.
503 (Analyze_Subprogram_Specification): Do not generate a definition
504 for the entity of an expression function, because it may be a
505 completion. Definition will be generated if needed when analyzing
506 the generated subprogram declaration.
508 2012-02-22 Vincent Celier <celier@adacore.com>
510 * make.adb (Check): When checking if an object file is in the
511 correct object directory, get the unit name from a previous call
512 to Check_Source_Info_In_ALI.
513 * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
514 the unit when everything is OK, otherwise return No_Name.
515 * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
518 2012-02-22 Ed Schonberg <schonberg@adacore.com>
520 * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
521 instance, the operator is visible if an operand is of some
522 numeric type which is not in use or directly visible, and the
523 other operand is a numeric literal.
525 2012-02-22 Tristan Gingold <gingold@adacore.com>
527 * init.c: Minor code clean up.
528 * gcc-interface/Make-lang.in: Update dependencies.
530 2012-02-22 Arnaud Charlet <charlet@adacore.com>
532 * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
533 otherwise GCC will generate an object file.
535 2012-02-22 Vincent Celier <celier@adacore.com>
537 * projects.texi: Correct typo related to "**" in Source_Dirs.
539 2012-02-22 Steve Baird <baird@adacore.com>
541 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
544 2012-02-22 Vincent Pucci <pucci@adacore.com>
546 * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
547 System_Dim_Child cases added.
548 * rtsfind.ads: Ada_Numerics,
549 Ada_Numerics_Generic_Elementary_Functions, System_Dim,
550 System_Dim_Float_IO and System_Dim_Integer_IO added to the list
551 of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
553 * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
554 Rtsfind to verify the package entity is located either
555 in System.Dim.Integer_IO or in System.Dim.Float_IO.
556 (Is_Dim_IO_Package_Instantiation): Minor
557 changes. (Is_Elementary_Function_Call): Removed.
558 (Is_Elementary_Function_Entity): New routine.
559 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
560 * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
563 2012-02-22 Vincent Pucci <pucci@adacore.com>
565 * sem_prag.adb: Minor reformatting.
567 2012-02-22 Ed Schonberg <schonberg@adacore.com>
569 * sem_ch3.adb (Find_Type_Name): When analyzing a private type
570 declaration that is the completion of a tagged incomplete type, do
571 not associate the class-wide type already created with the private
572 type to prevent order-of-elaboration issues in the back-end.
573 * exp_disp.adb (Find_Specific_Type): Find specific type of
574 a class-wide type, and handle the case of an incomplete type
575 coming either from a limited_with clause or from an incomplete
576 type declaration. Used when expanding a dispatchin call and
577 generating tag checks (minor refactoring).
579 2012-02-22 Robert Dewar <dewar@adacore.com>
581 * exp_ch5.adb: Add comment.
582 * sem_ch12.adb, exp_ch6.adb: minor reformatting
584 2012-02-22 Ed Schonberg <schonberg@adacore.com>
586 * freeze.adb (Freeze_Entity): Do not perform type layout within
589 2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
591 * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
594 2012-02-22 Ed Schonberg <schonberg@adacore.com>
596 * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
597 assignment to a classwide type whose type is limited, as
598 can happen in an instantiation in programs that run afoul or
602 2012-02-17 Ed Schonberg <schonberg@adacore.com>
604 * exp_ch6.adb (Legal_Copy): If layout is not
605 determined in the front-end, do not emit error message when
606 by-reference actual is potentially unaligned.
607 * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
608 illegal representation clause on tagged or aliased component, or on
609 by-reference type with forced alignment.
611 2012-02-17 Nicolas Roche <roche@adacore.com>
613 * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
614 propagated by gnatlib-sjlj and gnatlib-zcx targets.
615 * gcc-interface/Make-lang.in: Update dependencies.
617 2012-02-17 Thomas Quinot <quinot@adacore.com>
619 * sem_ch12.adb (Analyze_Package_Instantiation): For an
620 instantiation in an RCI library unit, omit the instance body
621 if the RCI library unit is the instance itself (E.2.3(18)),
622 but include the body if the instantiation is within the RCI
623 declaration (12.3(12)).
625 2012-02-17 Steve Baird <baird@adacore.com>
627 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
628 Post'Class aspects can only be specified for a primitive operation
631 2012-02-17 Yannick Moy <moy@adacore.com>
633 * gnat_rm.texi: Minor shuffling.
635 2012-02-17 Ed Schonberg <schonberg@adacore.com>
637 * aspects.adb: Expression functions can carry pre/postconditions.
638 * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
639 in an expression function.
640 * sem_prag (Check_Precondition_Postcondition): legal on expression
643 2012-02-17 Vincent Pucci <pucci@adacore.com>
645 * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
646 * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
647 * a-convec.adb, a-coorma.adb (Adjust): New routine.
648 (Constant_Reference): Increment Busy and Lock counters.
649 (Reference): Increase Busy and Lock counters.
650 (Finalize): New routine.
651 * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
652 (Adjust): New routine. (Constant_Reference): Increment Busy
654 (Finalize): New routine.
655 * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
656 * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
657 * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
658 * a-coorma.ads, a-coorse: Controlled component added to the
661 2012-02-17 Robert Dewar <dewar@adacore.com>
663 * restrict.adb (Check_Restriction): Add special handling for
664 No_Obsolescent_Features.
666 2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
668 * exp_util.adb (Find_Finalize_Address): When dealing with an
669 internally built full view for a type with unknown discriminants,
670 use the original record type.
672 2012-02-17 Robert Dewar <dewar@adacore.com>
674 * sem_dim.adb: Minor reformatting.
676 2012-02-17 Yannick Moy <moy@adacore.com>
678 * gnat_rm.texi: Minor rewording.
680 2012-02-17 Thomas Quinot <quinot@adacore.com>
682 * sem_aggr.adb: Minor reformatting.
684 2012-02-17 Robert Dewar <dewar@adacore.com>
686 * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
688 2012-02-17 Vincent Pucci <pucci@adacore.com>
690 * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
691 (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
693 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
695 * s-dim.ads: Make package Pure.
697 2012-02-17 Gary Dismukes <dismukes@adacore.com>
699 * prj-nmsc.adb: Minor reformatting.
701 2012-02-17 Yannick Moy <moy@adacore.com>
703 * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
705 2012-02-17 Yannick Moy <moy@adacore.com>
707 * gnat_ugn.texi: Fix typos.
709 2012-02-17 Pascal Obry <obry@adacore.com>
711 * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
712 aggregate is not Externally_Built.
714 2012-02-17 Ed Schonberg <schonberg@adacore.com>
716 * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
717 component has a box association, copy the default value using
718 the current scope as the scope of internal types, to prevent
719 scoping anomalies in gigi.
721 2012-02-17 Robert Dewar <dewar@adacore.com>
723 * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
724 sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
725 exp_intr.adb, s-os_lib.adb: Minor reformatting.
727 2012-02-17 Ed Schonberg <schonberg@adacore.com>
729 * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
730 old operation is abstract, the relevant type is not abstract,
731 and the new subprogram fails to override.
733 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
735 * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
736 type of the result to the end and execute it for a deferred constant of
737 a discriminated type whose full view can be elaborated statically.
739 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
741 * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
742 type is tagged, mark it as used for debugging purposes.
743 <N_Allocator>: Likewise for a qualified expression.
745 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
747 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
748 return value in the by-reference return type case if this isn't the
749 expression of an object declaration. Tidy up.
751 2012-02-09 Tristan Gingold <gingold@adacore.com>
753 * gcc-interface/Makefile.in: Remove .sym rule (not used).
754 Remove adamsg.o object (requires native message compiler).
755 * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
756 macro instead of as extern int.
757 (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
758 (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
759 (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
760 (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
761 (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
762 (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
763 (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
764 (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
765 (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
766 (struct cond_except): Field cond is now an unsigned int.
767 (dec_ada_cond_except_table): Adjust.
768 (cond_except_table): Likewise.
769 (cond_resignal_table): Likewise.
770 (__gnat_default_resignal_p): Fix style.
772 2012-02-08 Vincent Celier <celier@adacore.com>
774 * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
775 (g-buorma is now imported by sinput).
777 * scn.adb (Initialize_Scanner): Call Check_For_BOM
778 * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
779 * sinput.adb: New procedure Check_For_BOM
780 * sinput.ads: New procedure Check_For_BOM
782 2012-02-08 Vincent Pucci <pucci@adacore.com>
784 * impunit.adb: Dimension package names updated
785 * Makefile.rtl: s-dim added
786 * sem_dim.adb (Is_Procedure_Put_Call): minor changes
787 (Is_Dim_IO_Package_Instantiation): minor changes
788 * sem_dim.ads: minor changes in comments
789 * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
790 Name_Dim_Integer_IO removed
791 * s-dim.ads: New package. Define the dimension terminology.
792 * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
793 * s-dmotpr.ads: Package names updated.
794 * s-diflio.ads, s-diinio.ads: Documentation added and package
797 2012-02-08 Gary Dismukes <dismukes@adacore.com>
799 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
800 for storage pools to test for an underlying record type rather than
801 testing Is_Tagged_Type, so that simple storage pools will be handled
802 the same as normal Ada storage pools.
804 2012-02-08 Yannick Moy <moy@adacore.com>
806 * gnat_rm.texi: Minor reshuffling to place restriction at
809 2012-02-08 Bob Duff <duff@adacore.com>
811 * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
812 False for '-gnatwA', to suppress these warnings.
814 2012-02-08 Vincent Celier <celier@adacore.com>
816 * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
817 starting to scan, so that UTF8 encoding is taken into account.
819 2012-02-08 Arnaud Charlet <charlet@adacore.com>
821 * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
823 (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
824 (Exceptional_Complete_Rendezvous): Mark No_Return.
826 2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
828 * exp_aggr.adb (Compile_Time_Known_Composite_Value):
829 New predicate to compute whether a composite value can be
830 evaluated at compile time.
831 (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
832 expressions of elementary type and Compile_Time_Known_Composite_Value
833 for all other expressions.
834 (Expand_Record_Aggregate): Convert to assignments in the case
835 of a type with mutable components if the aggregate cannot be
838 2012-02-08 Gary Dismukes <dismukes@adacore.com>
840 * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
841 (Impl_Defined_Aspects): Add association for
842 Aspect_Simple_Storage_Pool_Type.
844 association for Aspect_Simple_Storage_Pool_Type.
846 (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
847 * exp_attr.adb (Expand_N_Attribute_Reference):
848 Change name to Name_Simple_Storage_Pool_Type.
849 * exp_ch4.adb (Expand_N_Allocator): Change
850 name to Name_Simple_Storage_Pool_Type.
851 * exp_intr.adb (Expand_Unc_Deallocation): Change name to
852 Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
853 Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
854 Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
855 (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
856 * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
857 Change name to Name_Simple_Storage_Pool_Type.
859 (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
860 (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
861 * sem_res.adb (Resolve_Allocator): Change name to
862 Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
863 (Name_Simple_Storage_Pool_Type): New name constant.
864 (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
865 move to main pragma section because it no longer matches the
867 * snames.adb-tmpl (Get_Pragma_Id): Remove test for
868 Name_Simple_Storage_Pool.
869 (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
871 2012-02-08 Robert Dewar <dewar@adacore.com>
873 * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
875 2012-02-08 Pascal Obry <obry@adacore.com>
877 * prj.adb (Compute_All_Imported_Projects): Use new
878 For_Project_And_Aggregated_Context to ensure proper context is
879 used for encapsulated aggregate libraries.
880 * prj-proc.adb (Recursive_Process): Call
881 Process_Aggregated_Projects earlier to ensure that all dependent
882 projects are set with the proper encapsulated status.
884 2012-02-08 Pascal Obry <obry@adacore.com>
886 * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
889 2012-02-08 Pascal Obry <obry@adacore.com>
891 * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
892 generic routine with a context parameter.
894 2012-02-08 Robert Dewar <dewar@adacore.com>
896 * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
897 a-convec.adb: Minor reformatting and code reorganization.
899 2012-02-08 Steve Baird <baird@adacore.com>
901 * sem_cat.adb (In_Preelaborated_Unit): A child
902 unit instantiation does not inherit preelaboration requirements
905 2012-02-08 Gary Dismukes <dismukes@adacore.com>
907 * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
908 (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
909 (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
910 (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
911 * aspects.adb (Canonical_Aspect): Add entry for
912 Aspect_Simple_Storage_Pool.
913 * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
914 Attribute_Simple_Storage_Pool in the same way as Storage_Pool
915 (add conversion, analyze/resolve). For the Storage_Size attribute,
916 for the simple pool case, locate and use the simple pool type's
917 Storage_Size function (if any), otherwise evaluate to zero.
918 * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
919 for an access type with an associated simple storage pool,
920 locate and use the pool type's Allocate.
921 * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
922 access type has a simple storage pool, locate the pool type's
923 Deallocate procedure (if present) and use it as the procedure
924 to call on the Free operation.
925 * freeze.adb (Freeze_Entity): In the case of a full type for
926 a private type defined with pragma Simple_Storage_Pool, check
927 that the full type is also appropriate for the pragma. For
928 a simple storage pool type, validate that the operations
929 Allocate, Deallocate (if present), and Storage_Size
930 (if present) are defined with appropriate expected profiles.
931 (Validate_Simple_Pool_Op_Formal): New procedure
932 (Validate_Simple_Pool_Operation): New procedure Add with and
934 * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
935 (no action required).
936 * sem_attr.adb (Analyze_Attribute): For the case of the
937 Storage_Pool attribute, give a warning if the prefix type has an
938 associated simple storage pool, and rewrite the attribute as a
939 raise of Program_Error. In the case of the Simple_Storage_Pool
940 attribute, check that the prefix type has an associated simple
941 storage pool, and set the attribute type to the pool's type.
942 * sem_ch13.adb (Analyze_Aspect_Specifications): Add
943 Aspect_Simple_Storage_Pool case choice.
944 (Analyze_Attribute_Definition_Clause): Add
945 Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
946 (no action). Add handling for Simple_Storage_Pool attribute
947 definition, requiring the name to denote a simple storage pool
949 (Check_Aspect_At_Freeze_Point): For a simple storage pool
950 aspect, set the type to that of the name specified for the aspect.
951 * sem_prag.adb (Analyze_Pragma): Add handling for pragma
952 Simple_Storage_Pool, requiring that it applies to a library-level
953 type declared in a package declaration that is a limited private
954 or limited record type.
955 * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
956 build-in-place function in an allocator for an access type with
957 a simple storage pool as unsupported.
958 * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
959 (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
960 (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
961 * snames.adb-tmpl (Get_Pragma_Id): Handle case of
962 Name_Simple_Storage_Pool.
963 (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
965 2012-02-08 Cyrille Comar <comar@adacore.com>
967 * projects.texi: Clarify doc for interfaces.
969 2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
971 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
974 2012-02-01 Tristan Gingold <gingold@adacore.com>
976 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
977 instead of size_type_node.
979 2012-01-30 Nicolas Roche <roche@adacore.com>
981 * gcc-interface/Make-lang.in: Update dependencies.
982 * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
984 Remove Linker_Options -crtbe when building sjlj run-time.
986 2012-01-30 Robert Dewar <dewar@adacore.com>
988 * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
989 * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
990 form 2 * small-literal.
991 * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
993 * sem_ch4.ads (Analyze_Mod): New procedure.
995 2012-01-30 Ed Schonberg <schonberg@adacore.com>
997 * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
998 types and return expression when building spec for implicit
999 body, to preserve global references that may be present in an
1002 2012-01-30 Matthew Heaney <heaney@adacore.com>
1004 * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
1005 Reverse_Elements): Check for cursor tampering.
1007 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1009 * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
1010 type with aspect Default_Value or Default_Component_Value is
1011 fully initialized, and use of variables of such types do not
1014 2012-01-30 Javier Miranda <miranda@adacore.com>
1017 * sem_ch8.adb (Analyze_Subprogram_Renaming):
1018 Handle self-renaming when the renamed entity is referenced using
1021 2012-01-30 Vincent Celier <celier@adacore.com>
1023 * projects.texi: Add documentation for attribute Interfaces.
1025 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1027 * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
1028 * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
1029 location for the wrapped call to the original AT_END routine
1030 and the subsequent return statement.
1032 2012-01-30 Pascal Obry <obry@adacore.com>
1034 * s-rannum.adb: Minor reformatting.
1036 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1038 * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
1039 to 25 and add the hard time value for 2012-06-30.
1041 2012-01-30 Robert Dewar <dewar@adacore.com>
1043 * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
1044 freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
1045 s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
1046 Minor reformatting/code reorganization.
1048 2012-01-30 Thomas Quinot <quinot@adacore.com>
1050 * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
1051 Unsigned_64 rather than Duration.
1052 (System.Random_Numbers.Reset): Use full value of seed
1053 (do not truncate sub-second bits).
1055 2012-01-30 Thomas Quinot <quinot@adacore.com>
1057 * sem_cat.adb, sem_ch12.adb: Minor reformatting.
1059 2012-01-30 Yannick Moy <moy@adacore.com>
1061 * gnat_ugn.texi: Minor correction of GNAT UG, to take into
1062 account changes to -gnatwa and more recent warnings.
1064 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1066 * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
1067 location when creating a call to a finalizer.
1068 * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
1069 a source location for the first actual of Save_Occurrence for
1072 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1074 * einfo.ads, einfo,adb: New attribute on scalar types:
1075 Default_Aspect_Value New attribute on array types:
1076 Default_Aspect_Component_Value Move attribute Related_Array_Object
1077 to a different position to accomodate new aspect attributes.
1078 * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
1079 of defaults set with an aspect specification, rather than using
1080 the list of aspects attached to the type, to prevent issues with
1082 * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
1083 Default_Value and Default_Component _Value, store corresponding
1084 expression in type entity.
1085 (Check_Aspect_At_End_Of_Declaration): If the default aspects
1086 are declared on the full view, use the full view to resolve the
1087 correseponding expression.
1088 * exp_ch3.adb (Init_Component): Use attribute
1089 Default_Aspect_Component_Value to perform default initialization,
1090 rather than relying on the rep item list for the type.
1091 (Get_Simple_Init_Val): Ditto.
1093 2012-01-30 Thomas Quinot <quinot@adacore.com>
1095 * a-strhas.ads: Document risk of collision attack.
1097 2012-01-30 Yannick Moy <moy@adacore.com>
1099 * gnat_ugn.texi: Minor update wrt warning switches.
1101 2012-01-30 Vincent Celier <celier@adacore.com>
1103 * prj-nmsc.adb (Check_Interfaces): Report an error when a
1104 unit from Library_Interface is not a unit of the project.
1106 2012-01-30 Vincent Pucci <pucci@adacore.com>
1108 * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
1109 links fixed inside PPC pragmas.
1110 * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
1112 2012-01-30 Thomas Quinot <quinot@adacore.com>
1114 * s-ransee.ads: Minor reformatting.
1116 2012-01-30 Pascal Obry <obry@adacore.com>
1118 * prj.ads, prj.adb (For_Each_Source): Add support for skipping
1119 sources coming from an encapsulated library.
1121 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1123 * sem_ch3.adb (Process-Full_View): fix typo.
1124 * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
1125 appear on a private type and the full view is available, ensure
1126 existence of freeze node for full view.
1127 (Build_Predicate_Function): Attach predicate function to both
1128 views of a private type.
1130 2012-01-30 Vincent Celier <celier@adacore.com>
1132 * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
1133 for the project if either attribute Library_Interface or
1134 Interfaces is declared.
1135 (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
1138 2012-01-30 Pascal Obry <obry@adacore.com>
1140 * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
1141 boolean value to true in the process list created by this routine.
1142 * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
1143 Continued work for KA06-021.
1144 * prj.adb (Compute_All_Imported_Projects): Set
1145 From_Encapsulated_Lib boolean flag.
1147 2012-01-30 Vincent Pucci <pucci@adacore.com>
1149 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
1151 * s-diflio.ads: Minor change.
1153 2012-01-30 Javier Miranda <miranda@adacore.com>
1155 * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
1156 to Get_Entry_Index. Required to generate code which provides
1157 the correct value of Entry_Index in the target entry.
1159 2012-01-30 Nicolas Roche <roche@adacore.com>
1161 * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
1162 fix issue with zcx on VxWorks5.
1164 2012-01-30 Pascal Obry <obry@adacore.com>
1166 * prj.ads, prj.adb (For_Every_Project_Imported): Remove
1168 (For_Every_Project_Imported_Context): New generic routine with
1169 a context parameter.
1170 * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
1171 distributed complexity.
1172 * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
1174 2012-01-30 Thomas Quinot <quinot@adacore.com>
1176 * exp_aggr.adb (Expand_Record_Aggregate): After creating the
1177 _parent aggregate for an extension aggregate, check whether it
1178 requires delayed (top-down) expansion.
1180 2012-01-30 Vincent Pucci <pucci@adacore.com>
1182 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
1183 * snames.ads-tmpl: Name_Item and Name_Symbols added.
1184 * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
1185 and change the position of parameter Symbols in every Put routine.
1186 * s-dimmks.ads: Convert long float type Mks_Type into long
1188 * s-llflex.ads: Modifications in comments.
1190 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1192 * sem_ch12.adb (Earlier): Do not use the
1193 top level source locations of the two input nodes.
1195 2012-01-30 Robert Dewar <dewar@adacore.com>
1197 * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
1198 sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
1200 2012-01-30 Robert Dewar <dewar@adacore.com>
1202 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
1204 2012-01-30 Olivier Hainque <hainque@adacore.com>
1206 * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
1209 2012-01-30 Thomas Quinot <quinot@adacore.com>
1211 * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
1212 sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
1213 sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
1214 New subprogram (extracted from
1215 Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
1216 (Einfo.Is_Remote_Types): Now applies to generic types. Update
1217 documentation accordingly.
1218 (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
1219 actual for a formal type to which a pragma Remote_Access_Type
1221 (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
1223 (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
1224 be applied to a generic type if pragma Remote_Access_Type
1225 applies, in which case the type of the attribute is
1226 System.Partition_Interface.RACW_Stub_Type.
1228 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1230 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
1231 an alignment on fields of the RETURN type built for the CICO mechanism.
1233 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1235 * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
1236 a call to a function that returns an unconstrained type with default
1237 discriminant. Similarly, avoid doing the conversion to the nominal
1238 result type in this case.
1240 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1242 * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
1243 * gcc-interface/decl.c (is_variable_size): Rename to...
1244 (type_has_variable_size): ...this.
1245 (adjust_packed): Adjust to above renaming.
1246 (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
1247 (field_is_artificial): New predicate.
1248 (field_is_aliased): Likewise.
1249 (field_has_self_size): Likewise.
1250 (field_has_variable_size): Likewise.
1251 (components_to_record): Record information for the final layout during
1252 the first pass on fields.
1253 If there is an aliased field placed after a field whose length depends
1254 on discriminants, put all the fields of the latter sort, last.
1256 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1258 * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
1259 * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
1260 * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
1261 Access-like attribute in a dispatch table if the subprogram is public.
1263 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1265 * gcc-interface/gigi.h (create_label_decl): Adjust.
1266 * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
1267 and invoke gnat_pushdecl on it. Remove obsolete settings.
1268 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
1270 * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
1271 label for debugging purposes.
1273 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1275 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
1276 object with an unconstrained nominal subtype and if optimization isn't
1277 enabled, create a special VAR_DECL for debugging purposes.
1279 2012-01-23 Robert Dewar <dewar@adacore.com>
1281 * sem_prag.ads, sem_prag.adb: Minor reformatting.
1283 2012-01-23 Robert Dewar <dewar@adacore.com>
1285 * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
1286 language defined aspect applied to renaming or formal type
1287 declaration (not permitted)
1289 2012-01-23 Matthew Heaney <heaney@adacore.com>
1291 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
1292 comment with pragma Assert.
1294 2012-01-23 Vincent Pucci <pucci@adacore.com>
1296 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
1297 to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
1298 * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
1299 routine. In ASIS mode, convert any PPC pragmas into aspects in generic
1300 subprogram declaration in order to enable the analysis of PPC boolean
1303 2012-01-23 Robert Dewar <dewar@adacore.com>
1305 * sem_ch3.adb (Analyze_Object_Declaration): Properly
1306 handle Current_Value for volatile variables (also propagate
1307 Treat_As_Volatile from type to object).
1309 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1311 * sem_ch12.adb (Install_Body): Detect the case
1312 where the enclosing context is a package with a stub body that
1313 has already been replaced by the actual body. In such cases,
1314 the freeze node for the enclosing context must be inserted after
1317 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1319 * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
1320 subprogram before expanding the pragma into an if-statement with
1321 a block, to ensure that when the subprogram is null its body is
1322 properly generated before expansion.
1324 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1326 * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
1327 constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
1329 Freeze all eligible subprograms which appear as actuals in
1331 (Has_Fully_Defined_Profile): New routine.
1332 (Renames_Standard_Subprogram): New routine.
1333 (Earlier): Add local variable N. Comment update. Do not use source
1334 locations when trying to determine whether one node precedes another.
1336 2012-01-23 Gary Dismukes <dismukes@adacore.com>
1338 * exp_ch4.adb (Expand_Concatenate): In the case
1339 where the result of a concatentation can be null, set the to
1340 result have both the low and high bounds of the right operand (not
1341 just the high bound, as was the case prior to this fix). Also,
1342 fix the saved high bound setting (Last_Opnd_High_Bound) in the
1343 empty string literal case (should have been low bound minus one,
1344 rather than plus one).
1346 2012-01-23 Thomas Quinot <quinot@adacore.com>
1348 * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
1349 omit statement SCOs for disabled pragmas.
1351 2012-01-23 Matthew Heaney <heaney@adacore.com>
1353 * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
1354 a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
1355 a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
1356 a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
1357 Cursor'Write): Declare in private part.
1358 (Reference_Type'Read, Reference_Type'Write): Ditto.
1359 (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
1361 2012-01-23 Robert Dewar <dewar@adacore.com>
1363 * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
1366 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1368 * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
1369 Corresponding_Body on a defaulted null formal subprogram.
1370 * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
1371 on a defaulted formal subprogram that is a null procedure.
1373 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1375 * exp_ch9.adb: Update the comments involving pragma Implemented.
1376 * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
1377 constant Subp_Alias and local variable Impl_Subp. Properly
1378 handle aliases of synchronized wrappers. Code cleanup.
1379 (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
1380 Name_Optional as part of the condition.
1381 * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
1382 valid choices of implementation kind.
1383 (Check_Arg_Is_One_Of): New routine.
1384 * snames.ads-tmlp: Add Name_Optional.
1386 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1388 * par-ch13.adb: Better error recovery in illegal aspect
1391 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1393 * a-calend.adb: Add with clause for Interfaces.C. Add constant
1395 (Day_Of_Week): Call the internal UTC_Time_Offset.
1396 (Split): Call the internal UTC_Time_Offset.
1397 (Time_Of): Call the internal UTC_Time_Offset.
1398 (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
1399 (UTC_Time_Offset): New library-level routine.
1400 * a-calend.ads (UTC_Time_Offset): Remove parameter
1401 Is_Historic. Update related comment on usage.
1402 * a-catizo.adb (UTC_Time_Offset): Removed.
1403 (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
1404 * a-caltizo.ads (UTC_Time_Offset): Removed.
1405 (UTC_Time_Offset (Time)): Add back the default expression of parameter
1408 2012-01-23 Robert Dewar <dewar@adacore.com>
1410 * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
1411 (pg,po,ps): Make sure each entry starts on new line.
1413 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1415 * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
1416 the parameter profile of procedure localtime_tzoff and its associated
1418 (Day_Of_Week): Do not treat the input date as historical
1419 with respect to time zones.
1420 (Split): Do not treat the input
1421 date as historical with respect to time zones. (Time_Of): Do
1422 not treat the input constituents as forming a historical date
1423 with respect to time zones.
1424 (UTC_Time_Offset): Add new formal
1425 parameter Is_Historic. Add local variable Flag. Update the call
1427 * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
1428 (UTC_Time_Offset (Time)): Update the call to
1429 Time_Zone_Operations.UTC_Time_Offset.
1430 * sysdep.c (__gnat_localtime_tzoff): Update parameter
1431 profile. Split the processing of offsets on Windows into two - one
1432 part of historic time stamps and the other for the current time.
1434 2012-01-23 Robert Dewar <dewar@adacore.com>
1436 * a-calend.adb: Minor reformatting.
1438 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1440 * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
1441 interface in requeue statement.
1443 2012-01-23 Cyrille Comar <comar@adacore.com>
1445 * projects.texi: Remove references to main units and replace
1446 with references to main programs to be coherent with the
1449 2012-01-23 Robert Dewar <dewar@adacore.com>
1451 * s-utf_32.adb: Minor reformatting.
1453 2012-01-23 Vincent Celier <celier@adacore.com>
1455 * snames.ads-tmpl: Minor comment addition Indicate that
1456 Name_Library_Encapsulated_Options is only used in gprbuild.
1458 2012-01-23 Robert Dewar <dewar@adacore.com>
1460 * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
1463 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1465 * snames.ads-tmpl: Add Name_Synchronization.
1466 * aspects.ads, aspects.adb: Add Aspect_Synchronization to
1467 enumeration type and related maps.
1468 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
1469 Synchronization, build corresponding pragma Implemented.
1470 * sem_util.adb (Implementation_Kind): Handle both explicit and
1471 implicit pragma_argument association to retrieve the given
1472 synchronization mode.
1474 2012-01-23 Robert Dewar <dewar@adacore.com>
1476 * sem_ch10.adb, errout.adb: Minor reformatting.
1478 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1480 * sem_res.adb (Resolve_Actuals): An actual in a call to an
1481 Ada 2012 Reference function does not lead to a dangerous order
1484 2012-01-23 Gary Dismukes <dismukes@adacore.com>
1486 * exp_util.adb (Is_Iterated_Container): Test
1487 Is_Entity_Name when searching for calls to the default iterator,
1488 to avoid blowing up on indirect calls which have an explicit
1489 dereference as the call name.
1491 2012-01-23 Thomas Quinot <quinot@adacore.com>
1493 * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
1494 the complete expanded name, rather than just its Selector_Name.
1496 2012-01-23 Thomas Quinot <quinot@adacore.com>
1498 * a-textio.adb (Put): Rewrite one-parameter Character version to
1499 just call the two-parameter one with Current_Out.
1501 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1503 * freeze.adb (Check_Current_Instance): Issue an
1504 error when the prefix of 'Unchecked_Access or 'Access does not
1505 denote a legal aliased view of a type.
1506 (Freeze_Record_Type): Do not halt the processing of record components
1507 once the Has_Controlled_Component is set as this bypasses the remaining
1509 (Is_Aliased_View_Of_Type): New routine.
1511 2012-01-23 Thomas Quinot <quinot@adacore.com>
1513 * errout.ads, freeze.adb: Minor reformatting.
1515 2012-01-23 Thomas Quinot <quinot@adacore.com>
1517 * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
1520 2012-01-23 Olivier Hainque <hainque@adacore.com>
1522 * adadecode.c (__gnat_decode): Deal with empty input early,
1523 preventing potential erroneous memory access later on.
1525 2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
1528 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
1529 renaming, preserve the volatileness through the indirection, if any.
1531 2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
1533 * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
1536 2012-01-10 Pascal Obry <obry@adacore.com>
1538 * prj-nmsc.adb (Check_Library_Attributes):
1539 Kill check for object/source directories for aggregate libraries.
1541 2012-01-10 Matthew Heaney <heaney@adacore.com>
1543 * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
1544 a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
1545 a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
1546 a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
1547 a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
1548 a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
1549 a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
1550 a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
1551 a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
1552 container parameter as aliased in/in out.
1555 2012-01-10 Bob Duff <duff@adacore.com>
1557 * s-os_lib.ads: Improve comment.
1559 2012-01-10 Geert Bosch <bosch@adacore.com>
1561 * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
1564 2012-01-10 Bob Duff <duff@adacore.com>
1566 * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
1567 checking that the 'Size is correct. If the type is "mod 2**12",
1568 for example, it's illegal, but Esize is the 'Object_Size, which
1569 will be something like 16 or 32, so the error ('Size = 12) was
1571 * gnat_rm.texi: Improve documentation of shift
1572 and rotate intrinsics.
1574 2012-01-10 Pascal Obry <obry@adacore.com>
1576 * prj.adb (For_Every_Project_Imported): Fix
1577 implementation to make sure we return each project only once
1578 for aggragte libraries. It is fine to return a project twice for
1579 aggregate projects, this was the case as a Project_Id is different
1580 in each project tree. The new implementation use a table based on
1581 the project name to ensure proper detection of duplicate project
1582 in aggregate library. A new context is then created to continue
1583 retrurning duplicate project for aggregate libraries.
1585 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
1587 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
1588 return value in the variable-sized return type case if the target is
1589 an array with fixed size. However, do not create it if this is the
1590 expression of an object declaration.
1592 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
1594 * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
1596 2012-01-06 Robert Dewar <dewar@adacore.com>
1598 * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
1599 s-utf_32.ads: Add pragma Pure
1600 * s-utf_32.adb: Suppress warnings on non-static constants (now
1603 2012-01-06 Bob Duff <duff@adacore.com>
1605 * s-rpc.ads (Read, Write): Add overriding indicators.
1607 2012-01-06 Robert Dewar <dewar@adacore.com>
1609 * gnat_rm.texi: Add documentation for conventions
1610 Ada_Pass_By_Copy and Ada_Pass_By_Reference.
1612 2012-01-06 Gary Dismukes <dismukes@adacore.com>
1614 * a-tienio.adb (Put): Add exception message on
1615 raise statements. Remove unneeded blocks and object declarations.
1617 2012-01-06 Robert Dewar <dewar@adacore.com>
1619 * sem_prag.adb: Minor reformatting.
1621 2012-01-06 Ed Schonberg <schonberg@adacore.com>
1623 * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
1624 that a selected component within a generic unit has been resolved
1625 as a prefixed call with local references.
1626 * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
1627 component is always visible.
1628 * sem_ch4.adb (Analyze_Selected_Component): If the node is a
1629 prefixed call in an instance, do not look for visible components
1631 * sem_ch12.adb (Reset_Entity): If a selected component has resolved
1632 to a prefixed call, mark the node accordingly when prefix and
1633 selector are local references.
1635 2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
1637 * gnatvsn.ads (Current_Year): Bump to 2012.
1639 Copyright (C) 2012 Free Software Foundation, Inc.
1641 Copying and distribution of this file, with or without modification,
1642 are permitted in any medium without royalty provided the copyright
1643 notice and this notice are preserved.