2013-02-06 Robert Dewar <dewar@adacore.com>
[official-gcc.git] / gcc / ada / ChangeLog
blob309f7e7c4fb9d467a6df25c727cb7f406f3437bb
1 2013-02-06  Robert Dewar  <dewar@adacore.com>
3         * s-dim.ads, clean.adb: Minor reformatting.
5 2013-02-06  Javier Miranda  <miranda@adacore.com>
7         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch.
8         (Can_Split_Unconstrained_Function): Only split the inlined function if
9         the compiler generates the code of its body.
11 2013-02-06  Robert Dewar  <dewar@adacore.com>
13         * exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
14         exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
15         N_Pragma nodes.
17 2013-02-06  Robert Dewar  <dewar@adacore.com>
19         * gnat_rm.texi: Minor text updates for pragma Warning.
21 2013-02-06  Geert Bosch  <bosch@adacore.com>
23         * s-multip.adb (Number_Of_CPUs): Short-circuit in case of
24         CPU'Last = 1.
26 2013-02-06  Vincent Celier  <celier@adacore.com>
28         * clean.adb (Delete): On VMS use host notation to delete all files.
30 2013-02-06  Robert Dewar  <dewar@adacore.com>
32         * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor
33         reformatting.
35 2013-02-06  Gary Dismukes  <dismukes@adacore.com>
37         * sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
38         the special case of a user-defined equality that overrides
39         the predefined equality of a nonderived type declared in a
40         declarative part.
41         * sem_util.adb (Collect_Primitive_Operations): Add test for
42         Is_Primitive when looping over the subprograms following a type,
43         to catch the case of primitives such as a user-defined equality,
44         which otherwise won't be found when the type is not a derived
45         type and is declared in a declarative part.
47 2013-02-06  Vincent Celier  <celier@adacore.com>
49         * prj-conf.adb (Check_Target): Always return True when Target
50         is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
51         New procedure to get the value of attribute Target in the main
52         project.
53         (Get_Or_Create_Configuration_File.Do_Autoconf): No
54         need to get the value of attribute Target in the main project.
55         (Get_Or_Create_Configuration_File): Call Get_Project_Target and
56         use the target fom this call.
58 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
60         * erroutc.adb (Validate_Specific_Warning): Do not issue the
61         warning about an ineffective Pragma Warnings for -Wxxx warnings.
62         * sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
63         * gnat_rm.texi (Pragma Warnings): Document coordination with
64         warnings of the GCC back-end.
66 2013-02-06  Javier Miranda  <miranda@adacore.com>
68         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body
69         of an inlined function if we do not generate code for the function.
71 2013-02-06  Pascal Obry  <obry@adacore.com>
73         * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
74         with Resolve_Links set to False.
76 2013-02-03  Eric Botcazou  <ebotcazou@adacore.com>
78         * gcc-interface/decl.c: Include diagnostic-core.h.
79         (gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order
80         is set on the entity.
81         <E_Record_Type>: Likewise.
82         * gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H).
84 2013-01-29  Ben Brosgol  <brosgol@adacore.com>
86         * gnat_rm.texi: Fixed typos. Minor edits.
88 2013-01-29  Bob Duff  <duff@adacore.com>
90         * a-convec.adb: Minor reformatting.
92 2013-01-29  Pascal Obry  <obry@adacore.com>
94         * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp
95         directory.
97 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
99         * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop
100         identifier only if it comes from source.
101         (Expand_N_Loop_Statement): If the domain of iteration is an
102         enumeration type with a representation clause, remove from
103         visibility the loop identifier before rewriting the loop as a
104         block with a declaration for said identifier.
105         * sem_util.adb (Remove_Homonym): Handle properly the default case.
107 2013-01-29  Vincent Celier  <celier@adacore.com>
109         * prj-proc.adb: Minor comment spelling fix.
111 2013-01-29  Pascal Obry  <obry@adacore.com>
113         * prj-proc.adb (Process_Expression_Variable_Decl): Prepend
114         Project_Path to current environment.
116 2013-01-29  Thomas Quinot  <quinot@adacore.com>
118         * sprint.adb (Sprint_Node_Actual): Output freeze nodes for
119         itypes even if Dump_Freeze_Null is not set.
121 2013-01-29  Robert Dewar  <dewar@adacore.com>
123         * sem_util.adb: Minor reformatting.
124         * s-rident.ads: Minor comment fixes.
126 2013-01-29  Pascal Obry  <obry@adacore.com>
128         * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to
129         control if the path is prepended or appended.
131 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
133         * sem_ch6.adb (Analyze_Expression_Function): An expression
134         function declaration is not a subprogram declaration, and thus
135         cannot appear in a protected definition.
137 2013-01-29  Hristian Kirtchev  <kirtchev@adacore.com>
139         * exp_util.adb (Insert_Actions): When new
140         actions come from the expression of the expression with actions,
141         then they must be added to the list of existing actions.
143 2013-01-29  Eric Botcazou  <ebotcazou@adacore.com>
145         * sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
146         the subtype of a constrained private type with discriminants
147         that has got a full view, show that the completion is a clone
148         of the full view.
150 2013-01-29  Javier Miranda  <miranda@adacore.com>
152         * errout.ads, errout.adb (Get_Ignore_Errors): New subprogram.
153         * opt.ads (Warn_On_Overlap): Update documentation.
154         * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
155         Check function writable actuals.
156         * sem_ch3.adb (Build_Derived_Record_Type,
157         Record_Type_Declaration): Check function writable actuals.
158         * sem_ch4.adb (Analyze_Range): Check function writable actuals.
159         * sem_ch5.adb (Analyze_Assignment): Remove code of the initial
160         implementation of AI05-0144.
161         * sem_ch6.adb (Analyze_Function_Return,
162         (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code
163         of the initial implementation of AI05-0144.
164         * sem_res.adb (Resolve): Remove code of the initial implementation.
165         (Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call
166         of the initial implementation.
167         (Resolve_Arithmetic_Op, Resolve_Logical_Op,
168         Resolve_Membership_Op): Check function writable actuals.
169         * sem_util.ad[sb] (Actuals_In_Call): Removed
170         (Check_Order_Dependence): Removed (Save_Actual): Removed
171         (Check_Function_Writable_Actuals): New subprogram.
172         * usage.adb (Usage): Update documentation.
173         * warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when
174         setting all warnings.
176 2013-01-29  Robert Dewar  <dewar@adacore.com>
178         * a-calend-vms.adb: Minor comment fix.
180 2013-01-29  Robert Dewar  <dewar@adacore.com>
182         * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash
183         because of casing issues.
184         * sem_util.ads: Minor comment fix.
185         * style.adb (Check_Identifier): Set proper casing for entities
186         in ASCII.
187         * styleg.adb: Minor comment improvement.
188         * stylesw.ads (Style_Check_Standard): Fix bad comments.
190 2013-01-29  Hristian Kirtchev  <kirtchev@adacore.com>
192         * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global.
193         (Analyze_Pragma): Push the scope of the related subprogram and install
194         its formals once before starting the analysis of the [moded] global
195         list.
197 2013-01-29  Pascal Obry  <obry@adacore.com>
199         * prj-proc.adb (Process_Expression_Variable_Decl): Always handle
200         relative paths in Project_Path as relative to the aggregate
201         project location. Note that this was what was documented.
203 2013-01-29  Vincent Celier  <celier@adacore.com>
205         * gnatcmd.adb: For "gnat stub -P ...", do not check the naming
206         scheme for Ada, when Ada is not a language for the project.
208 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
210         * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
211         Is_Generic_Actual_Type flag in a nested instance.
212         * sem_ch12.adb (Restore_Private_Views): Preserve
213         Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
214         of an enclosing instance.
215         * sem_util.adb (Corresponding_Generic_Type): Handle generic actual
216         which is an actual of an enclosing instance.
217         * sem_type.adb (Real_Actual): If a generic_actual_type is the
218         formal of an enclosing generic and thus renames the corresponding
219         actual, use the actual of the enclosing instance to resolve
220         spurious ambiguities in instantiations when two formals are
221         instantiated with the same actual.
223 2013-01-29  Robert Dewar  <dewar@adacore.com>
225         * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
226         being available as implementation-defined pragmas in earlier
227         versions of Ada.
229 2013-01-29  Vincent Celier  <celier@adacore.com>
231         * clean.adb (Delete): On VMS, delete all versions of the file.
233 2013-01-29  Robert Dewar  <dewar@adacore.com>
235         * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
236         * par-util.adb (No_Constraint): Undo special handling, moved
237         to par-ch6.adb.
239 2013-01-29  Robert Dewar  <dewar@adacore.com>
241         * aspects.ads: Aspect Warnings is implementation defined Add
242         some other missing entries to impl-defined list Mark Warnings
243         as GNAT pragma in main list.
244         * sem_ch8.adb: Process aspects for all cases of renaming
245         declarations.
247 2013-01-29  Robert Dewar  <dewar@adacore.com>
249         * sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
250         * sem_elab.adb (Check_Internal_Call_Continue): Do not issue
251         warnings about possible elaboration error if call is within
252         an assertion.
253         * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
255 2013-01-29  Robert Dewar  <dewar@adacore.com>
257         * a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
258         * s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
259         s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
261 2013-01-29  Robert Dewar  <dewar@adacore.com>
263         * opt.ads (Ignore_Style_Checks_Pragmas): New flag.
264         * par-prag.adb (Par, case Style_Checks): Recognize
265         Ignore_Style_Checks_Pragmas.
266         * sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
267         Ignore_Style_Checks_Pragmas.
268         * switch-c.adb: Recognize -gnateY switch.
269         * usage.adb: Add documentation for "-gnateY".
270         * vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
272 2013-01-29  Vincent Celier  <celier@adacore.com>
274         * clean.adb (Clean_Executables): Add Sid component when calling
275         Queue.Insert.
276         * make.adb: When inserting in the Queue, add the Source_Id
277         (Sid) when it is known (Start_Compile_If_Possible): When the
278         Source_Id is known (Sid), get the path name of the ALI file
279         (Full_Lib_File) from it, to avoid finding old ALI files in other
280         object directories.
281         * makeutl.ads (Source_Info): New Source_Id component Sid in
282         Format_Gnatmake variant.
284 2013-01-29  Robert Dewar  <dewar@adacore.com>
286         * gnat_ugn.texi: Document -gnateY.
288 2013-01-29  Doug Rupp  <rupp@adacore.com>
290         * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
291         system-vms-ia64.ads: Replace pragma Interface by pragma Import.
293 2013-01-29  Robert Dewar  <dewar@adacore.com>
295         * atree.ads, atree.adb (Node30): New function.
296         (Set_Node30): New procedure.
297         (Num_Extension_Nodes): Change to 5 (activate new fields/flags).
298         * atree.h: Add macros for Field30 and Node30.
299         * einfo.ads, einfo.adb: Move some fields to avoid duplexing.
300         * treepr.adb (Print_Entity_Information): Print fields 30-35.
302 2013-01-29  Robert Dewar  <dewar@adacore.com>
304         * sem_prag.adb (Analyze_Pragma, case Interface): Consider to
305         be a violation of No_Obsolescent_Features even in Ada 95. Also
306         generates a warning in -gnatwj mode.
307         (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
308         mode.
309         * gnat_ugn.texi: Additional documentation on -gnatwj and pragma
310         Interface[_Name].
312 2013-01-29  Vincent Celier  <celier@adacore.com>
314         * snames.ads-tmpl: Add new standard name Trailing_Switches.
316 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
318         * sem_disp.adb (Check_Controlling_Type): If a designated type T
319         of an anonymous access type is a limited view of a tagged type,
320         it can be a controlling type only if the subprogram is in the
321         same scope as T.
323 2013-01-29  Vincent Celier  <celier@adacore.com>
325         * gnatcmd.adb: Use the project where the config pragmas file is
326         declared to get its path.
328 2013-01-29  Vincent Celier  <celier@adacore.com>
330         * prj-attr.adb: New attribute Linker'Trailing_Switches.
332 2013-01-22  Eric Botcazou  <ebotcazou@adacore.com>
334         * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
335         not translate the Etype of the node before translating the Actions.
337 2013-01-22  Eric Botcazou  <ebotcazou@adacore.com>
339         * gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
340         instead of optimize and adjust warning message.
341         (Compilation_Unit_to_gnu): Process pragmas preceding the unit.
343 2013-01-22  Tristan Gingold  <gingold@adacore.com>
345         * gcc-interface/gigi.h (ADT_unhandled_except_decl,
346         ADT_unhandled_others_decl): New.
347         (unhandled_others_decl, unhandled_except_decl): Define.
348         * gcc-interface/trans.c: Include common/common-target.h.
349         (gigi): Initialize them.
350         (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
351         function in a try/catch clause.
353 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
355         * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata.
356         (CHECKING_ADAFLAGS): New.
357         (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS.
359 2013-01-10  Eric Botcazou  <ebotcazou@adacore.com>
361         * gcc-interface/config-lang.in (boot_language_boot_flags): Delete.
362         * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise.
364 2013-01-07  Eric Botcazou  <ebotcazou@adacore.com>
366         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
367         comment about type extension with discriminants.
368         <E_Record_Subtype>: Remove useless test and reorder conditions.
369         (elaborate_entity) <E_Record_Subtype>: Likewise.
371 2013-01-07  Richard Biener  <rguenther@suse.de>
373         PR ada/864
374         * gcc-interface/Make-lang.in (ada.install-common): Always apply
375         program_transform_name.
377 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
379         * gnatvsn.ads (Current_Year): Bump to 2013.
381 2013-01-06  Olivier Hainque  <hainque@adacore.com>
383         * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
384         diagnostic for component size mismatch wrt volatile requirements.
385         Add a gcc_unreachable() at the end of the checks for size.  Split
386         the check on volatile for positions into one check on atomic and
387         a subsequent one on volatile.
389 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
391         * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
393 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
395         * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
396         pack the field of the record type made for a misaligned type.
398 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
400         * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
401         for discriminants inherited from parent record types.
403 2013-01-04  Robert Dewar  <dewar@adacore.com>
405         * warnsw.adb: Minor fixes to -gnatw.d handling.
407 2013-01-04  Robert Dewar  <dewar@adacore.com>
409         * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
410         fields.
412 2013-01-04  Joel Brobecker  <brobecker@adacore.com>
414         * gnat_ugn.texi: Fix typo.
416 2013-01-04  Robert Dewar  <dewar@adacore.com>
418         * gnat_rm.texi: Document alignment choice for subtypes.
420 2013-01-04  Robert Dewar  <dewar@adacore.com>
422         * validsw.ads: Minor fix to comment.
424 2013-01-04  Doug Rupp  <rupp@adacore.com>
426         * Makefile.rtl (GNATRTL_NONTASKING_OBJS,
427         GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
428         * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
429         (GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
430         Rename leon vxworks toolchain as leon-wrs-vxworks.
431         * gcc-interface/Make-lang.in: Update dependencies
433 2013-01-04  Pascal Obry  <obry@adacore.com>
435         * prj.ads (For_Each_Source): Add Locally_Removed parameter.
436         (Source_Iterator): Add Locally_Removed field.
437         * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
438         (Next): Likewise.
440 2013-01-04  Robert Dewar  <dewar@adacore.com>
442         * exp_attr.adb: Minor reformatting.
444 2013-01-04  Robert Dewar  <dewar@adacore.com>
446         * checks.adb (Insert_Valid_Check): Fix handling of renamed
447         packed array element.
448         * exp_ch4.adb (Expand_Concatenate): Fix some missing parent
449         fields in generated code.
450         * exp_util.adb (Side_Effect_Free): Improve detection of cases
451         needing renaming.
453 2013-01-04  Robert Dewar  <dewar@adacore.com>
455         * sinfo.ads: Clean up order of N_xxx subtypes
457 2013-01-04  Vincent Celier  <celier@adacore.com>
459         * prj-conf.adb (Check_Target): Allow --autoconf= with no target.
461 2013-01-04  Robert Dewar  <dewar@adacore.com>
463         * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
465 2013-01-04  Robert Dewar  <dewar@adacore.com>
467         * par-ch6.adb (P_Subprogram): Better handling of missing IS
468         after expression function.
469         * par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
471 2013-01-04  Robert Dewar  <dewar@adacore.com>
473         * exp_util.ads, exp_util.adb (Insert_Actions): In expression with
474         actions case, new actions are appended to the sequence rather than
475         prepended.
477 2013-01-04  Robert Dewar  <dewar@adacore.com>
479         * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
480         * usage.adb: Add lines for -gnatw.d/w.D switches.
481         * warnsw.adb: Minor fixes (some missing cases of setting
482         Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
484 2013-01-04  Robert Dewar  <dewar@adacore.com>
486         * exp_util.adb (Remove_Side_Effects): Make sure scope suppress
487         is restored on exit.
489 2013-01-04  Robert Dewar  <dewar@adacore.com>
491         * usage.adb: Document -gnateF (check overflow for predefined Float).
493 2013-01-04  Robert Dewar  <dewar@adacore.com>
495         * sem_res.adb (Resolve_Type_Conversion): Remove incorrect
496         prevention of call to Apply_Type_Conversion_Checks, which resulted
497         in missing check flags in formal mode.
499 2013-01-04  Vincent Celier  <celier@adacore.com>
501         * makeutl.ads (Db_Switch_Args): New table used by gprbuild.
502         * prj-conf.adb (Check_Builder_Switches): Check for switches
503         --config= (Get_Db_Switches): New procedure to get the --db
504         switches so that they are used when invoking gprconfig in
505         auto-configuration.
506         (Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
508 2013-01-04  Pascal Obry  <obry@adacore.com>
510         * prj-nmsc.adb: Minor reformatting.
512 2013-01-04  Vincent Celier  <celier@adacore.com>
514         * makeutl.ads (Root_Environment): New variable, moved rom
515         gprbuild (Load_Standard_Base): New Boolean variable, moved
516         from gprbuild.
517         * prj-conf.adb (Check_Builder_Switches): New procedure to check
518         for switch --RTS in package Builder. If a runtime specified
519         by --RTS is a relative path name, but not a base name, then
520         find the path on the Project Search Path.
521         (Do_Autoconf): Call Check_Builder_Switches.
522         (Locate_Runtime): New procedure, moved from gprbuild, to get the
523         absolute paths of runtimes when they are not specified as a base name.
524         * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
526 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
528         * sem_ch3.adb (Build_Private_Derived_Type): Set
529         Has_Private_Ancestor on type derived from an untagged private
530         type whose full view has discriminants
531         * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
532         aggregate for untagged record type with private ancestor.
534 2013-01-04  Thomas Quinot  <quinot@adacore.com>
536         * sem_elab.adb, sem_ch3.adb: Minor reformatting.
538 2013-01-04  Robert Dewar  <dewar@adacore.com>
540         * table.adb: Minor reformatting.
542 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
544         * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
545         not come from source does not generate a warning for redundant
546         with_clauses.
548 2013-01-04  Hristian Kirtchev  <kirtchev@adacore.com>
550         * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
551         * par-prag.adb: Add pragma Global to the list of pragmas that
552         do not need special processing by the parser.
553         * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
554         Global into a pragma without any form of legality checks. The
555         work is done by Analyze_Pragma. The aspect and pragma are both
556         marked as needing delayed processing.  Insert the corresponding
557         pragma of aspect Abstract_State in the visible declarations of the
558         related package.
559         (Check_Aspect_At_Freeze_Point): Aspect Global
560         does not need processing even though it is marked as delayed.
561         Alphabetize the list on aspect names.
562         * sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
563         (Analyze_Pragma): Add ??? comment about the grammar of pragma
564         Abstract_State.  Move the error location from the pragma to the
565         state to improve the quality of error placement.  Add legality
566         checks for pragma Global.
567         * snames.ads-tmpl Add the following specially recognized names
569 2013-01-04  Eric Botcazou  <ebotcazou@adacore.com>
571         * sem_ch3.adb: Fix minor typo.
573 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
575         * par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
576         accept an aspect name followed by a comma, indicating a defaulted
577         boolean aspect.
579 2013-01-04  Joel Brobecker  <brobecker@adacore.com brobecker>
581         * gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
582         Update doc on gnattest --separates switch.
584 2013-01-04  Thomas Quinot  <quinot@adacore.com>
586         * s-chepoo.ads: Minor reformatting.
588 2013-01-04  Arnaud Charlet  <charlet@adacore.com>
590         * usage.adb: Remove mention of -gnatN in usage.
592 2013-01-04  Robert Dewar  <dewar@adacore.com>
594         * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
595         freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
596         prj-conf.adb, sem_ch13.adb: Minor reformatting.
598 2013-01-04  Thomas Quinot  <quinot@adacore.com>
600         * sinfo.ads: Minor documentation update.
602 2013-01-04  Thomas Quinot  <quinot@adacore.com>
604         * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
605         before resolving initialization expression.
607 2013-01-04  Hristian Kirtchev  <kirtchev@adacore.com>
609         * checks.adb (Generate_Index_Checks): Delay the generation of
610         the check for an indexed component where the prefix mentions
611         Loop_Entry until the attribute has been properly expanded.
612         * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
613         decoration of the constant that captures the value of Loop_Entry's
614         prefix at the entry point into a loop.  Generate index checks
615         for an attribute reference that has been transformed into an
616         indexed component.
618 2013-01-04  Thomas Quinot  <quinot@adacore.com>
620         * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
621         sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
622         do if Obj is already frozen.
623         (Exp_Util.Find_Init_Call): Rename to...
624         (Exp_Util.Remove_Init_Call): New subprogram, renamed from
625         Find_Init_Call.  Remove the initialization call from the enclosing
626         list if found, and if it is from an Initialization_Statements
627         attribute, reset it.
628         (Exp_Util.Append_Freeze_Action): Minor code reorganization.
629         (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
630         allocated (as is already done in Append_Freeze_Action).
631         (Freeze.Freeze_Entity): For an object with captured
632         Initialization_Statements and non-delayed freezeing, unwrap the
633         initialization statements and insert and them directly in the
634         enclosing list.
635         (Sem_Ch13.Check_Address_Clause): For an object
636         with Initialization_Statements and an address clause, unwrap the
637         initialization statements when moving them to the freeze actions.
639 2013-01-03  Pascal Obry  <obry@adacore.com>
641         * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
642         corresponding attibutes.
644 2013-01-03  Thomas Quinot  <quinot@adacore.com>
646         * exp_aggr.adb: Minor comment improvement.
648 2013-01-03  Hristian Kirtchev  <kirtchev@adacore.com>
650         * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
651         relevant tables.
652         * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
653         the description of fields (Abstract_States): New routine.
654         (Integrity_Level): New routine.
655         (Has_Property): New routine.
656         (Is_Input_State): New routine.
657         (Is_Null_State): New routine.
658         (Is_Output_State): New routine.
659         (Is_Volatile_State): New routine.
660         (Refined_State): New routine.
661         (Set_Abstract_States): New routine.
662         (Set_Integrity_Level): New routine.
663         (Set_Refined_State): New routine.
664         (Write_Field8_Name): Add proper output for E_Abstract_State.
665         (Write_Field9_Name): Add proper output for E_Abstract_State.
666         (Write_Field25_Name): Add proper output for E_Package.
667         * lib-xref.ads: Add new letter for an abstract state.
668         * par-prag.adb: Add pragma Abstract_State to the list of pragma
669         that do not need special processing by the parser.
670         * sem_ch13.adb (Analyze_Aspect_Specifications): Convert
671         aspect Abstract_State into a pragma without any form
672         of legality checks. The work is done by Analyze_Pragma.
673         (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
674         require delayed analysis.
675         * sem_prag.adb: Add a value for pragma Abstract_State in table
676         Sig_Flags.
677         (Analyze_Pragma): Add legality checks for pragma
678         Abstract_State. Analysis of individual states introduces a state
679         abstraction entity into the visibility chain.
680         * snames.ads-tmpl: Add new names for abstract state and
681         integrity. Add new pragma id for abstract state.
683 2013-01-03  Bob Duff  <duff@adacore.com>
685         * table.adb (Reallocate): Calculate new Length in
686         Long_Integer to avoid overflow.
688 2013-01-03  Thomas Quinot  <quinot@adacore.com>
690         * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
691         (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
692         it is set properly when expanding the initialization expression.
693         (Freeze.Check_Address_Clause): Transfer initialization expression
694         to an assignment in the freeze actions, so that the object is
695         initialized only after being elaborated by GIGI.
696         (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
697         a Null_Statement as the expression in an Expression_With_Actions.
698         (Exp_Aggr.Collect_Initialization_Statements): New subprogram
699         shared by expansion of record and array aggregates, used to
700         capture statements for an aggregate used to initalize an object
701         into an Expression_With_Actions (which acts as a container for
702         a list of actions).
703         (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
704         capture initialization statements, instead of the previously
705         existing loop which left freeze nodes out of the capturing
706         construct (causing out of order elaboration crashes in GIGI).
707         (Exp_Aggr.Expand_Array_Aggregate):  Use the above to capture
708         initialization statements (this was previously not done for
709         arrays).  Also do not unconditionally prevent in place expansion
710         for an object with address clause.
712 2013-01-03  Thomas Quinot  <quinot@adacore.com>
714         * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
715         a record extension has the same scalar storage order as the parent type.
717 2013-01-03  Thomas Quinot  <quinot@adacore.com>
719         * exp_ch4.adb: Add comment.
721 2013-01-03  Vincent Celier  <celier@adacore.com>
723         * prj.adb: Minor spelling error correction in comment.
725 2013-01-03  Vincent Celier  <celier@adacore.com>
727         * gnatcmd.adb (GNATCmd): If a single main has been specified
728         as an absolute path, use its simple file name to find specific
729         switches, instead of the absolute path.
731 2013-01-03  Javier Miranda  <miranda@adacore.com>
733         * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
734         parameters that are record types or array types generate warnings
735         only compiling under -gnatw.i
736         * opt.ads (Extensions_Allowed): Restore previous documentation.
738 2013-01-03  Vincent Celier  <celier@adacore.com>
740         * prj-conf.adb (Do_Autoconf): If Target is specified in the
741         main project, but not on the command line, use the Target in
742         the project to invoke gprconfig in auto-configuration.
743         * makeutl.ads (Default_Config_Name): New constant String.
745 2013-01-03  Arnaud Charlet  <charlet@adacore.com>
747         * usage.adb: Minor: fix typo in usage.
749 2013-01-03  Thomas Quinot  <quinot@adacore.com>
751         * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
752         an illegal component clause for an inherited component in a
753         record extension.
755 2013-01-03  Emmanuel Briot  <briot@adacore.com>
757         * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
758         have information in the ALI file for both the index and the component
759         types.
761 2013-01-03  Emmanuel Briot  <briot@adacore.com>
763         * projects.texi: Fix error in documenting the project path
764         computed for an aggregate project.
766 2013-01-03  Javier Miranda  <miranda@adacore.com>
768         * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
769         plus restricting the functionality of this routine to cover the
770         cases described in the Ada 2012 reference manual. The previous
771         extended support is now available under -gnatX.
772         * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
773         variable to call Timed_Sleep.  Required to avoid warning on
774         overlapping out-mode actuals.
775         * opt.ads (Extensions_Allowed): Update documentation.
777 2013-01-03  Tristan Gingold  <gingold@adacore.com>
779         * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
780         * arit64.c: Removed
781         * gcc-interface/Makefile.in: Remove reference to arit64.c.
783 2013-01-03  Thomas Quinot  <quinot@adacore.com>
785         * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
786         be generated at the start of the freeze actions for the entity, not
787         before (or after) the freeze node.
789 2013-01-03  Thomas Quinot  <quinot@adacore.com>
791         * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
792         Reorganize code to capture initialization statements in a block,
793         so that freeze nodes are excluded from the captured block.
795 2013-01-03  Thomas Quinot  <quinot@adacore.com>
797         * exp_ch11.adb: Minor reformatting.
799 2013-01-03  Thomas Quinot  <quinot@adacore.com>
801         * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
802         sem_ch13.adb (Einfo.Initialization_Statements,
803         Einfo.Set_Initialization_Statements): New entity attribute
804         for objects.
805         (Exp_Util.Find_Init_Call): Handle case of an object initialized
806         by an aggregate converted to a block of assignment statements.
807         (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
808         even for objects that require a constant address, because the
809         address expression might involve entities that have yet to be
810         elaborated at the point of the object declaration.
811         (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
812         not require a transient scope, capture the assignment statements
813         in a block so that they can be moved down after elaboration of
814         an address clause if needed.
815         (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
816         case N_Unchecked_Conversion): Do not replace operand subtype with
817         its base type as this violates a GIGI invariant if the operand
818         is an identifier (in which case the etype of the identifier
819         is expected to be equal to that of the denoted entity).
821 2013-01-03  Javier Miranda  <miranda@adacore.com>
823         * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
824         functionality of this routine to cover cases described in the Ada 2012
825         reference manual.
827 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
829         * sem_elab.adb (Set_Elaboration_Constraint): Handle properly
830         a 'Access attribute reference when the subprogram is called
831         Initialize.
833 2013-01-03  Arnaud Charlet  <charlet@adacore.com>
835         * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
836         select statement may be called from a controlled (e.g. Initialize)
837         operation and have abort always deferred.
839 2013-01-03  Robert Dewar  <dewar@adacore.com>
841         * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
843 2013-01-03  Javier Miranda  <miranda@adacore.com>
845         * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
846         internal entities associated with interfaces and add minimum
847         decoration to the defining entity of the generated wrapper to
848         allow overriding interface primitives.
849         * sem_disp.ads (Override_Dispatching_Operation): Addition of a
850         new formal (Is_Wrapper).
851         * sem_disp.adb (Override_Dispatching_Operation): When overriding
852         interface primitives the new formal helps identifying that the
853         new operation is not fully decorated.
855 2013-01-03  Thomas Quinot  <quinot@adacore.com>
857         * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
858         rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
859         (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
860         Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
861         update spec accordingly (now also applies to root library units).
862         (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
863         on root library units, not only child units.
864         (Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
865         (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
866         even for root library units.
867         (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
868         Standard is an expanded name for a root library unit.
870 2013-01-03  Thomas Quinot  <quinot@adacore.com>
872         * exp_ch3.adb: Minor reformatting.
874 2013-01-03  Olivier Hainque  <hainque@adacore.com>
876         * tracebak.c: Reinstate changes to support ppc-lynx178.
878 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
880         * atree.ads: Minor reformatting and documentation enhancement.
882 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
884         * exp_ch3.adb (Expand_N_Object_Declaration): If the object has
885         a class-wide type and a renaming declaration is created for it,
886         preserve entity chain, which already contains generated internal
887         types. This ensures that freezing actions are properly generated
888         for all objects declared subsequently in the same scope, and
889         that debugging information is generated for them.
890         * sem_util.adb, sem_util.ads (we): New debugging routine, to
891         display entity chain of a given scope.
893 2013-01-03  Robert Dewar  <dewar@adacore.com>
895         * exp_intr.adb: Minor reformatting.
897 2013-01-03  Robert Dewar  <dewar@adacore.com>
899         * einfo.adb: Minor reformatting.
901 2013-01-03  Pascal Obry  <obry@adacore.com>
903         * adaint.c, adaint.h (__gnat_get_module_name): Removed.
904         (__gnat_is_module_name_supported): Removed.
905         * s-win32.ads: Add some needed definitions.
906         * g-trasym.ads: Update comments.
908 2013-01-03  Robert Dewar  <dewar@adacore.com>
910         * layout.adb (Set_Composite_Alignment): Fix problems of
911         interactions with Optimize_Alignment set to Space.
913 2013-01-03  Thomas Quinot  <quinot@adacore.com>
915         * exp_disp.adb: Minor reformatting.
917 2013-01-02  Richard Biener  <rguenther@suse.de>
919         PR bootstrap/55784
920         * gcc-interface/Makefile.in: Add $(GMPINC) to includes.
922 2013-01-02  Thomas Quinot  <quinot@adacore.com>
924         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove
925         side effects from Tag_Arg early, doing it too late may cause a
926         crash due to inconsistent Parent link.
927         * sem_ch8.adb, einfo.ads: Minor reformatting.
929 2013-01-02  Robert Dewar  <dewar@adacore.com>
931         * einfo.ads, einfo.adb (Has_Independent_Components): New flag.
932         * freeze.adb (Size_Known): We do not know the size of a packed
933         record if it has atomic components, by reference type components,
934         or independent components.
935         * sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new
936         flag Has_Independent_Components.
938 2013-01-02  Yannick Moy  <moy@adacore.com>
940         * opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
941         * usage.adb (Usage): Update usage message.
943 2013-01-02  Pascal Obry  <obry@adacore.com>
945         * adaint.c (__gnat_is_module_name_supported): New constant.
947 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
949         * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
950         array whose component type does not have a completion.
952 2013-01-02  Geert Bosch  <bosch@adacore.com>
954         * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure.
956 2013-01-02  Robert Dewar  <dewar@adacore.com>
958         * par_sco.adb: Minor reformatting.
960 2013-01-02  Javier Miranda  <miranda@adacore.com>
962         * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code.
964 2013-01-02  Olivier Hainque  <hainque@adacore.com>
966         * a-exctra.ads (Get_PC): New function.
968 2013-01-02  Thomas Quinot  <quinot@adacore.com>
970         * sem_ch8.adb: Minor reformatting.
972 2013-01-02  Thomas Quinot  <quinot@adacore.com>
974         * sem_ch7.adb: Minor reformatting.
976 2013-01-02  Thomas Quinot  <quinot@adacore.com>
978         * freeze.adb (Check_Component_Storage_Order): Do not crash on
979         _Tag component.
981 2013-01-02  Robert Dewar  <dewar@adacore.com>
983         * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
984         On_Target to Atomic_Sync_Default.
986 2013-01-02  Robert Dewar  <dewar@adacore.com>
988         * sem_warn.adb (Warn_On_Known_Condition): Suppress warning for
989         comparison of attribute result with constant
990         * a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma
991         Warnings (Off, "..");
993 2013-01-02  Yannick Moy  <moy@adacore.com>
995         * sem_prag.ads: Minor correction of comment.
997 2013-01-02  Thomas Quinot  <quinot@adacore.com>
999         * par_sco.adb (Traverse_Package_Declaration): The first
1000         declaration in a nested package is dominated by the preceding
1001         declaration in the enclosing scope.
1003 2013-01-02  Pascal Obry  <obry@adacore.com>
1005         * adaint.c, adaint.h (__gnat_get_module_name): Return the actual
1006         module containing a given address.
1008 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1010         * sem_ch3.adb: Minor reformatting.
1012 2013-01-02  Pascal Obry  <obry@adacore.com>
1014         * cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
1015         Win64 and default to ftell on other platforms.
1016         (__gnat_fsek64): Likewise.
1017         * i-cstrea.ads: Add fssek64 and ftell64 specs.
1018         * s-crtl.ads: Likewise.
1019         * a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
1020         (Set_Position): Likewise.
1022 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1024         * par_sco.adb: Generate X SCOs for default expressions in
1025         subprogram body stubs.  Do not generate any SCO for package,
1026         task, or protected body stubs.
1028 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
1030         * sem_ch3.adb: Further improvement to ASIS mode for anonymous
1031         access to protected subprograms.
1033 2013-01-02  Robert Dewar  <dewar@adacore.com>
1035         * par_sco.adb, vms_data.ads: Minor reformatting.
1037 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1039         * par_sco.adb (Traverse_Declarations_Or_Statement): Function
1040         form, returning value of Current_Dominant upon exit, for chaining
1041         purposes.
1042         (Traverse_Declarations_Or_Statement.Traverse_One, case
1043         N_Block_Statement): First statement is dominated by last declaration.
1044         (Traverse_Subprogram_Or_Task_Body): Ditto.
1045         (Traverse_Package_Declaration): First private
1046         declaration is dominated by last visible declaration.
1047         (Traverse_Sync_Definition): Ditto.
1049 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1051         * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
1052         matching Bit_Order to record types only, since array types do not
1053         have a Bit_Order.
1055 2013-01-02  Vincent Celier  <celier@adacore.com>
1057         * gnat_ugn.texi: Remove documentation of -gnateO, which is an
1058         internal switch.
1059         * usage.adb: Indicate that -gnateO is an internal switch.
1061 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1063         * par_sco.adb: Add SCO generation for task types and single
1064         task declarations.
1065         * get_scos.adb: When adding an instance table entry for a
1066         non-nested instantiation, make sure the Enclosing_Instance is
1067         correctly set to 0.
1069 2013-01-02  Hristian Kirtchev  <kirtchev@adacore.com>
1071         * sem_attr.adb (Analyze_Attribute): Skip the special _Parent
1072         scope generated for subprogram inlining purposes while trying
1073         to locate the enclosing function.
1074         * sem_prag.adb (Analyze_Pragma): Preanalyze the boolean
1075         expression of pragma Postcondition when the pragma comes from
1076         source and appears inside a subprogram body.
1078 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1080         * switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation
1081         information in debug info unconditionally when using -fdump-scos,
1082         instead of relying on a separate command line switch -fdebug-instances.
1083         * gcc-interface/Make-lang.in: Update dependencies.
1085 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
1087         * sem_ch12.adb: Additional refinement of predicate.
1089 2013-01-02  Vincent Celier  <celier@adacore.com>
1091         * vms_data.ads: Remove incorrect spaces at end of descriptions
1092         of qualifiers for single switch.
1094 2013-01-02  Ben Brosgol  <brosgol@adacore.com>
1096         * gnat_rm.texi: Minor edits / wordsmithing in section on pragma
1097         Check_Float_Overflow.
1099 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1101         * sprint.adb (Sprint_Node_Actual): Do not add extra parens for
1102         a conditional expression (CASE or IF expression) that already
1103         has parens. Also omit ELSE keyword for an IF expression without
1104         an ELSE part.
1106 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1108         * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
1109         flag_debug_instances here, after front-end switches have been
1110         processed.
1112 2013-01-02  Vincent Celier  <celier@adacore.com>
1114         * usage.adb: Minor reformatting.
1116 2013-01-02  Arnaud Charlet  <charlet@adacore.com>
1118         * opt.ads: Fix typo.
1120 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1122         * par_sco.adb: Generate P decision SCOs for SPARK pragmas
1123         Assume and Loop_Invariant.
1125 2013-01-02  Robert Dewar  <dewar@adacore.com>
1127         * vms_data.ads: Add entry for Float_Check_Valid (-gnateF).
1128         * ug_words: Add entry for Float_Check_Overflow.
1129         * usage.adb: Minor reformatting.
1130         * gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow).
1132 2013-01-02  Vincent Celier  <celier@adacore.com>
1134         * gnat_ugn.texi: Add documentation for switches -gnateA, -gnated,
1135         -gnateO=, -gnatet and -gnateV.
1136         * ug_words: Add qualifiers equivalent to -gnateA, -gnated,
1137         -gnatet and -gnateV.
1138         * usage.adb: Add lines for -gnatea, -gnateO and -gnatez.
1139         * vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK
1140         (-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated),
1141         /PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO
1142         (-gnatet).
1144 2013-01-02  Robert Dewar  <dewar@adacore.com>
1146         * checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow.
1147         * opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config].
1148         * par-prag.adb: Add dummy entry for pragma Check_Float_Overflow.
1149         * sem_prag.adb: Implement pragma Check_Float_Overflow.
1150         * snames.ads-tmpl: Add entries for pragma Check_Float_Overflow.
1151         * switch-c.adb: Recognize -gnateF switch.
1152         * tree_io.ads: Update ASIS version number.
1153         * gnat_rm.texi: Add documentation of pragma Check_Float_Overflow.
1155 2013-01-02  Robert Dewar  <dewar@adacore.com>
1157         * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
1158         exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
1159         freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
1160         par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
1161         sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
1162         sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
1163         * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.
1165 2013-01-02  Robert Dewar  <dewar@adacore.com>
1167         * err_vars.ads: Minor comment fix.
1169 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
1171         * sem_ch12.adb: Refine predicate.
1173 2013-01-02  Robert Dewar  <dewar@adacore.com>
1175         * errout.ads: Minor comment fixes.
1176         * opt.ads: Minor comment additions.
1177         * exp_aggr.adb: Add tags to warning messages
1178         * exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
1179         sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
1180         sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
1181         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
1182         sem_warn.adb: Add tags to warning messages
1184 2013-01-02  Doug Rupp  <rupp@adacore.com>
1186         * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
1188 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
1190         * sem_ch12.adb: Recover source name for renamed packagea.
1192 2013-01-02  Robert Dewar  <dewar@adacore.com>
1194         * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing
1195         tests to fail if insertion sequence is at end of message string.
1196         * opt.ads: Minor comment fixes and additions.
1197         * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb,
1198         sem_ch12.adb, sem_ch13.adb: Add tags to warning messages.
1199         * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message
1200         tags. Add tags to warning messages.
1202 2013-01-02  Robert Dewar  <dewar@adacore.com>
1204         * err_vars.ads (Warning_Doc_Switch): New flag.
1205         * errout.adb (Error_Msg_Internal): Implement new warning flag
1206         doc tag stuff (Set_Msg_Insertion_Warning): New procedure.
1207         * errout.ads: Document new insertion sequences ?? ?x? ?.x?
1208         * erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc
1209         tag stuff.
1210         * erroutc.ads (Warning_Msg_Char): New variable.
1211         (Warn_Chr): New field in error message object.
1212         * errutil.adb (Error_Msg): Set Warn_Chr in error message object.
1213         * sem_ch13.adb: Minor reformatting.
1214         * warnsw.adb: Add handling for -gnatw.d and -gnatw.D
1215         (Warning_Doc_Switch).
1216         * warnsw.ads: Add handling of -gnatw.d/.D switches (warning
1217         doc tag).
1219 2013-01-02  Robert Dewar  <dewar@adacore.com>
1221         * opt.ads: Minor reformatting.
1223 2013-01-02  Doug Rupp  <rupp@adacore.com>
1225         * init.c: Reorganize VMS section.
1226         (scan_condtions): New function for scanning condition tables.
1227         (__gnat_handle_vms_condtion): Use actual exception name for imported
1228         exceptions vice IMPORTED_EXCEPTION.
1229         Move condition table scanning into separate function. Move formerly
1230         special handled conditions to system condition table. Use SYS$PUTMSG
1231         output to fill exception message field for formally special handled
1232         condtions, in particular HPARITH to provide more clues about cause and
1233         location then raised from the translated image.
1235 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1237         * sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post
1238         aspect that applies to a library subprogram, prepend corresponding
1239         pragma to the Pragmas_After list, in order for split AND THEN
1240         sections to be processed in the expected order.
1242 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1244         * exp_prag.adb (Expand_Pragma_Check): The statements generated
1245         for the pragma must have the sloc of the pragma, not the
1246         sloc of the condition, otherwise this creates anomalies in the
1247         generated debug information that confuse coverage analysis tools.
1249 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1251         * sem_ch13.adb: Minor reformatting.
1253 2013-01-02  Arnaud Charlet  <charlet@adacore.com>
1255         * g-excact.ads (Core_Dump): Clarify that this subprogram does
1256         not dump cores under Windows.
1258 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
1260         * sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
1261         view of a subprogram has convention Intrnnsic, and a renaming
1262         of a prefixed view cannot be the prefix of an Access attribute.
1264 2013-01-02  Robert Dewar  <dewar@adacore.com>
1266         * restrict.adb: Minor reformatting.
1268 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1270         * exp_prag.adb: Minor reformatting.
1272 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
1274         * sem_ch12.adb (Get_Associated_Node): If the node is an
1275         identifier that denotes an unconstrained array in an object
1276         declaration, it is rewritten as the name of an anonymous
1277         subtype whose bounds are given by the initial expression in the
1278         declaration. When checking whether that identifier is global
1279         reference, use the original node, not the local generated subtype.
1281 2013-01-02  Olivier Hainque  <hainque@adacore.com>
1283         * tracebak.c: Revert previous change, incomplete.
1285 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
1287         * sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
1288         appears on a subprogram body that acts as a spec, place the
1289         corresponding pragma in the declarations of the body, so that
1290         e.g. pre/postcondition checks can be generated appropriately.
1292 2013-01-02  Robert Dewar  <dewar@adacore.com>
1294         * sem_ch3.adb: Minor reformatting and code reorganization.
1296 2013-01-02  Vincent Celier  <celier@adacore.com>
1298         * switch-m.adb (Normalize_Compiler_Switches): Record the
1299         complete switch -fstack-check=specific instead of its shorter
1300         alias -fstack-check.
1302 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
1304         * sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
1305         if the derived type is a tagged generic formal type with
1306         unknown discriminants, the inherited operation has convention
1307         Intrinsic. As such, the 'Access attribute cannot be applied to it.
1309 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1311         * sem_attr.adb: Minor reformatting.
1313 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1315         * par_sco.adb: Add SCO generation for S of protected types and
1316         single protected object declarations.
1318 2013-01-02  Robert Dewar  <dewar@adacore.com>
1320         * sem_eval.adb, osint.ads: Minor reformatting.
1322 2013-01-02  Hristian Kirtchev  <kirtchev@adacore.com>
1324         * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
1326 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1328         * sem_eval.adb (Compile_Time_Compare): For static operands, we
1329         can perform a compile time comparison even if in preanalysis mode.
1331 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1333         * par_sco.adb (SCO_Record): Always use
1334         Traverse_Declarations_Or_Statements to process the library level
1335         declaration, so that SCOs are properly generated for its aspects.
1337 2013-01-02  Thomas Quinot  <quinot@adacore.com>
1339         * scos.ads (In_Decision): Add missing entry for 'a'.
1340         * sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
1341         call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
1342         * sem_ch13.adb: Minor comment update.
1344 Copyright (C) 2013 Free Software Foundation, Inc.
1346 Copying and distribution of this file, with or without modification,
1347 are permitted in any medium without royalty provided the copyright
1348 notice and this notice are preserved.