aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/doc
AgeCommit message (Collapse)AuthorFilesLines
2020-06-16[Ada] Minor casing of " The " after a comma in docs and commentsPiotr Trojanek1-1/+1
2020-06-16 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * checks.adb, doc/gnat_ugn/the_gnat_compilation_model.rst, einfo.ads, exp_ch5.adb, exp_ch7.adb, lib-xref.ads, libgnat/g-spitbo.ads, make.adb, sem_aux.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, urealp.adb: Fix wrong casing. * gnat_ugn.texi: Regenerate.
2020-06-10[Ada] Fix gnatmetric switches descriptionVasiliy Fofanov1-2/+2
2020-06-10 Vasiliy Fofanov <fofanov@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Fix gnatmetric switches description.
2020-06-09[Ada] gnatpp: documentation for --no-separate-return switchBob Duff1-0/+8
2020-06-09 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for the --no-separate-return switch of gnatpp.
2020-06-08[Ada] Remove processing of SPARK_05 restrictionArnaud Charlet1-144/+1
2020-06-08 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * exp_aggr.adb, exp_ch6.adb, par-ch11.adb, par-ch6.adb, par-ch7.adb, par-prag.adb, restrict.adb, restrict.ads, scans.ads, scng.adb, sem_aggr.adb, sem_attr.adb, sem_ch11.adb, sem_ch12.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, snames.ads-tmpl, gnatbind.adb, libgnat/s-rident.ads, doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: Remove processing of SPARK_05 restriction. * gnat_rm.texi: Regenerate. * opt.ads: Remove processing of old checksum which is now handled by gprbuild directly.
2020-06-08[Ada] Add gnatname use for multiple units files supportPhilippe Gil1-16/+11
2020-06-08 Philippe Gil <gil@adacore.com> gcc/ada/ * doc/gnat_ugn/the_gnat_compilation_model.rst: in "Handling Files with Multiple Units" part documents gnatname use for unmodified files handling and gnatchop use for files refactoring. * gnat_ugn.texi: Regenerate.
2020-06-08[Ada] Update doc on Enum_Rep/Enum_ValArnaud Charlet1-0/+6
2020-06-08 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_attributes.rst: Enum_Rep/Enum_Val are standard Ada 202x attributes. * gnat_rm.texi: Regenerate.
2020-06-05[Ada] Fix punctuation in description of Enum_Rep attributePiotr Trojanek1-1/+1
2020-06-05 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_attributes.rst (Enum_Rep): Remove extra colon. * gnat_rm.texi: Regenerate.
2020-06-04[Ada] Remove OpenACC supportArnaud Charlet1-152/+0
2020-06-04 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * back_end.adb, opt.ads, par-prag.adb, sem_ch5.adb, sem_prag.adb, sinfo.adb, sinfo.ads, snames.ads-tmpl, doc/gnat_rm/implementation_defined_pragmas.rst: Remove experimental support for OpenACC. * gcc-interface/misc.c, gcc-interface/trans.c, gcc-interface/lang.opt: Ditto. * gnat_rm.texi: Regenerate. gcc/testsuite/ * gnat.dg/openacc1.adb: Remove testcase.
2020-06-03[Ada] Remove ASIS tree generationArnaud Charlet1-33/+0
2020-06-03 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * aspects.adb, aspects.ads, atree.adb, atree.ads, elists.adb, elists.ads, fname.adb, fname.ads, gnat1drv.adb, lib.adb, lib.ads, namet.adb, namet.ads, nlists.adb, nlists.ads, opt.adb, opt.ads, osint-c.adb, osint-c.ads, repinfo.adb, repinfo.ads, sem_aux.adb, sem_aux.ads, sinput.adb, sinput.ads, stand.ads, stringt.adb, stringt.ads, switch-c.adb, table.adb, table.ads, uintp.adb, uintp.ads, urealp.adb, urealp.ads (Tree_Read, Tree_Write): Remove generation of ASIS trees. * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Remove -gnatt and -gnatct documentation. * gnat_ugn.texi: Regenerate. * tree_in.ads, tree_in.adb, tree_io.ads, tree_io.adb, tree_gen.ads, tree_gen.adb, stand.adb: Remove. * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove references to tree_gen.o tree_in.o tree_io.o.
2020-06-02[Ada] gnatpp: documentation for --RM-style-spacingBob Duff1-1/+2
2020-06-02 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Update documentation for --RM-style-spacing.
2020-06-02[Ada] gnatpp: documentation for --[no-]compact switchBob Duff1-5/+32
2020-06-02 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for --[no-]compact switch.
2020-05-30Ability to build the GNAT runtime with project filesArnaud Charlet1-8/+10
This change add project files to provide the ability to rebuild the runtime with gprbuild after setup-rts is called. gcc/ada/ * Makefile.rtl (ADA_INCLUDE_SRCS): Replace Makefile.adalib by libada.gpr and associated project files. (g-debpoo.o): Add missing rule to ensure subprograms are not reordered. (setup-rts): Add generation of libgnat/libgnarl.lst. (LIBGNAT_SRCS): Remove thread.c which is part of libgnarl. * tracebak.c, tb-gcc.c: Merged the two files to simplify dependencies. * libgnarl/libgnarl.gpr, libgnat/libada.gpr, libgnat/libgnat.gpr, libgnat/libgnat_common.gpr: New files. * doc/gnat_ugn/the_gnat_compilation_model.rst: Makefile.adalib replaced by libada.gpr. * libgnat/system-mingw.ads: Remove obsolete comment. * gcc-interface/Makefile.in: Remove dependency on tb-gcc.c.
2020-05-25[Ada] Change pragma Compile_Time_Error to force compile-time evaluationYannick Moy1-4/+7
2020-05-25 Yannick Moy <moy@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Document changes to pragmas Compile_Time_Error/Compile_Time_Warning. * gnat_rm.texi: Regenerate. * libgnat/g-bytswa.adb: Change uses of Compile_Time_Error to Compile_Time_Warning, as the actual expression may not always be known statically. * sem_prag.adb (Analyze_Pragma): Handle differently pragma Compile_Time_Error in both compilation and in GNATprove mode. (Validate_Compile_Time_Warning_Or_Error): Issue an error or warning when the expression is not known at compile time. * usage.adb: Add missing documentation for warning switches _c and _r. * warnsw.ads: Update comment.
2019-12-18[Ada] Fix three-letter typos like "sss" in comments and docsPiotr Trojanek3-3/+3
2019-12-18 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst, doc/gnat_rm/obsolescent_features.rst, doc/gnat_ugn/gnat_and_program_execution.rst, exp_attr.adb, exp_ch9.adb, init.c, libgnat/s-valrea.adb, par-ch6.adb, sem_attr.adb, sem_ch4.adb, sem_util.ads: Fix trivial typos. * gnat_rm.texi, gnat_ugn.texi: Regenerate. From-SVN: r279514
2019-12-16[Ada] Correct documentation of -gnatw_C switchBob Duff1-1/+1
2019-12-16 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Correct documentation of -gnatw_C switch * gnat_ugn.texi: Regenerate. From-SVN: r279417
2019-12-16[Ada] Reword the impact of -minimal on the debuggerJoel Brobecker1-1/+4
2019-12-16 Joel Brobecker <brobecker@adacore.com> gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst (_Switches_for_gnatbind): Reword the section explaining the impact of -minimal on debugging. * gnat_ugn.texi: Regenerate. From-SVN: r279416
2019-12-16[Ada] Implement new legality rules introduced in C.6(13) by AI12-0128Eric Botcazou1-1/+1
2019-12-16 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst (VFA): Document extension of the no-aliasing rule to any subcomponent. * freeze.adb (Freeze_Object_Declaration): Small comment tweak. (Freeze_Record_Type): Do not deal with delayed aspect specifications for components here but... (Freeze_Entity): ...here instead. * sem_ch12.adb (Instantiate_Object): Improve wording of errors given for legality rules in C.6(12) and implement the new rule in C.6(13). * sem_res.adb (Resolve_Actuals): Likewise. * sem_prag.adb (Check_Atomic_VFA): New procedure implementing the new legality rules in C.6(13). (Process_Atomic_Independent_Shared_Volatile): Call Check_Atomic_VFA to check the legality rules. Factor out code marking types into... (Mark_Type): ...this new procedure. (Check_VFA_Conflicts): Do not check the legality rules here. (Pragma_Atomic_Components): Call Check_Atomic_VFA on component type. * sem_util.ads (Is_Subcomponent_Of_Atomic_Object): Declare. * sem_util.adb (Is_Subcomponent_Of_Atomic_Object): New predicate. * gnat_rm.texi: Regenerate. From-SVN: r279412
2019-12-13[Ada] Minor rewording of one sentenceGary Dismukes1-2/+2
2019-12-13 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Minor rewording of one sentence. * gnat_rm.texi: Regenerate. From-SVN: r279368
2019-12-13[Ada] implementation_defined_pragmas.rst: Update Initialize_Scalars docsGhjuvan Lacambre1-2/+4
2019-12-13 Ghjuvan Lacambre <lacambre@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Update Initialize_Scalars documentation. * gnat_rm.texi: Regenerate. From-SVN: r279366
2019-12-13[Ada] Minor tweak to Volatile_Full_Access wording in GNAT RMEric Botcazou1-3/+3
2019-12-13 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Minor tweak to Volatile_Full_Access wording in GNAT RM. * gnat_rm.texi: Regenerate. From-SVN: r279354
2019-12-12[Ada] Fix repeated words and typos in doc and commentsPiotr Trojanek1-2/+1
2019-12-12 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * libgnat/g-altive.ads: Fix typo in comment. * bindo-graphs.adb: Fix repeated words in comment. * exp_ch4.adb: Likewise. * exp_ch5.adb: Likewise. * exp_ch7.adb: Likewise. * exp_pakd.adb: Likewise. * exp_unst.adb: Likewise. * exp_util.adb: Likewise. * freeze.adb: Likewise. * inline.adb: Likewise. * layout.adb: Likewise. * sem_ch12.adb: Likewise. * sem_ch13.adb: Likewise. * sem_ch4.adb: Likewise. * sem_ch9.adb: Likewise. * sem_elab.adb: Likewise. * doc/gnat_ugn/gnat_and_program_execution.rst: Fix repeated words in user documentation. * gnat_ugn.texi: Regenerate. From-SVN: r279294
2019-12-12[Ada] Update gnatmetric documentation for average lengthsBob Duff1-4/+2
2019-12-12 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Update gnatmetric documentation for average lengths From-SVN: r279282
2019-10-10[Ada] Mention GNAT Studio instead of GPSAnthony Leonardo Gracio4-10/+10
2019-10-10 Anthony Leonardo Gracio <leonardo@adacore.com> gcc/ada/ * doc/gnat_ugn/about_this_guide.rst, doc/gnat_ugn/building_executable_programs_with_gnat.rst, doc/gnat_ugn/getting_started_with_gnat.rst, doc/gnat_ugn/gnat_and_program_execution.rst, errout.ads, exp_ch3.adb, gnatls.adb, impunit.adb, lib-writ.ads, opt.ads, sem_ch7.adb, sem_prag.adb, sem_res.adb, sem_warn.adb, terminals.c: Replace GPS by GNAT Studio. * gnat_ugn.texi: Regenerate. From-SVN: r276815
2019-09-19[Ada] Accept concatentation arguments to pragma AnnotateSteve Baird1-1/+2
In cases where pragma Annotate accepts a string literal as an argument, we now also accept a concatenation of string literals. 2019-09-19 Steve Baird <baird@adacore.com> gcc/ada/ * sem_prag.adb (Preferred_String_Type): A new function. Given an expression, determines whether the preference rules defined for the third-and-later arguments of pragma Annotate suffice to determine the type of the expression. If so, then the preferred type is returned; if not then Empty is returned. Handles concatenations. (Analyze_Pragma): Replace previous code, which dealt only with string literals, with calls to the new Preferred_String_Type function, which also handles concatenations. * doc/gnat_rm/implementation_defined_pragmas.rst: Update documentation for pragma Annotate. * gnat_rm.texi: Regenerate. gcc/testsuite/ * gnat.dg/annotation1.adb: New testcase. From-SVN: r275957
2019-09-18[Ada] Fix minor formatting issueVasiliy Fofanov1-1/+1
2019-09-18 Vasiliy Fofanov <fofanov@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Fix minor formatting issue. From-SVN: r275854
2019-09-18[Ada] Improve doc on Warning_As_ErrorArnaud Charlet1-2/+4
2019-09-18 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Improve doc on Warning_As_Error. * gnat_rm.texi: Regenerate. From-SVN: r275842
2019-09-18[Ada] Remove remaining references to VMS supportArnaud Charlet3-8/+4
2019-09-18 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_characteristics.rst, doc/gnat_rm/implementation_defined_pragmas.rst, doc/gnat_rm/implementation_of_specific_ada_features.rst: Remove remaining references to VMS support * gnat_rm.texi: Regenerate. From-SVN: r275841
2019-09-17[Ada] Clarify documentation for Stack_UsageBob Duff1-1/+4
Clarify the documentation for Stack_Usage (both comments in the code, and user documentation) to note that tools like Valgrind won't work. 2019-09-17 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_and_program_execution.rst: Clarify documentation. * gnat_ugn.texi: Regenerate. * libgnat/s-stausa.ads: Clarify comments. From-SVN: r275787
2019-09-17[Ada] Remove section on pragma No_Run_TimeEd Falis1-16/+0
This pragma has been long obsolescent and confuses users. 2019-09-17 Ed Falis <falis@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Remove section. * gnat_rm.texi, gnat_ugn.texi: Regenerate. From-SVN: r275784
2019-08-21[Ada] doc/Makefile: automatically create doc/share/_staticJoel Brobecker1-5/+9
2019-08-21 Joel Brobecker <brobecker@adacore.com> gcc/ada/ * doc/Makefile (mk_empty_dirs): New (PHONY) rule. (%.html, %.pdf, %.txt, %.info, %.texinfo): Add dependencies on mk_empty_dirs. From-SVN: r274775
2019-08-21[Ada] Max_Entry_Queue_Length aspect for protected entriesJustin Squirek1-2/+4
Allow values of negative one to be accepted as a valid parameter as a special case. 2019-08-21 Justin Squirek <squirek@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Modify documentation to reflect expected behavior. * gnat_rm.texi: Regenerate. * sem_prag.adb (Analyze_Pragma): Modify handling of pragma Max_Entry_Queue_Length to not reject integer values of negative one. * sem_util.adb (Get_Max_Queue_Length): Add processing for values of negative one to fit within the current scheme. From-SVN: r274774
2019-08-20[Ada] Minor reformattingsGary Dismukes2-3/+3
2019-08-20 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * ali.adb, ali.ads, aspects.adb, checks.ads, checks.adb, doc/gnat_rm/implementation_defined_pragmas.rst, doc/gnat_ugn/building_executable_programs_with_gnat.rst, einfo.ads, exp_aggr.adb, exp_ch11.adb, exp_ch3.ads, exp_ch4.adb, exp_disp.adb, inline.adb, libgnat/a-locale.ads, libgnat/s-soflin.ads, par_sco.adb, repinfo.adb, sem_ch5.adb, sem_disp.adb, sem_elab.adb, sem_eval.adb, sem_spark.adb, sem_spark.ads, sinfo.ads: Minor reformattings, typo fixes and and rewordings. From-SVN: r274737
2019-08-20[Ada] New pragma Aggregate_Individually_AssignPatrick Bernardi1-0/+15
Where possible GNAT will store the binary representation of a record aggregate in memory for space and performance reasons. This configuration pragma changes this behaviour so that record aggregates are instead always converted into individual assignment statements. The following package pack.ads: -- pack.ads pragma Aggregate_Individually_Assign; pragma Restrictions (No_Multiple_Elaboration); package Pack is type A_Rec is record A, B, C, D : Boolean; end record; A : A_Rec := (True, False, True, True); end Pack; when compiled with gcc -c -gnatdg pack.ads should produce the following output: Source recreated from tree for Pack (spec) ------------------------------------------ pragma aggregate_individually_assign; pragma restrictions (no_multiple_elaboration); package pack is type pack__a_rec is record a : boolean; b : boolean; c : boolean; d : boolean; end record; freeze pack__a_rec [ procedure pack__a_recIP (_init : out pack__a_rec) is begin %push_constraint_error_label () %push_program_error_label () %push_storage_error_label () null; %pop_constraint_error_label %pop_program_error_label %pop_storage_error_label return; end pack__a_recIP; ] pack__a : pack__a_rec := ( a => true, b => false, c => true, d => true); pack__a.a := true; pack__a.b := false; pack__a.c := true; pack__a.d := true; null; end pack; 2019-08-20 Patrick Bernardi <bernardi@adacore.com> gcc/ada/ * exp_aggr.adb (Expand_Record_Aggregate): Always convert a record Aggregate to assignment statements if the option Aggregate_Individually_Assign is set. * opt.ads (Aggregate_Individually_Assign): New option. * par-prag.adb (Prag): Add Pragma_Aggregate_Individually_Assign. * sem_prag.adb (Analyze_Pragma): Likewise. * snames.ads-tmpl: Add Pragma_Aggregate_Individually_Assign and Name_Aggregate_Individually_Assign. * doc/gnat_rm/implementation_defined_pragmas.rst: Document pragma Aggregate_Individually_Assign. * gnat_rm.texi: Regenerate. From-SVN: r274730
2019-08-20[Ada] Warning for out-of-order record representation clausesBob Duff1-2/+21
The compiler can now warn for out-of-order record representation clauses. A warning is given if the order of component declarations, component clauses, and bit-level layout do not all agree. The warning is disabled by default, and may be enabled by the -gnatw_r switch. 2019-08-20 Bob Duff <duff@adacore.com> gcc/ada/ * sem_ch13.adb (Component_Order_Check): New procedure to check for out-of-order clauses. * warnsw.ads, warnsw.adb: New -gnatw_r switch. * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Document new switch. * gnat_ugn.texi: Regenerate. From-SVN: r274723
2019-08-20[Ada] Pragma Warning_As_Error works for style warningsBob Duff1-11/+14
Pragma Warning_As_Error now works for style warnings (messages that start with "(style)", enabled by -gnaty) the same way it works for regular warnings enabled by -gnatw. The following test should fail to build with style checks: gnat.adc: pragma Warning_As_Error ("two spaces required"); style.adb: procedure Style is X : Integer; begin null; --Hello end; gnatmake -q -f -g style.adb -gnaty should get: style.adb:2:04: warning: variable "X" is never read and never assigned style.adb:5:06: error: (style) two spaces required [warning-as-error] style.adb:6:01: (style) "end Style" required gnatmake: "style.adb" compilation error and no executable should be created. 2019-08-20 Bob Duff <duff@adacore.com> gcc/ada/ * errout.adb (Error_Msg_Internal): Set Warn_Err in case of Is_Style_Msg. * erroutc.adb (Output_Msg_Text): Do Warnings_Treated_As_Errors processing and [warning-as-error] modification for style messages. Clean up code, simplify, remove unnecessary block statement, add renaming of table entry. * erroutc.ads (Warning_Treated_As_Error): Fix comment: no such thing as Set_Warning_As_Error. * opt.ads: Clean up comments and move related declarations near each other. * par-prag.adb: Process Warning_As_Error. This is necessary because many style warning happen during parsing. * sem_prag.adb: Use new Acquire_Warning_Match_String. * sem_util.ads, sem_util.adb (Acquire_Warning_Match_String): New function shared by par-prag.adb and sem_prag.adb. Replaces the procedure in sem_prag.adb. Avoid use of global variables. * stringt.ads, stringt.adb (To_String): New function to convert String_Id to String. * doc/gnat_rm/implementation_defined_pragmas.rst: Document the new feature. * gnat_rm.texi: Regenerate. From-SVN: r274721
2019-08-20[Ada] Document requirements for Pragma Lock_FreeArnaud Charlet1-0/+18
2019-08-20 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Document requirements for Pragma Lock_Free. * gnat_rm.texi: Regenerate. From-SVN: r274717
2019-08-19[Ada] Fix documentation for stream oriented attributesBob Duff1-14/+14
2019-08-19 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_advice.rst: Fix documentation for stream oriented attributes. * gnat_rm.texi: Regenerate. From-SVN: r274666
2019-08-19[Ada] Document missing gnatmetric switchesBob Duff1-1/+56
2019-08-19 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Document missing metrics switches. From-SVN: r274646
2019-08-14[Ada] Alignment may be specified as zeroBob Duff1-20/+22
An Alignment clause or an aspect_specification for Alignment may be specified as 0, which is treated the same as 1. 2019-08-14 Bob Duff <duff@adacore.com> gcc/ada/ * sem_ch13.adb (Get_Alignment_Value): Return 1 for Alignment 0, and do not give an error. * doc/gnat_rm/representation_clauses_and_pragmas.rst: Update the corresponding documentation. * gnat_rm.texi: Regenerate. gcc/testsuite/ * gnat.dg/alignment15.adb: New testcase. From-SVN: r274473
2019-08-14[Ada] Warn about unknown condition in Compile_Time_WarningBob Duff1-1/+25
The compiler now warns if the condition in a pragma Compile_Time_Warning or Compile_Time_Error does not have a compile-time-known value. The warning is not given for pragmas in a generic template, but is given for pragmas in an instance. The -gnatw_c and -gnatw_C switches turn the warning on and off. The default is on. 2019-08-14 Bob Duff <duff@adacore.com> gcc/ada/ * sem_prag.ads, sem_prag.adb (Process_Compile_Time_Warning_Or_Error): In parameterless version, improve detection of whether we are in a generic unit to cover the case of an instance within a generic unit. (Process_Compile_Time_Warning_Or_Error): Rename the two-parameter version to be Validate_Compile_Time_Warning_Or_Error, and do not export it. Issue a warning if the condition is not known at compile time. The key point is that the warning must be given only for pragmas deferred to the back end, because the back end discovers additional values that are known at compile time. Previous changes in this ticket have enabled this by deferring to the back end without checking for special cases such as 'Size. (Validate_Compile_Time_Warning_Or_Error): Rename to be Defer_Compile_Time_Warning_Error_To_BE. * warnsw.ads, warnsw.adb (Warn_On_Unknown_Compile_Time_Warning): Add new switches -gnatw_c and -gnatw_C to control the above warning. * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Document new switches. * gnat_ugn.texi: Regenerate. gcc/testsuite/ * gnat.dg/warn27.adb: New testcase. From-SVN: r274469
2019-08-14[Ada] Remove documentation of gnatelimArnaud Charlet1-267/+2
2019-08-14 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_and_program_execution.rst: Remove documentation of gnatelim. From-SVN: r274462
2019-08-13[Ada] Add/fix documentation for the Double_*_Alignment parametersEric Botcazou1-4/+6
2019-08-13 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst (-gnateT): Document Double_Float_Alignment parameter and fix description of Double_Scalar_Alignment parameter. * gnat_ugn.texi: Regenerate. From-SVN: r274337
2019-08-12[Ada] Remove doc for language version switchesBob Duff1-62/+33
Remove documentation for Ada language version switches, and note that they are no longer needed. These tools now silently ignore such switches, and process the file correctly no matter what version of Ada is used. 2019-08-12 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst (gnatmetric, gnatpp, gnatstub): Remove documentation for Ada language version switches, and note that they are no longer needed. From-SVN: r274299
2019-08-12[Ada] New aspect/pragma No_Caching for analysis of volatile dataYannick Moy2-0/+21
A new aspect/pragma can be attached to volatile variables to indicate that such a variable is not used for interactions with the external world, but only that accesses to that variable should not be optimized by the compiler. This is in particular useful for guarding against fault injection. SPARK Reference manual has been updated to allow this use of volatile data, see section 7.1.2, so that GNATprove can analyze such variables as not volatile. 2019-08-12 Yannick Moy <moy@adacore.com> gcc/ada/ * aspects.adb, aspects.ads (Aspect_No_Caching): New aspect. * contracts.adb, contracts.ads (Add_Contract_Item): Add handling of No_Caching. (Analyze_Object_Contract): Add handling of No_Caching. * einfo.adb, einfo.ads (Get_Pragma): Add handling of No_Caching. * doc/gnat_rm/implementation_defined_aspects.rst, doc/gnat_rm/implementation_defined_pragmas.rst: Document new aspect/pragma. * gnat_rm.texi: Regenerate. * par-prag.adb (Prag): New pragma Pragma_No_Caching. * sem_ch13.adb (Analyze_Aspect_Specifications, Check_Aspect_At_Freeze_Point): Add handling of No_Caching. * sem_prag.adb (Analyze_Pragma): Deal with pragma No_Caching. * sem_prag.ads (Analyze_External_Property_In_Decl_Part): Now applies to No_Caching. * sem_util.adb, sem_util.ads (Is_Effectively_Volatile): Add handling of No_Caching. (No_Caching_Enabled): New query function. * snames.ads-tmpl: New names for pragma. gcc/testsuite/ * gnat.dg/no_caching.adb, gnat.dg/no_caching.ads: New testcase. From-SVN: r274292
2019-07-11[Ada] Minimal binderPatrick Bernardi1-1/+10
The new minimal binder option ("-minimal") suppresses the generation of binder objects that are not strictly required for program operation. This option is suitable for space constrained applications and comes with the restriction that programs can no longer be debugged using GDB. 2019-07-11 Patrick Bernardi <bernardi@adacore.com> gcc/ada/ * bindgen.adb (Gen_Main): Do not generate a reference to Ada_Main_Program_Name when the Minimal_Binder flag is set. (Gen_Output_File_Ada): Do not output GNAT_Version and Ada_Main_Program_Name info if Minimal_Binder flag is set. * bindusg.adb: Add documentation for new -minimal switch. * gnatbind.adb (Scan_Bind_Arg): Scan -minimal switch. * opt.ads: Add new global flag Minimal_Binder to indicate if the binder should not produce global variables. * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update documentation with new binder -minimal switch. * gnat_ugn.texi: Regenerate. From-SVN: r273401
2019-07-11[Ada] Fix inconsistent documentation for gnatmetricBob Duff1-47/+43
One part said all metrics are enabled by default (which is now true), and another part said the coupling metrics are disabled by default (which is no longer true). 2019-07-11 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Fix inconsistent documentation for gnatmetric. * gnat_ugn.texi: Regenerate. From-SVN: r273391
2019-07-11[Ada] Document gnatpp's --spaces-only switchBob Duff1-0/+6
2019-07-11 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Document gnatpp's --spaces-only switch. From-SVN: r273390
2019-07-10[Ada] Improve gnatmem's doc for the depth switchArnaud Charlet1-8/+9
2019-07-10 Arnaud Charlet <charlet@adacore.com> gcc/ada * doc/gnat_ugn/gnat_and_program_execution.rst: Improve gnatmem's doc for the depth switch. From-SVN: r273346
2019-07-10[Ada] GNATpp: document the --source-line-breaks switchBob Duff1-0/+8
2019-07-10 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst: Document gnatpp's --source-line-breaks switch. From-SVN: r273345
2019-07-10[Ada] Documentation of Img attribute out of dateJustin Squirek2-7/+7
2019-07-10 Justin Squirek <squirek@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_attributes.rst: Add mention of 'Image attribute with 'Img's entry to mention additional added 2012 usage of Obj'Image. * doc/gnat_rm/implementation_defined_pragmas.rst: Correct mispelling of Async_Writers. * gnat_rm.texi: Regenerate. * sem_prag.adb (Analyze_Pragma): Correct mispelling of Async_Writers. * sem_util.adb (State_Has_Enabled_Property): Correct mispelling of Async_Writers. From-SVN: r273344