| 2017-10-10 Release Manager |
| |
| * GCC 5.5.0 released. |
| |
| 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling |
| of boolean rvalues to function calls. |
| |
| 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check. |
| |
| 2016-11-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| * gcc-interface/Make-lang.in (check-acats): Fix detection |
| of -j argument. |
| |
| 2016-11-13 Bob Duff <duff@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity): In assertion about known |
| Esize, protect with !is_type and change !Unknown_Esize to Known_Esize. |
| |
| 2016-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2016-10-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * gcc-interface/Make-lang.in (lang_checks_parallelized): New target. |
| (check_gnat_parallelize): Likewise. |
| |
| 2016-10-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * system-darwin-ppc64.ads (Support_64_Bit_Divides): Delete. |
| * system-linux-armeb.ads (Support_64_Bit_Divides): Likewise. |
| * system-linux-mips.ads (Support_64_Bit_Divides): Likewise. |
| * system-linux-mips64el.ads (Support_64_Bit_Divides): Likewise. |
| * system-linux-mipsel.ads (Support_64_Bit_Divides): Likewise. |
| * system-linux-sparcv9.ads (Support_64_Bit_Divides): Likewise. |
| * system-rtems.ads (Support_64_Bit_Divides): Likewise. |
| |
| 2016-10-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * system-aix.ads (Always_Compatible_Rep): Change to False. |
| * system-aix64.ads (Always_Compatible_Rep): Likewise. |
| * system-hpux-ia64.ads (Always_Compatible_Rep): Likewise. |
| * system-hpux.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-alpha.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-hppa.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-ia64.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-mips.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-mips64el.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-mipsel.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-s390.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-s390x.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-sh4.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-sparc.ads (Always_Compatible_Rep): Likewise. |
| * system-linux-sparcv9.ads (Always_Compatible_Rep): Likewise. |
| * system-rtems.ads (Always_Compatible_Rep): Likewise. |
| |
| 2016-10-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2016-10-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * system-linux-armeb.ads (Backend_Overflow_Checks): Change to True. |
| * system-linux-mips.ads (Backend_Overflow_Checks): Likewise. |
| * system-linux-mips64el.ads (Backend_Overflow_Checks): Likewise. |
| * system-linux-mipsel.ads (Backend_Overflow_Checks): Likewise. |
| * system-linux-sparcv9.ads (Backend_Overflow_Checks): Likewise. |
| * system-rtems.ads (Always_Compatible_Rep): Likewise. |
| |
| 2016-10-11 Eric Botcazou <ebotcazou@adacore.com> |
| Tristan Gingold <gingold@adacore.com> |
| |
| * system-linux-ppc64.ads: Delete. |
| * system-linux-ppc.ads: Make 32-bit/64-bit neutral. |
| * gcc-interface/Makefile.in (PowerPC/Linux): Simplify. |
| |
| 2016-10-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils.c (convert): For a biased input type, convert |
| the bias itself to the base type before adding it. |
| |
| 2016-06-03 Release Manager |
| |
| * GCC 5.4.0 released. |
| |
| 2016-05-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * s-osinte-kfreebsd-gnu.ads (clock_getres): Define. |
| |
| 2016-05-31 Jan Sommer <soja-lists@aries.uberspace.de> |
| |
| PR ada/71317 |
| * s-osinte-rtems.ads (clock_getres): Define. |
| |
| 2016-05-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/70969 |
| * system-darwin-ppc64.ads: Add pragma No_Elaboration_Code_All. |
| * system-linux-armeb.ads: Likewise. |
| * system-linux-mips64el.ads: Likewise. |
| * system-linux-mips.ads: Likewise. |
| * system-linux-mipsel.ads: Likewise. |
| * system-linux-ppc64.ads: Likewise. |
| * system-linux-sparcv9.ads: Likewise. |
| * system-rtems.ads: Likewise. |
| |
| 2016-05-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * gcc-interface/Makefile.in (install-gcc-specs): Use foreach. |
| Honor DESTDIR. |
| |
| 2016-04-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/70786 |
| * a-textio.adb (Get_Immediate): Add missing 'not' in expression. |
| |
| 2016-04-02 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (components_to_record): Restrict the previous |
| change to fields with variable size. |
| |
| 2016-03-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (components_to_record): Add special case for |
| single field with representation clause at offset 0. |
| |
| 2016-02-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Indexed_Component): Activate synchronization if |
| the prefix denotes an entity which Has_Atomic_Components. |
| |
| 2016-02-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/misc.c (gnat_enum_underlying_base_type): New function. |
| (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above. |
| |
| 2016-01-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/69219 |
| * gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider |
| the parent function instead of the current function in order to issue |
| the warning or the error. Add guard for ignored functions. |
| |
| 2015-12-06 Piotr Trojanek <piotr.trojanek@gmail.com> |
| |
| PR ada/60164 |
| * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo. |
| |
| 2015-12-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/56274 |
| * s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype. |
| (pthread_rwlockattr_t): Likewise. |
| |
| 2015-12-06 Ludovic Brenta <ludovic@ludovic-brenta.org> |
| |
| PR ada/49944 |
| * s-osinte-freebsd.ads: Minor reformatting. |
| (Stack_Base_Available): Correct comments. |
| * s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep, |
| clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size, |
| mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol |
| pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling, |
| pthread_attr_setscope, pthread_attr_getscope, |
| pthread_attr_setinheritsched, pthread_attr_getinheritsched, |
| Time_Slice_Supported): Copy from s-osinte-freebsd.ads. |
| * gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of |
| the System.Task_Primitives.Operations package. |
| |
| 2015-12-06 Ludovic Brenta <ludovic@ludovic-brenta.org> |
| |
| PR ada/49940 |
| * s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function. |
| |
| 2015-12-04 Jan Sommer <soja-lists@aries.uberspace.de> |
| |
| PR ada/68169 |
| * s-oscons-tmplt.c: Generate pthread constants for RTEMS |
| * s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada |
| |
| 2015-12-04 Release Manager |
| |
| * GCC 5.3.0 released. |
| |
| 2015-11-29 Matthias Klose <doko@ubuntu.com> |
| |
| PR ada/68564 |
| * gcc-interface/Makefile.in: Fix powerpc/powerpc64* and |
| mipsel/mips64el bitness detection. |
| Merge the mipsel/mips64el definitions into one. |
| |
| 2015-11-28 Matthias Klose <doko@ubuntu.com> |
| |
| PR ada/68564 |
| * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection. |
| |
| 2015-11-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (is_cplusplus_method): Check that the type of |
| the first parameter (indirectly) has C++ convention too. |
| |
| 2015-11-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If |
| the index is not itself constant then bail out. |
| |
| 2015-10-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/Make-lang.in: Make sure that GNAT1_OBJS and not just |
| GNAT1_ADA_OBJS are compiled only after generated files are created. |
| |
| 2015-07-16 Release Manager |
| |
| * GCC 5.2.0 released. |
| |
| 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * gcc-interface/utils.c (get_global_context): Register the main |
| translation unit through the new debug hook. |
| |
| 2015-06-04 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: If |
| processing a definition, create definitions for padding types |
| around return types. |
| |
| 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/Makefile.in: Fix ARM/Darwin configuration. |
| |
| 2015-04-22 Release Manager |
| |
| * GCC 5.1.0 released. |
| |
| 2015-04-09 Iain Sandoe <iain@codesourcery.com> |
| |
| * gcc-interface/Makefile.in (darwin, powerpc): Enable atomics. |
| |
| 2015-04-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not make |
| a function returning an unconstrained type 'const' for the middle-end. |
| |
| * gcc-interface/trans.c (Pragma_to_gnu) <case Pragma_Warning>: Use |
| exact condition to detect Reason => "..." pattern. |
| |
| 2015-03-31 Tom de Vries <tom@codesourcery.com> |
| |
| PR ada/65490 |
| * terminals.c (child_setup_tty): Fix warning 'argument to sizeof in |
| bzero call is the same expression as the destination'. |
| |
| 2015-03-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case. |
| |
| 2015-03-24 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch3.adb: Minor typo fix (missing paren). |
| |
| 2015-03-24 Robert Dewar <dewar@adacore.com> |
| |
| * sinfo.ads: Update comment. |
| |
| 2015-03-24 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb: Add entry for typ'Deref. |
| * sem_attr.adb (Deref): New GNAT attribute. |
| * sem_attr.ads: Add entry for new GNAT attribute Deref. |
| * snames.ads-tmpl: Add entries for new attribute Deref. |
| |
| 2015-03-24 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Rep_Item_Too_Early): allow pragma Convention |
| on generic type. |
| |
| 2015-03-24 Gary Dismukes <dismukes@adacore.com> |
| |
| * inline.adb: Minor typo fix. |
| |
| 2015-03-24 Arnaud Charlet <charlet@adacore.com> |
| |
| * doc/gnat_ugn/building_executable_programs_with_gnat.rst, |
| doc/gnat_ugn/gnat_utility_programs.rst |
| doc/gnat_rm/implementation_defined_attributes.rst |
| doc/gnat_rm/implementation_defined_pragmas.rst |
| doc/gnat_rm/representation_clauses_and_pragmas.rst |
| doc/gnat_rm/about_this_guide.rst |
| doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements. |
| * gnat_rm.texi, gnat_ugn.texi: Regenerate. |
| |
| 2015-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/65522 |
| * adadecode.c (ada_demangle): Guard with IN_RTS instead of IN_GCC. |
| |
| 2015-03-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/65451 |
| * gcc-interface/utils.c (gnat_pushdecl): Tidy up and improve comment. |
| Make sure to chain only main variants through TYPE_NEXT_PTR_TO. |
| |
| * gcc-interface/trans.c (Attribute_to_gnu): Revert latest change. |
| |
| 2015-03-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils2.c (gnat_invariant_expr): Return null if the type |
| of the expression ends up being composite. |
| |
| 2015-03-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (is_from_limited_with_of_main): New predicate. |
| (gnat_to_gnu_entity) <E_Subprogram_Type>: Invoke it on return and |
| parameter types to detect circularities in ASIS mode. |
| * gcc-interface/trans.c (Attribute_to_gnu): Mention AI05-0151. |
| |
| 2015-03-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: Do not |
| short-circuit the regular handling. |
| |
| 2015-03-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_unst.adb (Note_Uplevel_Reference): Eliminate duplicate |
| references. |
| (Actual_Ref): New function. |
| (AREC_String): Minor reformatting. |
| (Unnest_Subprogram): Use Actual_Ref. |
| * frontend.adb (Frontend): Turn off Unnest_Subprogram_Mode |
| before call to Instantiate_Bodies. |
| |
| 2015-03-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Freeze_Profile): If the return type of a function |
| being frozen is an untagged limited view and the function is |
| abstract, mark the type as frozen because there is no later |
| point at which the profile of the subprogram will be elaborated. |
| |
| 2015-03-13 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.adb, einfo.ads, atree.adb, atree.ads, atree.h: Add seventh |
| component to entities. Add new fields Field36-41 and Node36-41. |
| |
| 2015-03-13 Claire Dross <dross@adacore.com> |
| |
| * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Rewrite after review. |
| |
| 2015-03-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb (Is_Volatile_Reference): Compile time known |
| value is never considered to be a volatile reference. |
| |
| 2015-03-13 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Object_Contract): Suppress "constant |
| cannot be volatile" for internally generated object (such as |
| FIRST and LAST constants). |
| |
| 2015-03-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Validate_Access_Subprogram_Instance): If a |
| convention is specified for the formal parameter, verify that |
| the actual has the same convention. |
| * sem_prag.adb (Set_Convention_From_Pragma): Allow convention |
| pragma to be set on a generic formal type. |
| * sem_util.adb (Set_Convention): Ignore within an instance, |
| as it has already been verified in the generic unit. |
| |
| 2015-03-13 Claire Dross <dross@adacore.com> |
| |
| * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline |
| subprograms with unconstrained record parameters containing |
| Itype declarations. |
| * sinfo.ads Document GNATprove assumption that type should match |
| in the AST. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Contract): |
| Do not check for Refined_Depends and Refined_Globals contracts |
| as they are optional. |
| |
| 2015-03-13 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Instantiate_Type): For a floating-point type, |
| capture dimension info if any, because the generated subtype |
| declaration does not come from source and will not process dimensions. |
| * sem_dim,adb (Analyze_Dimension_Extension_Or_Record_Aggregate): |
| Do not analyze expressions with an initialization procedure |
| because aggregates will have been checked at the point of record |
| declaration. |
| |
| 2015-03-13 Robert Dewar <dewar@adacore.com> |
| |
| * aspects.ads, aspects.adb: Add entries for aspect Unimplemented. |
| * einfo.ads, einfo.adb (Is_Unimplemented): New flag. |
| * sem_ch13.adb: Add dummy entry for aspect Unimplemented. |
| * snames.ads-tmpl: Add entry for Name_Unimplemented. |
| |
| 2015-03-13 Gary Dismukes <dismukes@adacore.com> |
| |
| * style.adb (Missing_Overriding): Apply the |
| Comes_From_Source test to the Original_Node of the subprogram |
| node, to handle the case of a null procedure declaration that |
| has been rewritten as an empty procedure body. |
| |
| 2015-03-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.ads: Minor fix to comment. |
| * sem_ch3.adb (Constrain_Index): Correct pasto from previous |
| change. |
| |
| 2015-03-13 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.ads, exp_util.adb (Force_Evaluation): Add Related_Id and |
| Is_Low/High_Bound params. |
| * sem_ch3.adb (Constrain_Index): Use new Force_Evaluation calling |
| sequence to simplify generation of FIRST/LAST temps for bounds. |
| |
| 2015-03-12 Olivier Hainque <hainque@adacore.com> |
| |
| * gcc-interface/trans.c (Attribute_to_gnu) <Code_Address case>: |
| On targets where a function symbol designates a function descriptor, |
| fetch the function code address from the descriptor. |
| (USE_RUNTIME_DESCRIPTORS): Provide a default definition. |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb: Minor reformatting. |
| * init.c: Minor tweaks. |
| |
| 2015-03-04 Dmitriy Anisimko <anisimko@adacore.com> |
| |
| * a-coinho-shared.adb: Fix clear of already empty holder. |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_unst.adb (Check_Dynamic_Type): Ignore library level types. |
| (Check_Uplevel_Reference_To_Type): Ignore call inside generic. |
| (Note_Uplevel_Reference): Ignore call inside generic. |
| (Note_Uplevel_Reference): Fix check for no entity field. |
| (Unnest_Subprogram): Ignore call inside generic. |
| (Find_Current_Subprogram): Use Defining_Entity, not Defining_Unit_Name. |
| (Visit_Node): Ignore calls to Imported subprograms. |
| (Visit_Node): Fix problem in finding subprogram body in some cases. |
| (Add_Form_To_Spec): Use Defining_Entity, not Defining_Unit_Name. |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.adb (Is_ARECnF_Entity): Removed. |
| (Last_Formal): Remove special handling of Is_ARECnF_Entity. |
| (Next_Formal): Remove special handling of Is_ARECnF_Entity. |
| (Next_Formal_With_Extras): Remove special handling of Is_ARECnF_Entity. |
| (Number_Entries): Minor reformatting. |
| * einfo.ads (Is_ARECnF_Entity): Removed. |
| * exp_unst.adb (Unnest_Subprogram): Remove setting of |
| Is_ARECnF_Entity. |
| (Add_Extra_Formal): Use normal Extra_Formal circuit. |
| * sprint.adb (Write_Param_Specs): Properly handle case where |
| there are no source formals, but we have at least one Extra_Formal |
| present. |
| |
| 2015-03-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregate, |
| Add_Discriminant_Values): If the value is a reference to the |
| current instance of an enclosing type, use its base type to check |
| against prefix of attribute reference, because the target type |
| may be otherwise constrained. |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * atree.h: Add entries for Flag287-Flag309. |
| * einfo.adb: Add (unused) flags Flag287-Flag309. |
| |
| 2015-03-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Collect_Interfaces, Collect): When gathering |
| interfaces of ancestors, handle properly a subtype of a private |
| extension. |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal). |
| (Next_Formal): Don't return ARECnF formal. |
| (Last_Formal): Don't consider ARECnF formal. |
| (Next_Formal_With_Extras): Do consider ARECnF formal. |
| * einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal). |
| * exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag. |
| |
| 2015-03-04 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch6.adb (Expand_Simple_Function_Return): When the returned |
| object is a class-wide interface object and we generate the |
| accessibility described in RM 6.5(8/3) then displace the pointer |
| to the object to reference the base of the object (to get access |
| to the TSD of the object). |
| |
| 2015-03-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Analyze_Abstract_State): Use routine |
| Malformed_State_Error to issue general errors. |
| (Analyze_Pragma): Diagnose a syntax error related to a state |
| declaration with a simple option. |
| (Malformed_State_Error): New routine. |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * a-strsup.adb (Super_Slice): Deal with super flat case. |
| * einfo.ads: Minor reformatting. |
| * s-imgdec.adb (Set_Decimal_Digits): Add comment about possibly |
| redundant code. |
| |
| 2015-03-04 Claire Dross <dross@adacore.com> |
| |
| * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, |
| a-cforse.ads, a-cofove.ads: Use Default_Initial_Condition on formal |
| containers. |
| |
| 2015-03-04 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_warn.adb (Check_References): When checking for an unused |
| in-out parameter of a class- wide type, use its type to determine |
| whether it is private, in order to avoid a spurious warning when |
| subprogram spec and body are in different units. |
| |
| 2015-03-04 Yannick Moy <moy@adacore.com> |
| |
| * sem_attr.adb: Improve warning messages. |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest |
| generic subprograms. |
| * exp_unst.adb (Check_Dynamic_Type): Handle record types properly |
| (Note_Uplevel_Reference): Ignore uplevel references to non-types |
| (Get_Level): Consider only subprograms, not blocks. |
| (Visit_Node): Set proper condition for generating ARECnF entity. |
| Ignore indirect calls. Ignore calls to subprograms |
| outside our nest. |
| (Unnest_Subprogram): Minor changes in dealing with ARECnF entity. |
| (Add_Form_To_Spec): Properly set Last_Entity field. |
| (Unnest_Subprogram): Set current subprogram scope for analyze calls. |
| Handle case of no uplevel refs in outer subprogram |
| Don't mark uplevel entities as aliased. |
| Don't deal with calls with no ARECnF requirement. |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * s-valrea.adb (Scan_Real): Remove redundant tests from scaling loops. |
| * s-imgdec.adb (Set_Decimal_Digits): Remove redundant Max |
| operation in computing LZ. |
| * sem_attr.adb: Minor typo fix |
| |
| 2015-03-04 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch7.adb: Minor reformatting. |
| * exp_unst.adb (Build_Tables): Fix minor glitch for no separate |
| spec case. |
| * erroutc.adb (Delete_Msg): add missing decrement of info msg counter. |
| |
| 2015-03-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch6.adb (Build_Pragma_Check_Equivalent): Suppress |
| references to formal parameters subject to pragma Unreferenced. |
| (Suppress_Reference): New routine. |
| * sem_attr.adb (Analyze_Attribute): Reimplement the analysis |
| of attribute 'Old. Attributes 'Old and 'Result now share |
| common processing. |
| (Analyze_Old_Result_Attribute): New routine. |
| (Check_Placement_In_Check): Removed. |
| (Check_Placement_In_Contract_Cases): Removed. |
| (Check_Placement_In_Test_Case): Removed. |
| (Check_Use_In_Contract_Cases): Removed. |
| (Check_Use_In_Test_Case): Removed. |
| (In_Refined_Post): Removed. |
| (Is_Within): Removed. |
| * sem_warn.adb (Check_Low_Bound_Tested): Code cleanup. |
| (Check_Low_Bound_Tested_For): New routine. |
| |
| 2015-03-04 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch3.adb (Expand_N_Object_Declaration): |
| Generate a runtime check to test the expression of pragma |
| Default_Initial_Condition when the object is default initialized. |
| |
| 2015-03-02 Robert Dewar <dewar@adacore.com> |
| |
| * scng.adb (Scan): Ignore illegal character in relaxed |
| semantics mode. |
| |
| 2015-03-02 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Analyze_Set_Membership); Retain Overloaded flag |
| on left operand, so it can be properly resolved with type of |
| alternatives of right operand. |
| * sem_res.adb (Resolve_Set_Membership): Handle properly an |
| overloaded left-hand side when the alternatives on the right |
| hand side are literals of some universal type. Use first |
| non-overloaded alternative to find expected type. |
| |
| 2015-03-02 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch7.adb (Make_Set_Finalize_Address_Call): Use underlying |
| type to retrieve designated type, because the purported access |
| type may be a partial (private) view, when it is declared in |
| the private part of a nested package, and finalization actions |
| are generated when completing compilation of enclosing unit. |
| |
| 2015-03-02 Robert Dewar <dewar@adacore.com> |
| |
| * back_end.adb (Call_Back_End): Remove previous patch, |
| the back end now gets to see the result of -gnatd.1 |
| (Unnest_Subprogram_Mode) processing. |
| * elists.ads, elists.adb (List_Length): New function. |
| * exp_unst.ads, exp_unst.adb: Major changes, first complete version. |
| * sem_util.adb (Check_Nested_Access): Handle formals in |
| Unnest_Subprogram_Mode. |
| (Adjust_Named_Associations): Minor reformatting. |
| * sprint.adb (Sprint_Node_Actual): Fix failure to print aliased |
| for parameters. |
| |
| 2015-03-02 Robert Dewar <dewar@adacore.com> |
| |
| * atree.ads, atree.adb (Uint24): New function |
| (Set_Uint24): New procedure. |
| * atree.h (Uint24): New macro for field access. |
| * back_end.adb (Call_Back_End): For now, don't call back end |
| if unnesting subprogs. |
| * einfo.adb (Activation_Record_Component): New field |
| (Subps_Index): New field. |
| * einfo.ads (Activation_Record_Component): New field |
| (Subps_Index): New field Minor reordering of comments into alpha order. |
| * exp_unst.ads, exp_unst.adb: Continued development. |
| |
| 2015-03-02 Gary Dismukes <dismukes@adacore.com> |
| |
| * exp_disp.ads: Minor reformatting. |
| |
| 2015-03-02 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (Chain_Use_Clause): Do not chain use clause from |
| ancestor to list of use clauses active in descendant unit if we |
| are within the private part of an intervening parent, to prevent |
| circularities in use clause list. |
| |
| 2015-03-02 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch9.adb (Build_Corresponding_Record): Propagate type |
| invariants to the corresponding record type. |
| * exp_disp.ad[sb] (Set_DT_Position_Value): New subprogram |
| which sets the value of the DTC_Entity associated with a given |
| primitive of a tagged type and propagates the value to the |
| wrapped subprogram. |
| (Set_DTC_Entity_Value): Propagate the DTC |
| value to the wrapped entity. |
| * sem_ch13.adb (Build_Invariant_Procedure): Append the code |
| associated with invariants of progenitors. |
| * sem_ch3.adb (Build_Derived_Record_Type): Inherit type invariants |
| of parents and progenitors. |
| (Process_Full_View): Check hidden inheritance of class-wide type |
| invariants. |
| * sem_ch7.adb (Analyze_Package_Specification): Do not generate |
| the invariant procedure for interface types; build the invariant |
| procedure for tagged types inheriting invariants from their |
| progenitors. |
| * sem_prag.adb (Pragma_Invariant) Allow invariants in interface |
| types but do not build their invariant procedure since their |
| invariants will be propagated to the invariant procedure of |
| types covering the interface. |
| * exp_ch6.adb, exp_disp.adb, sem_ch3.adb, sem_ch7.adb, |
| sem_ch8.adb, sem_disp.adb: Replace all calls to Set_DT_Position |
| by calls to Set_DT_Position_Value. |
| |
| 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): Factor out heavily indented |
| code in Denote_Same_Function. Do not analyze attribute 'Result |
| when it is inside procedure _Postconditions. Remove a misplaced |
| warning diagnostic. Code cleanup. |
| (Denote_Same_Function): New routine. |
| * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Code |
| cleanup. Warn on pre/postconditions on an inlined subprogram. |
| (Analyze_Pragma, Refined_Post case): Warn on pre/postconditions on |
| an inlined subprogram. |
| (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. Warn on |
| pre/post condition on an inlined subprogram. |
| (Analyze_Test_Case_In_Decl_Part): Code cleanup. Warn on |
| pre/postconditions on an inlined subprogram. |
| (Check_Postcondition_Use_In_Inlined_Subprogram): New routine. |
| |
| 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Ensure_Aggregate_Form): |
| Ensure that the name denoted by the Chars of a pragma argument |
| association has the proper Sloc when converted into an aggregate. |
| |
| 2015-03-02 Bob Duff <duff@adacore.com> |
| |
| * sem_ch6.adb (Check_Private_Overriding): Capture |
| Incomplete_Or_Partial_View in a constant. This is cleaner and |
| more efficient. |
| |
| 2015-03-02 Gary Dismukes <dismukes@adacore.com> |
| |
| * einfo.ads, exp_unst.ads: Minor reformatting. |
| |
| 2015-03-02 Ed Schonberg <schonberg@adacore.com> |
| |
| * a-strsea.adb (Find_Token): Ensure that the range of iteration |
| does not perform any improper character access. This prevents |
| erroneous access in the unusual case of an empty string target |
| and a From parameter less than Source'First. |
| |
| 2015-03-02 Robert Dewar <dewar@adacore.com> |
| |
| * elists.adb (List_Length): Fix incorrect result. |
| |
| 2015-03-02 Bob Duff <duff@adacore.com> |
| |
| * sem_ch6.adb (Check_Private_Overriding): Refine the legality |
| checks here. It used to check that the function is merely |
| overriding SOMEthing. Now it checks that the function is |
| overriding a corresponding public operation. This is a correction |
| to the implementation of the rule in RM-3.9.3(10). |
| |
| 2015-03-02 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Document new debug flag -gnatd.1. |
| * einfo.ads, einfo.adb (Has_Nested_Subprogram): New flag. |
| (Has_Uplevel_Reference): New flag (Is_Static_Type): New flag. |
| (Uplevel_Reference_Noted):New flag (Uplevel_References): New field. |
| * elists.ads elists.adb (List_Length): New function. |
| * exp_ch6.adb (Expand_N_Subprogram_Body): Call Unnest_Subprogram |
| when appropriate (Process_Preconditions): Minor code |
| reorganization and reformatting |
| * exp_unst.ads, exp_unst.adb: New files. |
| * gnat1drv.adb (Adjust_Global_Switches): Set |
| Unnest_Subprogram_Mode if -gnatd.1 |
| * namet.ads, namet.adb (Name_Find_Str): New version of Name_Find with |
| string argument. |
| * opt.ads (Unnest_Subprogram_Mode): New flag. |
| * par-ch3.adb (P_Identifier_Declarations): Fixes to -gnatd.2 handling. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set |
| Has_Nested_Subprogram flag. |
| * sem_ch8.adb (Find_Direct_Name): New calling sequence for |
| Check_Nested_Access. |
| (Find_Selected_Component): Minor comment addition. |
| * sem_util.adb (Check_Nested_Access): New version for use with Exp_Unst. |
| (Note_Possible_Modification): New calling sequence for |
| Check_Nested_Access. |
| * sem_util.ads (Check_Nested_Access): New version for use with Exp_Unst. |
| * gcc-interface/Make-lang.in (GNAT1_OBJS): Add exp_unst.o |
| |
| 2015-03-02 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * gcc-interface/utils.c (gnat_pushdecl): For non-artificial pointer |
| types, preserve the original type and create copies just like the C |
| front-end does. For artificial ones, do not define a name for |
| the original type. |
| (create_type_decl): When gnat_pushdecl made the input type the |
| original type for the new declaration, do not define a stub |
| declaration for it. |
| * gcc-interface/utils2.c (build_binary_op): Accept two different |
| pointer types when they point to the same type. |
| |
| 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_util.adb (Possible_Bit_Aligned_Component): Do not process |
| an unanalyzed node. |
| * sem_util.adb (Kill_Current_Values): Do not invalidate and |
| de-null a constant. |
| |
| 2015-03-02 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, exp_attr.adb, checks.adb, exp_aggr.adb: Minor |
| reformatting. |
| |
| 2015-03-02 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb: extend use of Available_Subtype. |
| |
| 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Duplication_Error): Remove the special handling |
| of 'Class or _Class in the context of pre/postconditions. |
| (Process_Class_Wide_Condition): Remove the special handling of |
| 'Class or _Class in the context of pre/postconditions. |
| * sem_util.adb (Original_Aspect_Pragma_Name): Names Pre_Class |
| and Post_Class no longer need to be converted to _Pre and _Post. |
| * sem_util.ads (Original_Aspect_Pragma_Name): Update the comment |
| on usage. |
| |
| 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * exp_ch6.adb (Process_Preconditions): Modify the |
| mechanism that find the first source declaration to correct exit |
| the loop once it has been found. |
| |
| 2015-03-02 Gary Dismukes <dismukes@adacore.com> |
| |
| * a-strsea.adb: Minor typo fix. |
| |
| 2015-03-02 Bob Duff <duff@adacore.com> |
| |
| * einfo.ads: Minor comment fixes. |
| |
| 2015-03-02 Gary Dismukes <dismukes@adacore.com> |
| |
| * einfo.adb, checks.adb: Minor reformatting and typo fixes. |
| |
| 2015-03-02 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Get_Assoc_Expr): If the Default_Component_Value |
| is defined for the array type, use it instead of a Default_Value |
| specified for the component type itself. |
| |
| 2015-03-02 Thomas Quinot <quinot@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference, case Input): When |
| expanding a 'Input attribute reference for a class-wide type, |
| do not generate a separate object declaration for the controlling |
| tag dummy object; instead, generate the expression inline in the |
| dispatching call. Otherwise, the declaration (which involves a |
| call to String'Input, returning a dynamically sized value on the |
| secondary stack) will be expanded outside of proper secondary |
| stack mark/release operations, and will thus cause a secondary |
| stack leak. |
| |
| 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * checks.adb (Add_Validity_Check): Change the names of all |
| formal parameters to better illustrate their purpose. Update |
| the subprogram documentation. Update all occurrences of the |
| formal parameters. Generate a pre/postcondition pragma by |
| calling Build_Pre_Post_Condition. |
| (Build_PPC_Pragma): Removed. |
| (Build_Pre_Post_Condition): New routine. |
| * einfo.adb Node8 is no longer used as Postcondition_Proc. Node14 |
| is now used as Postconditions_Proc. Flag240 is now renamed to |
| Has_Expanded_Contract. (First_Formal): The routine can now |
| operate on generic subprograms. |
| (First_Formal_With_Extras): The routine can now operate on generic |
| subprograms. |
| (Has_Expanded_Contract): New routine. |
| (Has_Postconditions): Removed. |
| (Postcondition_Proc): Removed. |
| (Postconditions_Proc): New routine. |
| (Set_Has_Expanded_Contract): New routine. |
| (Set_Has_Postconditions): Removed. |
| (Set_Postcondition_Proc): Removed. |
| (Set_Postconditions_Proc): New routine. |
| (Write_Entity_Flags): Remove the output of Has_Postconditions. Add |
| the output of Has_Expanded_Contract. |
| (Write_Field8_Name): Remove the output of Postcondition_Proc. |
| (Write_Field14_Name): Add the output of Postconditions_Proc. |
| * einfo.ads New attributes Has_Expanded_Contract and |
| Postconditions_Proc along with occurrences in entities. |
| Remove attributes Has_Postconditions and Postcondition_Proc |
| along with occurrences in entities. |
| (Has_Expanded_Contract): New routine along with pragma Inline. |
| (Has_Postconditions): Removed along with pragma Inline. |
| (Postcondition_Proc): Removed along with pragma Inline. |
| (Postconditions_Proc): New routine along with pragma Inline. |
| (Set_Has_Expanded_Contract): New routine along with pragma Inline. |
| (Set_Has_Postconditions): Removed along with pragma Inline. |
| (Set_Postcondition_Proc): Removed along with pragma Inline. |
| (Set_Postconditions_Proc): New routine along with pragma Inline. |
| * exp_ch6.adb (Add_Return): Code cleanup. Update the |
| generation of the call to the _Postconditions routine of |
| the procedure. (Expand_Non_Function_Return): Reformat the |
| comment on usage. Code cleanup. Update the generation of |
| the call to the _Postconditions routine of the procedure or |
| entry [family]. |
| (Expand_Simple_Function_Return): Update the |
| generation of the _Postconditions routine of the function. |
| (Expand_Subprogram_Contract): Reimplemented. |
| * exp_ch6.ads (Expand_Subprogram_Contract): Update the parameter |
| profile along the comment on usage. |
| * exp_ch9.adb (Build_PPC_Wrapper): Code cleanup. |
| (Expand_N_Task_Type_Declaration): Generate pre/postconditions |
| wrapper when the entry [family] has a contract with |
| pre/postconditions. |
| * exp_prag.adb (Expand_Attributes_In_Consequence): New routine. |
| (Expand_Contract_Cases): This routine and its subsidiaries now |
| analyze all generated code. |
| (Expand_Old_In_Consequence): Removed. |
| * sem_attr.adb Add with and use clause for Sem_Prag. |
| (Analyze_Attribute): Reimplment the analysis of attribute 'Result. |
| (Check_Use_In_Test_Case): Use routine Test_Case_Arg to obtain |
| "Ensures". |
| * sem_ch3.adb (Analyze_Declarations): Analyze the contract of |
| a generic subprogram. |
| (Analyze_Object_Declaration): Do not create a contract node. |
| (Derive_Subprogram): Do not create a contract node. |
| * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do |
| not create a contract node. |
| (Analyze_Completion_Contract): New routine. |
| (Analyze_Function_Return): Alphabetize. |
| (Analyze_Generic_Subprogram_Body): Alphabetize. Do not create a |
| contract node. Do not copy pre/postconditions to the original |
| generic template. |
| (Analyze_Null_Procedure): Do not create a contract node. |
| (Analyze_Subprogram_Body_Contract): Reimplemented. |
| (Analyze_Subprogram_Body_Helper): Do not mark the enclosing scope |
| as having postconditions. Do not create a contract node. Analyze |
| the subprogram body contract of a body that acts as a compilation |
| unit. Expand the subprogram contract after the declarations have |
| been analyzed. |
| (Analyze_Subprogram_Contract): Reimplemented. |
| (Analyze_Subprogram_Specification): Do not create a contract node. |
| (List_Inherited_Pre_Post_Aspects): Code cleanup. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Update the |
| comment on usage. |
| (Analyze_Subprogram_Contract): Update the |
| parameter profile and the comment on usage. |
| * sem_ch7.adb (Analyze_Package_Body_Helper): Do not create a |
| contract node. |
| (Analyze_Package_Declaration): Do not create a |
| contract node. |
| (Is_Subp_Or_Const_Ref): Ensure that the prefix has an entity. |
| * sem_ch8.adb (Analyze_Subprogram_Renaming): Do not create a |
| contract node. |
| * sem_ch9.adb (Analyze_Entry_Declaration): Do not create a |
| contract node. |
| * sem_ch10.adb (Analyze_Compilation_Unit): Move local variables to |
| their proper section and alphabetize them. Analyze the contract of |
| a [generic] subprogram after all Pragmas_After have been analyzed. |
| (Analyze_Subprogram_Body_Stub_Contract): Alphabetize. |
| * sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not |
| create a contract node. |
| (Analyze_Generic_Subprogram_Declaration): |
| Alphabetize local variables. Do not create a contract |
| node. Do not generate aspects out of pragmas for ASIS. |
| (Analyze_Subprogram_Instantiation): Instantiate |
| the contract of the subprogram. Do not create a |
| contract node. (Instantiate_Contract): New routine. |
| (Instantiate_Subprogram_Body): Alphabetize local variables. |
| (Save_Global_References_In_Aspects): New routine. |
| (Save_References): Do not save the global references found within |
| the aspects of a generic subprogram. |
| * sem_ch12.ads (Save_Global_References_In_Aspects): New routine. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Do not use |
| Original_Node for establishing linkages. |
| (Insert_Pragma): Insertion in a subprogram body takes precedence over |
| the case where the subprogram body is also a compilation unit. |
| * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Use |
| Get_Argument to obtain the proper expression. Install the generic |
| formals when the related context is a generic subprogram. |
| (Analyze_Depends_In_Decl_Part): Use Get_Argument to obtain |
| the proper expression. Use Corresponding_Spec_Of to obtain |
| the spec. Install the generic formal when the related context |
| is a generic subprogram. |
| (Analyze_Global_In_Decl_Part): Use Get_Argument to obtain the proper |
| expression. Use Corresponding_Spec_Of to obtain the spec. Install the |
| generic formal when the related context is a generic subprogram. |
| (Analyze_Initial_Condition_In_Decl_Part): Use Get_Argument |
| to obtain the proper expression. Remove the call to |
| Check_SPARK_Aspect_For_ASIS as the analysis is now done |
| automatically. |
| (Analyze_Pragma): Update all occurrences |
| to Original_Aspect_Name. Pragmas Contract_Cases, Depends, |
| Extensions_Visible, Global, Postcondition, Precondition and |
| Test_Case now carry generic templates when the related context |
| is a generic subprogram. The same pragmas are no longer |
| forcefully fully analyzed when the context is a subprogram |
| that acts as a compilation unit. Pragmas Abstract_State, |
| Initial_Condition, Initializes and Refined_State have been clean |
| up. Pragmas Post, Post_Class, Postcondition, Pre, Pre_Class |
| and Precondition now use the same routine for analysis. Pragma |
| Refined_Post does not need to check the use of 'Result or |
| the lack of a post-state in its expression. Reimplement the |
| analysis of pragma Test_Case. |
| (Analyze_Pre_Post_Condition): New routine. |
| (Analyze_Pre_Post_Condition_In_Decl_Part): |
| Reimplemented. |
| (Analyze_Refined_Depends_In_Decl_Part): Use Get_Argument to obtain the |
| proper expression. |
| (Analyze_Refined_Global_In_Decl_Part): Use Get_Argument to obtain |
| the proper expression. |
| (Analyze_Test_Case_In_Decl_Part): Reimplemented. |
| (Check_Pre_Post): Removed. |
| (Check_Precondition_Postcondition): Removed. |
| (Check_SPARK_Aspect_For_ASIS): Removed. |
| (Check_Test_Case): Removed. |
| (Collect_Subprogram_Inputs_Outputs): Use Get_Argument |
| to obtain the proper expression. Use Corresponding_Spec_Of to |
| find the proper spec. |
| (Create_Generic_Template): New routine. |
| (Duplication_Error): New routine. |
| (Expression_Function_Error): New routine. |
| (Find_Related_Subprogram_Or_Body): Moved to the spec |
| of Sem_Prag. Emit precise error messages. Account for cases of |
| rewritten expression functions, generic instantiations, handled |
| sequence of statements and pragmas from aspects. |
| (Get_Argument): New routine. |
| (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed. |
| (Preanalyze_CTC_Args): Removed. |
| (Process_Class_Wide_Condition): New routine. |
| * sem_prag.ads (Analyze_Test_Case_In_Decl_Part): Update |
| the parameter profile along with the comment on usage. |
| (Find_Related_Subprogram_Or_Body): Moved from the body of Sem_Prag. |
| (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed. |
| (Test_Case_Arg): New routine. |
| * sem_util.adb Add with and use clauses for Sem_Ch6. |
| (Add_Contract_Item): This routine now creates a contract |
| node the first time an item is added. Remove the duplicate |
| aspect/pragma checks. |
| (Check_Result_And_Post_State): Reimplemented. |
| (Corresponding_Spec_Of): New routine. |
| (Get_Ensures_From_CTC_Pragma): Removed. |
| (Get_Requires_From_CTC_Pragma): Removed. |
| (Has_Significant_Contract): New routine. |
| (Inherit_Subprogram_Contract): Inherit only if the source |
| has a contract. |
| (Install_Generic_Formals): New routine. |
| (Original_Aspect_Name): Removed. |
| (Original_Aspect_Pragma_Name): New routine. |
| * sem_util.ads (Check_Result_And_Post_State): Reimplemented. |
| (Corresponding_Spec_Of): New routine. |
| (Get_Ensures_From_CTC_Pragma): Removed. |
| (Get_Requires_From_CTC_Pragma): Removed. |
| (Has_Significant_Contract): New routine. |
| (Install_Generic_Formals): New routine. |
| (Original_Aspect_Name): Removed. |
| (Original_Aspect_Pragma_Name): New routine. |
| * sem_warn.adb Add with and use clauses for Sem_Prag. |
| (Within_Postcondition): Use Test_Case_Arg to extract "Ensures". |
| |
| 2015-03-02 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb (Available_Subtype): Optimization in |
| Find_Selected_Component: when safe, use existing subtype of |
| array component, possibly discriminant-dependent, rather than |
| creating new subtype declaration for it. In this fashion different |
| occurrences of the component have the same subtype, rather than |
| just equivalent ones. Simplifies value tracing in GNATProve. |
| |
| 2015-03-01 Arnaud Charlet <charlet@adacore.com> |
| |
| PR ada/65259 |
| |
| * doc/gnat_ugn/gnat_project_manager.rst, |
| doc/gnat_ugn/platform_specific_information.rst: Remove reference to |
| image, too troublesome with texi format. |
| * gnat_ugn.texi: Regenerate. |
| |
| 2015-02-24 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/64625 |
| * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Remove. |
| (DEF_FUNCTION_TYPE_VAR_12): Likewise. |
| (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros. |
| |
| 2015-02-23 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Fix number of |
| arguments parameter. |
| (DEF_FUNCTION_TYPE_VAR_12): Likewise. |
| |
| 2015-02-22 Arnaud Charlet <charlet@adacore.com> |
| |
| * doc/Makefile: postprocess texinfo files to update @dircategory |
| and update texi files under gcc/ada. |
| * gnat_ugn.texi, gnat_rm.texi: Regenerated. |
| |
| 2015-02-22 Arnaud Charlet <charlet@adacore.com> |
| |
| * doc/gnat_ugn/project-manager-figure.png, |
| doc/gnat_ugn/rtlibrary-structure.png: New. |
| |
| 2015-02-22 Tom de Vries <tom@codesourcery.com> |
| |
| PR ada/65100 |
| * gnat-style.texi (@subsection Loop Statements): Replace @noindent by |
| @item, and fix warning '@itemize has text but no @item'. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma |
| legally applies to an abstract subprogram declaration. |
| * freeze.adb: Minor comment addition. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * errout.ads: Document replacement of Name_uPre/Post/Type_Invariant. |
| * erroutc.adb (Set_Msg_Str): Replace _xxx. |
| (Pre/Post/Type_Invariant) by xxx'Class. |
| * erroutc.ads (Set_Msg_Str): Replace _xxx. |
| (Pre/Post/Type_Invariant) by xxx'Class. |
| * sem_prag.adb (Fix_Error): Remove special casing of |
| Name_uType_Invariant. |
| (Analyze_Pre_Post_Condition_In_Decl_Part): Remove special casing of |
| Name_uPre and Name_uPost in aspect case (done in Errout now). |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * g-alveop.adb: Minor style fixes. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb (Warn_Overlay): Guard against blow up with address |
| clause. |
| |
| 2015-02-20 Bob Duff <duff@adacore.com> |
| |
| * exp_attr.adb (May_Be_External_Call): Remove this. There is no need |
| for the compiler to guess whether the call is internal or external -- |
| it is always external. |
| (Expand_Access_To_Protected_Op): For P'Access, where P |
| is a protected subprogram, always create a pointer to the |
| External_Subprogram. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * a-dispat.adb, a-stcoed.ads: Minor reformatting. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Build_Discrete_Static_Predicate): Allow static |
| predicate for non-static subtype. |
| (Build_Predicate_Functions): Do not assume subtype associated with a |
| static predicate must be static. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Set_Msg_Node): Better handling of internal names |
| (Set_Msg_Node): Kill message when we cannot eliminate internal name. |
| * errout.ads: Document additional case of message deletion. |
| * namet.adb (Is_Internal_Name): Refined to consider wide |
| strings in brackets notation and character literals not to be |
| internal names. |
| * sem_ch8.adb (Find_Selected_Component): Give additional error |
| when selector name is a subprogram whose first parameter has |
| the same type as the prefix, but that type is untagged. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting |
| |
| 2015-02-20 Tristan Gingold <gingold@adacore.com> |
| |
| * opt.ads (GNAT_Mode_Config): New variable. |
| * opt.adb (Set_Opt_Config_Switches): Consider GNAT_Mode_Config |
| to set Assertions_Enabled. |
| * switch-c.adb (Scan_Front_End_Switches): Set GNAT_Mode_Config |
| for -gnatg. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add an additional |
| comment regarding the handling of unterminated fixed-point |
| constants. |
| * s-valuns.ads (Scan_Raw_Unsigned): Add comments |
| corresponding to those previously added for |
| System.Val_LLU.Scan_Raw_Long_Long_Unsigned. |
| |
| 2015-02-20 Olivier Hainque <hainque@adacore.com> |
| |
| * g-allein.ads, g-alveop.ads, g-alveop.adb: Code clean ups. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb: Minor comment clarification. |
| |
| 2015-02-20 Olivier Hainque <hainque@adacore.com> |
| |
| * g-allein.ads (vec_ctf, vec_vcsfx, vec_vcfux): Remove. |
| * g-alleve.ads, g-alleva.adb (vcfux): Likewise. |
| * g-alveop.ads (vec_vcfsx, vec_vcfux): Just rename the ll versions. |
| (vec_ctf): Now renamings as well. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * switch-c.adb, bindgen.adb: Minor reformatting. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case Type_Invariant): |
| Invariant'class is allowed on an abstract type. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Access_Definition): If the access definition is |
| for a protected component and defines an access to protected |
| subprogram, do not create an itype reference for it because a |
| full type declaration will be built in order to generate the |
| proper equivalent type. |
| (Analyze_Subtype_Declaration): Add information of incomplete |
| subtypes, for Ada 2012 extended uses of incomplete types. |
| |
| 2015-02-20 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_res.adb: Minor reformatting. |
| |
| 2015-02-20 Vincent Celier <celier@adacore.com> |
| |
| * switch-c.adb (Scan_Front_End_Switches): When comparing runtime |
| path name for several switches --RTS, use the normalized path |
| names. |
| |
| 2015-02-20 Vincent Celier <celier@adacore.com> |
| |
| * bindgen.adb: Minor reformatting and code reorganization. |
| |
| 2015-02-20 Jose Ruiz <ruiz@adacore.com> |
| |
| * a-stcoed.ads: Add spec for this package (Unimplemented_Unit). |
| * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as |
| defined by Ada 2012. |
| |
| 2015-02-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * sysdep.c, expect.c, s-oscons-tmplt.c, gsocket.h, adaint.c: Remove |
| obsolete references to RTX, nucleus, VMS. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Fix_Error): For an illegal Type_Invariant'Class |
| aspect, use name that mentions Class explicitly, rather than |
| compiler-internal name. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * debug.adb: Add documentation for -gnatd.2 (allow statements |
| in decl sequences). |
| * par-ch3.adb (P_Identifier_Declarations): Handle |
| statement appearing where declaration expected more cleanly. |
| (Statement_When_Declaration_Expected): Implement debug flag |
| -gnatd.2. |
| |
| 2015-02-20 Jose Ruiz <ruiz@adacore.com> |
| |
| * a-dinopr.ads: Add spec for this package (Unimplemented_Unit). |
| * a-dispat.ads (Yield): Include procedure added in Ada 2012. |
| * a-dispat.adb (Yield): Implement procedure added in Ada 2012. |
| * impunit.adb (Non_Imp_File_Names_05): Mark unit a-dinopr.ads as |
| defined by Ada 2005. |
| * snames.ads-tmpl (Name_Non_Preemptive_FIFO_Within_Priorities): |
| This is the correct name for the dispatching policy (FIFO was |
| missing). |
| |
| 2015-02-20 Javier Miranda <miranda@adacore.com> |
| |
| * sem_res.adb (Resolve_Type_Conversion): If the type of the |
| operand is the limited-view of a class-wide type then recover |
| the class-wide type of the non-limited view. |
| |
| 2015-02-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * gcc-interface/Makefile.in: Remove references to nucleus. |
| * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set |
| extern_flag to true for Inline_Always subprograms with |
| Intrinsic convention. |
| |
| 2015-02-20 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.ads: Minor typo in comment. |
| |
| 2015-02-20 Pascal Obry <obry@adacore.com> |
| |
| * s-osprim-mingw.adb: Fix Get_Base_Time parameter mode. |
| |
| 2015-02-20 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.adb (Get_Directories.Add_Dir): Add a directory only |
| if it exists. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_eval.ads: Minor reformatting. |
| |
| 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * freeze.adb (Size_Known): Do not set the packed size for |
| independent type or component. |
| (Freeze_Array_Type): Check for Independent[_Components] with packing |
| or explicit component size clause. |
| * gnat1drv.adb (Post_Compilation_Validation_Checks): Do the validation |
| of independence pragmas only for non-GCC back-ends. |
| * sem_ch13.adb (Initialize): Likewise for the initialization. |
| * sem_prag.adb (Record_Independence_Check): New procedure to record an |
| independence check in the table. |
| (Analyze_Pragma): Use it throughout instead of doing it manually. |
| * gcc-interface/decl.c (gnat_to_gnu_field): Add support for |
| independent type or component. |
| |
| 2015-02-20 Thomas Quinot <quinot@adacore.com> |
| |
| * adaint.c (__gnat_readdir): For Solaris, use 64 bit variants of |
| struct direct and readdir. This is required for NFS filesystems |
| mounted from servers that use 64-bit cookies. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Subprogram_Instantiaion): New subprogram |
| Build_Subprogram_Renaming, to create renaming of subprogram |
| instance in the the declaration of the wrapper package rather |
| than in its body, so that it is available for analysis of aspects |
| propagated from generic to instantiation. |
| (Check_Mismatch): An actual for a formal package that is an |
| incomplete type matches a formal type that is incomplete. |
| (Instantiate_Package_Body): Move code that builds subprogram |
| renaming to Analyze_Subprogram_Instantiation. |
| (Instantiate_Type): The generated subtype is a limited view if |
| the actual is a limited view. |
| (Load_Parent_Of_Generic): Retrieve instance declaration from |
| its new position within wrapper package. |
| |
| 2015-02-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-parame-vxworks.adb, s-os_lib.ads: Update comments. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * s-osinte-vxworks.ads (To_Timespec): Add comment about the |
| issue of negative arguments. |
| |
| 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gnat1drv.adb: Minor consistency fix. |
| |
| 2015-02-20 Pascal Obry <obry@adacore.com> |
| |
| * s-osprim-mingw.adb (Get_Base_Time): Properly release lock in all |
| paths. |
| |
| 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * inline.adb (Expand_Inlined_Call): Skip again calls to subprogram |
| renamings. |
| * exp_ch6.adb (Expand_Call): Use back-end inlining |
| instead of expansion for simple subprogram renamings. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb: Minor reformatting. |
| |
| 2015-02-20 Vincent Celier <celier@adacore.com> |
| |
| * switch-c.adb (Scan_Front_End_Switches): Do not fail when --RTS= |
| is specified several times with different values that indicates |
| the same runtime directory. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_attr.adb (Check_Not_Incomplete_Type): Clean up code to |
| handle properly illegal uses of attributes on prefixes on an |
| incomplete type, both when the type of the prefix is locally |
| incomplete, and when it is a limited view of a type whose |
| non-limited view is not available. |
| (Analyze_Attribute): Add calls to Check_Not_Incomplete_Type for |
| 'Address and others. |
| |
| 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_ch6.adb: Fix minor typo in comment. |
| |
| 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sinfo.ads: Add comment. |
| |
| 2015-02-20 Olivier Hainque <hainque@adacore.com> |
| |
| * opt.ads: Replace Opt.Suppress_All_Inlining by two separate |
| flags controlling the actual FE inlining out of pragma Inline |
| and pragma Inline_Always. |
| * adabkend.adb (Scan_Compiler_Arguments): Set both flags to True |
| on -fno-inline, which disables all inlining in compilers with |
| an Ada back-end and without back-end inlining support. |
| * back_end.adb (Scan_Back_End_Switches): Set the Inline related |
| flag to True on -fno-inline and leave Inline_Always alone for |
| gcc back-ends. |
| * back_end.ads (Scan_Compiler_Arguments): Adjust spec wrt the |
| names of the Opt flags it sets. |
| * gnat1drv.adb (Adjust_Global_Switches): Remove test on |
| Opt.Suppress_All_Inlining in the Back_End_Inlining computation. |
| * sem_prag.adb (Make_Inline): Remove early return conditioned |
| on Opt.Suppress_All_Inlining. |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the flags to |
| disable the calls to Build_Body_To_Inline otherwise triggered |
| by pragma Inline or Inline_Always. This will prevent actual |
| front-end inlining of the subprogram on calls. |
| |
| 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * exp_ch3.adb (Default_Initialize_Object): Call Add_Inlined_Body on the |
| Abort_Undefer_Direct function. |
| * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise. |
| * exp_intr.adb (Expand_Unc_Deallocation): Likewise. |
| * exp_prag.adb (Expand_Pragma_Abort_Defer): Likewise. |
| * exp_ch4.adb (Expand_N_Selected_Component): Adjust call to |
| Add_Inlined_Body. |
| * exp_ch6.adb (Expand_Call): Adjust calls to Add_Inlined_Body. |
| Remove call to Register_Backend_Call and move code resetting |
| Needs_Debug_Info on inlined subprograms to... |
| * inline.ads (Add_Inlined_Body): Add N parameter. |
| (Register_Backend_Call): Delete. |
| * inline.adb (Add_Inlined_Body): ...here and simplify. |
| Register the call with Backend_Calls directly. |
| (Register_Backend_Call): Delete. |
| * s-stalib.ads (Abort_Undefer_Direct): Restore pragma Inline. |
| |
| 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * s-stalib.ads: Fix typo. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Default_Initialize_Object): If the object has a |
| delayed freeze, the actions associated with default initialization |
| must be part of the freeze actions, rather that being inserted |
| directly after the object declaration. |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * lib-load.adb: Minor comment update. |
| |
| 2015-02-20 Vincent Celier <celier@adacore.com> |
| |
| * prj-proc.adb (Process_Case_Construction): When there are |
| incomplete withed projects and the case variable is unknown, |
| skip the case construction. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch6.adb (Expand_Actuals): Add caller-side invariant checks |
| when an actual is a view conversion, either because the call is |
| to an inherited operation, or because the actual is an explicit |
| type conversion to an ancestor type. Fixes ACATS 4.0D: C732001 |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads: Minor comment updates Fix missing pragma Inline |
| for Set_Partial_View_Has_Unknown_Discr. |
| * einfo.adb (Write_Entity_Flags): Add missing entry for |
| Partial_View_Has_Unknown_Discr. |
| * sem_ch3.adb: Minor reformatting. |
| |
| 2015-02-20 Vincent Celier <celier@adacore.com> |
| |
| * opt.ads: Minor cleanup: remove mention of gprmake. |
| * s-stalib.ads (Abort_Undefer_Direct): Do not inline. |
| * s-tataat.adb: Do not call System.Tasking.Self but directly |
| System.Task_Primitives.Operations.Self. |
| |
| 2015-02-20 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat_rm.texi, gnat_ugn.texi: Now automatically generated from |
| sphinx in the doc directory. |
| * doc: New directory containing sphinx versions of gnat_rm and gnat_ugn |
| |
| 2015-02-20 Robert Dewar <dewar@adacore.com> |
| |
| * sem_res.adb: Minor reformatting. |
| * exp_ch9.adb (Build_Protected_Spec): Copy Aliased setting when |
| building spec. |
| * sem_ch13.adb (Analyze_Aspect_Specifications): Exclude Boolean |
| aspects from circuitry setting delay required to false if the |
| argument is an integer literal. |
| |
| 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
| |
| * einfo.ads. einfo.adb (Partial_View_Has_Unknown_Discr): New flag |
| on type entities, to enforce AI12-0133: default initialization |
| of types whose partial view has unknown discriminants does not |
| get an invariant check, because clients of the unit can never |
| declare objects of such types. |
| * sem_ch3.adb (Find_Type_Name); Set new flag |
| Partial_View_Has_Unknown_Discr when needed. |
| * exp_ch3.adb (Expand_N_Object_Declaration): Use flag to suppress |
| generation of invariant call on default-initialized object. |
| |
| 2015-02-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_param): Do not strip the padding |
| if the parameter either is passed by reference or if the alignment |
| would be lowered. |
| |
| 2015-02-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (is_cplusplus_method): Use Is_Primitive flag to |
| detect primitive operations of tagged and untagged types. |
| |
| 2015-02-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias |
| sets in presence of derivation for subprogram types. |
| |
| 2015-02-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc-interface/utils.c (begin_subprog_body): Assert that the body is |
| present in the same context as the declaration. |
| |
| 2015-02-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/64340 |
| * gcc-interface/trans.c (gigi): Recreate optimization_default_node |
| and optimization_current_node after tweaking global_options. |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb, |
| prj-nmsc.adb: Minor reformatting. |
| |
| 2015-02-05 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record |
| of a protected type may not be available, so to check conformance |
| with an interface type, examine the interface list in the type |
| declaration directly. |
| (Write_Overloads): Improve information for indirect calls, |
| for debugger use. |
| |
| 2015-02-05 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch3.adb (Make_Tag_Assignment): Do not perform this |
| expansion activity in ASIS mode. |
| |
| 2015-02-05 Javier Miranda <miranda@adacore.com> |
| |
| * errout.adb (Error_Msg_PT): Add missing error. |
| * sem_ch6.adb (Check_Synchronized_Overriding): Check the missing |
| RM rule. Code cleanup. |
| * exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in |
| anonymous access types. Found working on the tests. Code cleanup. |
| |
| 2015-02-05 Vincent Celier <celier@adacore.com> |
| |
| * prj-dect.adb (Parse_Attribute_Declaration): Continue scanning |
| when there are incomplete withs. |
| * prj-nmsc.adb (Process_Naming): Do not try to get the value |
| of an element when it is nil. |
| (Check_Naming): Do not check a nil suffix for illegality |
| * prj-proc.adb (Expression): Do not process an empty term. |
| * prj-strt.adb (Attribute_Reference): If attribute cannot be |
| found, parse a possible index to avoid cascading errors. |
| |
| 2015-02-05 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aux.adb (Is_Derived_Type): A subprogram_type generated |
| for an access_to_subprogram declaration is not a derived type. |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Error_Msg_Internal): For non-serious error set |
| Fatal_Error to Ignored. |
| * lib-load.adb (Load_Unit): Minor comment updates. |
| * sem_ch10.adb (Analyze_With_Clause): Propagate Fatal_Error |
| setting from with'ed unit to with'ing unit. |
| * sem_prag.adb (Analyze_Pragma, case Warnings): Document handling |
| of ambiguity. |
| |
| 2015-02-05 Yannick Moy <moy@adacore.com> |
| |
| * sem_prag.adb, par-prag.adb: Minor code clean up. |
| |
| 2015-02-05 Yannick Moy <moy@adacore.com> |
| |
| * par-prag.adb (Pragma_Warnings): Update for extended form |
| of pragma Warnings. The "one" argument case may now have 2 or |
| 3 arguments. |
| * sem_prag.adb (Analyze_Pragma/Pragma_Warnings): Update for |
| extended form of pragma Warnings. Pragma with tool name is either |
| rewritten as null or as an equivalent form without tool name, |
| before reanalysis. |
| * snames.ads-tmpl (Name_Gnatprove): New name. |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch13.adb (Add_Invariants): Don't assume invariant is |
| standard Boolean. |
| * sem_prag.adb (Analyze_Pragma, case Check): Don't assume |
| condition is standard Boolean, it can be non-standard derived |
| Boolean. |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * checks.adb (Enable_Range_Check): Disconnect attempted |
| optimization for the case of range check for subscript of |
| unconstrained array. |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * par-ch13.adb (With_Present): New function |
| (Aspect_Specifications_Present): Handle WHEN in place of WITH |
| (Get_Aspect_Specifications): Comment update. |
| * par.adb: Comment updates. |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * errout.adb (Handle_Serious_Error): New setting of Fatal_Error. |
| * frontend.adb (Frontend): New setting of Fatal_Error. |
| * lib-load.adb (Create_Dummy_Package_Unit): New setting of |
| Fatal_Error. |
| (Load_Main_Source): New setting of Fatal_Error |
| (Load_Unit): New setting of Fatal_Error. |
| * lib-writ.adb (Add_Preprocessing_Dependency): New setting of |
| Fatal_Error. |
| (Ensure_System_Dependency): New setting of Fatal_Error. |
| * lib.adb (Fatal_Error): New setting of Fatal_Error |
| (Set_Fatal_Error): New setting of Fatal_Error. |
| * lib.ads: New definition of Fatal_Error and associated routines. |
| * par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error. |
| * par-load.adb (Load): New setting of Fatal_Error. |
| * rtsfind.adb (Load_RTU): New setting of Fatal_Error. |
| * sem_ch10.adb (Analyze_Compilation_Unit): New setting of |
| Fatal_Error. |
| (Optional_Subunit): New setting of Fatal_Error. |
| (Analyze_Proper_Body): New setting of Fatal_Error. |
| (Load_Needed_Body): New setting of Fatal_Error. |
| |
| 2015-02-05 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_res.adb (Resolve_Call): If the function being called has |
| out parameters do not check for language version if the function |
| comes from a predefined unit, as those are always compiled in |
| Ada 2012 mode. |
| |
| 2015-02-05 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Process_Full_View): Verify that the full view |
| of a type extension must carry an explicit limited keyword if |
| the partial view does (RM 7.3 (10.1)). |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads, |
| sem_warn.ads: Minor reformatting. |
| * exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect |
| deleted by -gnatI. |
| * sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give |
| error for abstract type. |
| |
| 2015-02-05 Yannick Moy <moy@adacore.com> |
| |
| * opt.ads (Warn_On_Suspicious_Contract): Update comment |
| describing use. |
| * sem_attr.adb (Analyze_Attribute/Attribute_Update): Warn on |
| suspicious uses of 'Update. |
| * sem_warn.adb, sem_warn.ads (Warn_On_Suspicious_Update): New |
| function issues warning on suspicious uses of 'Update. |
| * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads: Mark |
| package spec and body as SPARK_Mode Off. |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name |
| (Analyze_Pragma): Change Set_Unit_Name to Set_Elab_Unit_Name |
| (Set_Elab_Unit_Name): Generate reference for Elaborate[_All] |
| * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning |
| for exported entity. |
| |
| 2015-02-05 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_prag.adb (Check_Pragma_Conformance): Add |
| local variable Arg. Ensure that all errors are associated with |
| the pragma if it appears without an argument. Add comments on |
| various cases. |
| |
| 2015-02-05 Robert Dewar <dewar@adacore.com> |
| |
| * lib-xref.adb: Minor reformatting. |
| |
| 2015-02-05 Tristan Gingold <gingold@adacore.com> |
| |
| PR ada/64349da/64349 |
| * env.c: Fix thinko: handle Darwin case before default one. |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * a-assert.adb: Minor reformatting. |
| * sem_ch13.adb: Minor comment clarification. |
| * types.ads: Minor comment update. |
| * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up |
| when we have a predicate that is nothing but an inherited dynamic |
| predicate. |
| |
| 2015-01-30 Jerome Guitton <guitton@adacore.com> |
| |
| * gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to |
| include cert link spec. |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * einfo.ads: Minor comment fix. |
| * freeze.adb (Freeze_Profile): Add test for suspicious import |
| in pure unit. |
| * sem_prag.adb (Process_Import_Or_Interface): Test for suspicious |
| use in Pure unit is now moved to Freeze (to properly catch |
| Pure_Function exemption). |
| |
| 2015-01-30 Bob Duff <duff@adacore.com> |
| |
| * sem_res.ads: Minor comment fix. |
| * sem_type.adb: sem_type.adb (Remove_Conversions): Need to |
| check both operands of an operator. |
| |
| 2015-01-30 Yannick Moy <moy@adacore.com> |
| |
| * a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion |
| policy for Pre to Ignore. |
| (Assert): Add precondition. |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Process_Import_Or_Interface): Warn if used in |
| Pure unit. |
| * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify |
| documentation for some special cases of invalid attempts at |
| based integers. |
| |
| 2015-01-30 Gary Dismukes <dismukes@adacore.com> |
| |
| * errout.ads: Minor reformatting. |
| |
| 2015-01-30 Yannick Moy <moy@adacore.com> |
| |
| * inline.adb (Process_Formals): Use the sloc of |
| the inlined node instead of the sloc of the actual parameter, |
| when replacing formal parameters by the actual one. |
| |
| 2015-01-30 Arnaud Charlet <charlet@adacore.com> |
| |
| * g-expect.adb (Get_Command_Output): Use infinite timeout when |
| calling Expect. |
| |
| 2015-01-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Analyze_Associations): If an in-parameter is |
| defaulted in an instantiation, add an entry in the list of actuals |
| to indicate the default value of the formal (as is already done |
| for defaulted subprograms). |
| |
| 2015-01-30 Javier Miranda <miranda@adacore.com> |
| |
| * errout.adb (Error_Msg_PT): Minor error phrasing update. |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Warn_On_Known_Condition): Improve error message |
| for object case. |
| |
| 2015-01-30 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * exp_dbug.adb (Get_Encoded_Name): When |
| -fgnat-encodings=minimal, do not generate names for biased types. |
| |
| 2015-01-30 Tristan Gingold <gingold@adacore.com> |
| |
| PR ada/64349 |
| * env.c: Move vxworks and darwin includes out of #ifdef IN_RTS. |
| |
| 2015-01-30 Gary Dismukes <dismukes@adacore.com> |
| |
| * freeze.adb: Minor reformatting. |
| |
| 2015-01-30 Javier Miranda <miranda@adacore.com> |
| |
| * errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and |
| improve its documentation. |
| * errout.adb (Error_Msg_PT): Improve the error message. |
| * sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT. |
| (Check_Synchronized_Overriding): Update call to Error_Msg_PT. |
| * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup. |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Warn_On_Known_Condition): Do special casing of |
| message for False case. |
| |
| 2015-01-30 Doug Rupp <rupp@adacore.com> |
| |
| * s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body. |
| * s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for |
| kernel. |
| |
| 2015-01-30 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_attr.adb (Declared_Within_Generic_Unit): |
| New function to test whether an entity is declared within the |
| declarative region of a given generic unit. |
| (Resolve_Attribute): For checking legality of subprogram'Access within |
| a generic unit, call new Boolean function Declared_Within_Generic_Unit |
| instead of simply comparing the results of Enclosing_Generic_Unit on |
| the prefix and access type. Correct minor comment typos. |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * freeze.adb, exp_util.ads: Update comment. |
| * exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting. |
| * sem_util.adb: Minor: fix typo. |
| |
| 2015-01-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_attr.adb (Analyze_Attribute): Ensure that |
| the check concerning Refined_Post takes precedence over the |
| other cases. |
| |
| 2015-01-30 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_prag.adb: Minor typo fixes and reformatting. |
| |
| 2015-01-30 Yannick Moy <moy@adacore.com> |
| |
| * sem_attr.adb: Code clean up. |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record. |
| * ali.ads (Unit_Record): Add new field Serious_Errors. |
| * lib-writ.adb (Write_Unit_Information): Set SE (serious errors) |
| attribute in U line. |
| * lib-writ.ads: New attribute SE (serious erors) in unit line. |
| |
| 2015-01-30 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * einfo.adb Update the usage of attributes Entry_Bodies_Array, |
| Lit_Indexes, Scale_Value, Storage_Size_Variable, |
| String_Literal_Low_Bound along associated routines and |
| Write_FieldX_Name. |
| (Pending_Access_Types): New routine. |
| (Set_Pending_Access_Types): New routine. |
| (Write_Field15_Name): Add an entry for Pending_Access_Types. |
| * einfo.ads Add new attribute Pending_Access_Types along |
| with usage in nodes. Update the usage of attributes |
| Entry_Bodies_Array, Lit_Indexes, Scale_Value, |
| Storage_Size_Variable, String_Literal_Low_Bound. |
| (Pending_Access_Types): New routine along with pragma Inline. |
| (Set_Pending_Access_Types): New routine along with pragma Inline. |
| * exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable |
| Ins_Node. Determine the insertion node for anonynous access type |
| that acts as a component type of an array. Update the call to |
| Build_Finalization_Master. |
| (Expand_Freeze_Record_Type): Update |
| the calls to Build_Finalization_Master. |
| (Freeze_Type): Remove |
| local variable RACW_Seen. Factor out the code that deals with |
| remote access-to-class-wide types. Create a finalization master |
| when the designated type contains a private component. Fully |
| initialize all pending access types. |
| (Process_RACW_Types): New routine. |
| (Process_Pending_Access_Types): New routine. |
| * exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer |
| needs to set primitive Finalize_Address. |
| (Expand_N_Allocator): Allocation no longer sets primitive |
| Finalize_Address. |
| * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call): |
| Update the call to Build_Finalization_Master. |
| (Make_Build_In_Place_Call_In_Allocator): Allocation no longer |
| needs to set primitive Finalize_Address. |
| * exp_ch7.adb (Add_Pending_Access_Type): New routine. |
| (Build_Finalization_Master): New parameter profile. Associate |
| primitive Finalize_Address with the finalization master if the |
| designated type has been frozen, otherwise treat the access |
| type as pending. Simplify the insertion of the master and |
| related initialization code. |
| (Make_Finalize_Address_Body): Allow Finalize_Address for class-wide |
| abstract types. |
| (Make_Set_Finalize_Address_Call): Remove forlam parameter Typ. |
| Simplify the implementation. |
| * exp_ch7.ads (Build_Finalization_Master): New parameter profile |
| along with comment on usage. |
| (Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update |
| the comment on usage. |
| * exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine |
| Finalize_Address to retrieve the primitive. |
| (Finalize_Address): New routine. |
| (Find_Finalize_Address): Removed. |
| * exp_util.ads (Finalize_Address): New routine. |
| * freeze.adb (Freeze_All): Remove the generation of finalization |
| masters. |
| * sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any |
| pending access types from the partial to the full view. |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_disp.adb: Minor reformatting. |
| * sem_disp.ads: Documentation update. |
| |
| 2015-01-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity |
| or a function call, return True if type is class-wide. |
| * sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression); |
| Apply RM 4.5.7 (17/3): all or none of the dependent expression |
| of a conditional expression must be dynamically tagged. |
| |
| 2015-01-30 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Function_Return): In an extended return |
| statement, apply accessibility check to result object when there |
| is no initializing expression (Ada 2012 RM 6.5 (5.4/3)) |
| |
| 2015-01-30 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch4.adb (Analyze_If_Expression): Allow for non-standard |
| Boolean for case where ELSE is omitted. |
| * sem_res.adb: Minor reformatting. |
| |
| 2015-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Fix build under cygwin/64. |
| * adaint.h: Add check for __CYGWIN__. |
| * mingw32.h: Prevent windows.h from including x86intrin.h in GCC. |
| |
| 2015-01-19 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR ada/64640 |
| * adaint.c: Handle __CYGWIN__ like __MINGW32__ here. |
| * mingw32.h: Don't include <tchar.h> under cygwin. |
| (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined. |
| |
| 2015-01-15 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8) |
| (DEF_FUNCTION_TYPE_VAR_12): New macros. |
| |
| 2015-01-09 Michael Collison <michael.collison@linaro.org> |
| |
| * gcc-interface/cuintp.c: Include hash-set.h, machmode.h, |
| vec.h, double-int.h, input.h, alias.h, symtab.h, |
| fold-const.h, wide-int.h, and inchash.h due to |
| flattening of tree.h. |
| * gcc-interface/decl.c: Ditto. |
| * gcc-interface/misc.c: Ditto. |
| * gcc-interface/targtyps.c: Include hash-set.h, machmode.h, |
| vec.h, double-int.h, input.h, alias.h, symtab.h, options.h, |
| fold-const.h, wide-int.h, and inchash.h due to |
| flattening of tree.h. |
| * gcc-interface/trans.c: Include hash-set.h, machmode.h, |
| vec.h, double-int.h, input.h, alias.h, symtab.h, real.h, |
| fold-const.h, wide-int.h, inchash.h due to |
| flattening of tree.h. |
| * gcc-interface/utils.c: Include hash-set.h, machmode.h, |
| vec.h, double-int.h, input.h, alias.h, symtab.h, |
| fold-const.h, wide-int.h, and inchash.h due to |
| flattening of tree.h. |
| * gcc-interface/utils2.c: Ditto. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Check_One_Unit): Don't give unused entities |
| warning for a package which is used as a generic parameter. |
| |
| 2015-01-07 Bob Duff <duff@adacore.com> |
| |
| * usage.adb (Usage): Correct documentation of |
| -gnatw.f switches. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * s-fileio.adb: Minor reformatting. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Instantiate_Object): If formal is an anonymous |
| access to subprogram, replace its formals with new entities when |
| building the object declaration, both if actual is present and |
| when it is defaulted. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view |
| conversion and type of expression has invariant, apply invariant |
| check on expression. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Create_Constrained_Components): A call to |
| Gather_Components may detect an error if an inherited discriminant |
| that controls a variant is non-static. |
| * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to |
| Gather_Components may report an error if an inherited discriminant |
| in a variant in non-static. |
| * sem_util.adb (Gather_Components): If a non-static discriminant |
| is inherited do not report error here, but let caller handle it. |
| (Find_Actual): Small optimization. |
| |
| 2015-01-07 Bob Duff <duff@adacore.com> |
| |
| * usage.adb (Usage): Document -gnatw.f switch. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb: Code clean up and minor reformatting. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for |
| Raise_Accessibility_Error call. |
| * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation |
| on handling of invalid digits in based constants. |
| * s-fatgen.ads: Minor reformatting. |
| * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access): |
| Avoid noting bogus modification for Valid test. |
| * snames.ads-tmpl (Name_Attr_Long_Float): New Name. |
| * einfo.ads: Minor reformatting. |
| * sem_warn.adb: Minor comment clarification. |
| * sem_ch12.adb: Minor reformatting. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops |
| over static predicates when the loop parameter specification |
| carries a Reverse indicator. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb (Instantiate_Object): If formal has a default, |
| actual is missing and formal has an anonymous access type, copy |
| access definition in full so that tree for instance is properly |
| formatted for ASIS use. |
| |
| 2015-01-07 Bob Duff <duff@adacore.com> |
| |
| * sem_elab.adb (Check_Internal_Call_Continue): Give a warning |
| for P'Access, where P is a subprogram in the same package as |
| the P'Access, and the P'Access is evaluated at elaboration |
| time, and occurs before the body of P. For example, "X : T := |
| P'Access;" would allow a subsequent call to X.all to be an |
| access-before-elaboration error; hence the warning. This warning |
| is enabled by the -gnatw.f switch. |
| * opt.ads (Warn_On_Elab_Access): New flag for warning switch. |
| * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access. |
| * gnat_ugn.texi: Document the new warning. |
| |
| 2015-01-07 Johannes Kanig <kanig@adacore.com> |
| |
| * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded |
| cross ref files. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * s-taprop-linux.adb, clean.adb: Minor reformatting. |
| |
| 2015-01-07 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-tassta.adb: Relax some overzealous assertions. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited |
| view of a type is legal when context is a thunk generated for |
| operation inherited from an interface. |
| * exp_ch6.adb (Expand_Simple_Function_Return): If context is |
| a thunk and return type is an incomplete type do not continue |
| expansion; thunk will be fully elaborated when generating code. |
| |
| 2015-01-07 Doug Rupp <rupp@adacore.com> |
| |
| * s-osinte-mingw.ads (LARGE_INTEGR): New subtype. |
| (QueryPerformanceFrequency): New imported procedure. |
| * s-taprop-mingw.adb (RT_Resolution): Call above and return |
| resolution vice a hardcoded value. |
| * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return |
| resolution vice a hardcoded value. |
| * s-linux-android.ads (clockid_t): New subtype. |
| * s-osinte-aix.ads (clock_getres): New imported subprogram. |
| * s-osinte-android.ads (clock_getres): Likewise. |
| * s-osinte-freebsd.ads (clock_getres): Likewise. |
| * s-osinte-solaris-posix.ads (clock_getres): Likewise. |
| * s-osinte-darwin.ads (clock_getres): New subprogram. |
| * s-osinte-darwin.adb (clock_getres): New subprogram. |
| * thread.c (__gnat_clock_get_res) [__APPLE__]: New function. |
| * s-taprop-posix.adb (RT_Resolution): Call clock_getres to |
| calculate resolution vice hard coded value. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_util.adb (Make_CW_Equivalent_Type): If root type is a |
| limited view, use non-limited view when available to create |
| equivalent record type. |
| |
| 2015-01-07 Vincent Celier <celier@adacore.com> |
| |
| * gnatcmd.adb: Remove command Sync and any data and processing |
| related to this command. Remove project processing for gnatstack. |
| * prj-attr.adb: Remove package Synchonize and its attributes. |
| |
| 2015-01-07 Vincent Celier <celier@adacore.com> |
| |
| * clean.adb: Minor error message change. |
| |
| 2015-01-07 Tristan Gingold <gingold@adacore.com> |
| |
| PR ada/64349 |
| * env.c (__gnat_environ): Adjust for darwin9/darwin10. |
| |
| 2015-01-07 Javier Miranda <miranda@adacore.com> |
| |
| * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq |
| protect the frontend against never ending recursion caused by |
| circularities in the sources. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb, |
| exp_ch3.adb: Minor reformatting. |
| |
| 2015-01-07 Doug Rupp <rupp@adacore.com> |
| |
| * s-linux.ads (clockid_t): New subtype. |
| * s-osinte-linux.ads (pragma Linker Options): Add -lrt. |
| (clockid_t): New subtype. |
| (clock_getres): Import system call. |
| * s-taprop-linux.adb (System.OS_Constants): With and rename. |
| (RT_Resolution): Remove |
| hardcoded value and call clock_getres. |
| * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads, |
| s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * sem_warn.adb (Check_One_Unit): Guard against context item |
| with no Entity field. |
| |
| 2015-01-07 Vincent Celier <celier@adacore.com> |
| |
| * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete. |
| * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete. |
| |
| 2015-01-07 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize |
| errors/warnings in the first parsing of the project files, |
| to display the warnings when there is no errors. |
| |
| 2015-01-07 Tristan Gingold <gingold@adacore.com> |
| |
| * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target. |
| |
| 2015-01-07 Doug Rupp <rupp@adacore.com> |
| |
| * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return |
| value from Int_Lock as parameter to Int_Unlock. |
| * s-osinte-vxworks.ads (Int_Unlock): Add parameter. |
| * s-vxwext.ads (Int_Unlock): Likewise. |
| * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise. |
| * s-vxwext-kernel.ads (Int_Unlock): Likewise. |
| * s-vxwext-rtp.adb (Int_Unlock): Likewise. |
| * s-vxwext-rtp.ads (Int_Unlock): Likewise. |
| |
| 2015-01-07 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we |
| keep ___XP suffixes |
| |
| 2015-01-07 Tristan Gingold <gingold@adacore.com> |
| |
| * i-cpoint.adb (Copy_Terminated_Array): Use Copy_Array to |
| handle overlap. |
| |
| 2015-01-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not |
| automatically set No_Strict_Aliasing on access types. |
| * fe.h (No_Strict_Aliasing_CP): Declare. |
| * gcc-interface/trans.c (gigi): Force flag_strict_aliasing to 0 if |
| No_Strict_Aliasing_CP is set. |
| |
| 2015-01-07 Johannes Kanig <kanig@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Subprogram_Renaming) do |
| not build function wrapper in gnatprove mode when the package |
| is externally axiomatized. |
| |
| 2015-01-07 Jose Ruiz <ruiz@adacore.com> |
| |
| * a-reatim.adb (Time_Of): Reduce the number of spurious overflows in |
| intermediate computations when the parameters have different signs. |
| |
| 2015-01-07 Javier Miranda <miranda@adacore.com> |
| |
| * exp_ch3.adb (Build_Init_Procedure): For derived types, |
| improve the code which takes care of identifying and moving to |
| the beginning of the init-proc the call to the init-proc of the |
| parent type. |
| |
| 2015-01-07 Olivier Hainque <hainque@adacore.com> |
| |
| * gcc-interface/trans.c (gnat_to_gnu, <N_Expression_With_Action>): |
| Elaborate the expression as part of the same stmt group as the actions. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb: Minor error message change. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization): |
| Following AI05-028, the pragam applies legally to any composite type. |
| |
| 2015-01-07 Arnaud Charlet <charlet@adacore.com> |
| |
| * s-osinte-vxworks.adb, s-osinte-vxworks.ads |
| (sigwait, sigwaitinfo): Removed, not needed after all on any |
| VxWorks configurations. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch3.adb, freeze.adb, exp_disp.adb: Minor reformatting. |
| |
| 2015-01-07 Javier Miranda <miranda@adacore.com> |
| |
| * exp_disp.adb (Expand_Interface_Conversion): Adding missing |
| generation of accessibility check. |
| |
| 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Derived_Type_Declaration): In the case of an |
| illegal completion from a class- wide type, set etype of the |
| derived type properly to prevent cascaded errors. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor |
| reformatting. |
| |
| 2015-01-07 Robert Dewar <dewar@adacore.com> |
| |
| * restrict.adb (Check_Restriction_No_Use_Of_Attribute): |
| New procedure. |
| (OK_No_Use_Of_Entity_Name): New function. |
| (Set_Restriction_No_Use_Of_Entity): New procedure. |
| * restrict.ads (Check_Restriction_No_Use_Of_Attribute): |
| New procedure. |
| (OK_No_Use_Of_Entity_Name): New function. |
| (Set_Restriction_No_Use_Of_Entity): New procedure. |
| * sem_ch8.adb (Find_Direct_Name): Add check for violation of |
| No_Use_Of_Entity. |
| * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): |
| Add processing for new restriction No_Use_Of_Entity. |
| |
| 2015-01-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic |
| component type as to Has_Atomic_Components type. Remove useless |
| test on Is_Aliased component type. |
| |
| 2015-01-07 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * alloc.ads Alphabetize several declarations. Add constants |
| Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment. |
| * atree.adb Add with and use clauses for Opt. |
| (Allocate_Initialize_Node): Mark a node as ignored Ghost |
| if it is created in an ignored Ghost region. |
| (Ekind_In): New variant. |
| (Is_Ignored_Ghost_Node): New routine. |
| (Set_Is_Ignored_Ghost_Node): New routine. |
| * atree.adb Aplhabetize several subprograms declarations. Flag |
| Spare0 is now known as Is_Ignored_Ghost_Node. |
| (Ekind_In): New variant. |
| (Is_Ignored_Ghost_Node): New routine. |
| (Set_Is_Ignored_Ghost_Node): New routine. |
| * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code. |
| (Contains_Ignored_Ghost_Code): New routine. |
| (Set_Contains_Ignored_Ghost_Code): New routine. |
| (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity): |
| It is now possible to set this property on an unanalyzed entity. |
| (Write_Entity_Flags): Output the status of flag |
| Contains_Ignored_Ghost_Code. |
| * einfo.ads New attribute Contains_Ignored_Ghost_Code along with |
| usage in nodes. |
| (Contains_Ignored_Ghost_Code): New routine |
| along with pragma Inline. |
| (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline. |
| * exp_ch3.adb Add with and use clauses for Ghost. |
| (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit. |
| Set the Ghost_Mode in effect. |
| (Restore_Globals): New routine. |
| * exp_ch7.adb (Process_Declarations): Do not process a context |
| that invoves an ignored Ghost entity. |
| * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost |
| construct that has been rewritten as a null statement. |
| * exp_disp.adb Add with and use clauses for Ghost. |
| (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set |
| the Ghost_Mode in effect. |
| (Restore_Globals): New routine. |
| * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity |
| does not require any clean up. Add two missing cases that deal |
| with block statements. |
| * freeze.adb Add with and use clauses for Ghost. |
| (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit. |
| Set the Ghost_Mode in effect. |
| (Restore_Globals): New routine. |
| * frontend.adb Add with and use clauses for Ghost. Remove any |
| ignored Ghost code from all units that qualify. |
| * ghost.adb New unit. |
| * ghost.ads New unit. |
| * gnat1drv.adb Add with clause for Ghost. Initialize and lock |
| the table in package Ghost. |
| * lib.ads: Alphabetize several subprogram declarations. |
| * lib-xref.adb (Output_References): Do not generate reference |
| information for ignored Ghost entities. |
| * opt.ads Add new type Ghost_Mode_Type and new global variable |
| Ghost_Mode. |
| * rtsfind.adb (Load_RTU): Provide a clean environment when |
| loading a runtime unit. |
| * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on |
| entry/exit as the node may set a different mode. |
| (Do_Analyze): |
| Capture/restore the value of Ghost_Mode on entry/exit as the |
| unit may be withed from a unit with a different Ghost mode. |
| * sem_ch3.adb Add with and use clauses for Ghost. |
| (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl, |
| Analyze_Number_Declaration, Analyze_Private_Extension_Declaration, |
| Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark |
| the entity as Ghost when there is a Ghost_Mode in effect. |
| (Array_Type_Declaration): The implicit base type inherits the |
| "ghostness" from the array type. |
| (Derive_Subprogram): The |
| alias inherits the "ghostness" from the parent subprogram. |
| (Make_Implicit_Base): The implicit base type inherits the |
| "ghostness" from the parent type. |
| * sem_ch5.adb Add with and use clauses for Ghost. |
| (Analyze_Assignment): Set the Ghost_Mode in effect. |
| * sem_ch6.adb Add with and use clauses for Ghost. |
| (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call, |
| Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration): |
| Set the Ghost_Mode in effect. Mark the entity as Ghost when |
| there is a Ghost_Mode in effect. |
| * sem_ch7.adb Add with and use clauses for Ghost. |
| (Analyze_Package_Body_Helper, Analyze_Package_Declaration, |
| Analyze_Private_Type_Declaration): Set the Ghost_Mode in |
| effect. Mark the entity as Ghost when there is a Ghost_Mode |
| in effect. |
| * sem_ch8.adb Add with and use clauses for Ghost. |
| (Analyze_Exception_Renaming, Analyze_Generic_Renaming, |
| Analyze_Object_Renaming, Analyze_Package_Renaming, |
| Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark |
| the entity as Ghost when there is a Ghost_Mode in effect. |
| (Find_Type): Check the Ghost context of a type. |
| * sem_ch11.adb Add with and use clauses for Ghost. |
| (Analyze_Exception_Declaration): Set the Ghost_Mode in |
| effect. Mark the entity as Ghost when there is a Ghost_Mode |
| in effect. |
| * sem_ch12.adb Add with and use clauses for Ghost. |
| (Analyze_Generic_Package_Declaration, |
| Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect. |
| Mark the entity as Ghost when there is a Ghost_Mode in effect. |
| * sem_prag.adb Add with and use clauses for Ghost. |
| (Analyze_Pragma): Ghost-related checks are triggered when there |
| is a Ghost mode in effect. |
| (Create_Abstract_State): Mark the |
| entity as Ghost when there is a Ghost_Mode in effect. |
| * sem_res.adb Add with and use clauses for Ghost. |
| (Check_Ghost_Context): Removed. |
| * sem_util.adb (Check_Ghost_Completion): Removed. |
| (Check_Ghost_Derivation): Removed. |
| (Incomplete_Or_Partial_View): |
| Add a guard in case the entity has not been analyzed yet |
| and does carry a scope. |
| (Is_Declaration): New routine. |
| (Is_Ghost_Entity): Removed. |
| (Is_Ghost_Statement_Or_Pragma): |
| Removed. |
| (Is_Subject_To_Ghost): Removed. |
| (Set_Is_Ghost_Entity): |
| Removed. |
| (Within_Ghost_Scope): Removed. |
| * sem_util.adb (Check_Ghost_Completion): Removed. |
| (Check_Ghost_Derivation): Removed. |
| (Is_Declaration): New routine. |
| (Is_Ghost_Entity): Removed. |
| (Is_Ghost_Statement_Or_Pragma): Removed. |
| (Is_Subject_To_Ghost): Removed. |
| (Set_Is_Ghost_Entity): Removed. |
| (Within_Ghost_Scope): Removed. |
| * sinfo.ads Add a section on Ghost mode. |
| * treepr.adb (Print_Header_Flag): New routine. |
| (Print_Node_Header): Factor out code. Output flag |
| Is_Ignored_Ghost_Node. |
| * gcc-interface/Make-lang.in: Add dependency for unit Ghost. |
| |
| 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always |
| true test and unreachable 'else' arm. |
| |
| 2015-01-06 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Check_Target): Improve error message when |
| there are mismatched targets between the on in the configuration |
| project file and the specified one, either in the main project |
| file or in the --target= switch. |
| |
| 2015-01-06 Pascal Obry <obry@adacore.com> |
| |
| * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and |
| Install_Name attribute definitions. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * freeze.adb (Wrap_Imported_Subprogram): Indicate that the |
| generated Import pragma for the internal imported procedure does |
| not come from an aspect, so that Is_Imported can be properly |
| set for it. |
| |
| 2015-01-06 Gary Dismukes <dismukes@adacore.com> |
| |
| * sem_ch12.adb (Might_Inline_Subp): Record whether |
| any subprograms in the generic package are marked with |
| pragma Inline_Always (setting flag Has_Inline_Always). |
| (Analyze_Package_Instantiation): Add test of Has_Inline_Always |
| alongside existing test of Front_End_Inlining as alternative |
| conditions for setting Inline_Now. Also add test of |
| Has_Inline_Always along with Front_End_Inlining test as an |
| alternative condition for setting Needs_Body to False. |
| |
| 2015-01-06 Tristan Gingold <gingold@adacore.com> |
| |
| * i-cpoint.adb (Copy_Array): Handle overlap. |
| |
| 2015-01-06 Pascal Obry <obry@adacore.com> |
| |
| * bindgen.adb: Minor style fix. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_util.ads, sem_util.adb: Minor reformatting. |
| |
| 2015-01-06 Vincent Celier <celier@adacore.com> |
| |
| * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete |
| with flags before parsing the projects. |
| * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs. |
| * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs |
| to True in the flags, when Ignore_Missing_With is True and an |
| imported project cannot be found. |
| * prj-proc.adb (Expression): When there are incomplete withs and |
| a variable or attribute is not found, set the variable/attribute |
| to unknown. |
| * prj.ads (Processing_Flags): New flag Incomplete_Withs, |
| defaulted to False. |
| |
| 2015-01-06 Vasiliy Fofanov <fofanov@adacore.com> |
| |
| * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb, |
| prj-err.adb: Add new switch --no-command-line. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb: Sloc of wrapper is that of instantiation. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch11.adb: Minor reformatting. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * exp_aggr.adb (Get_Assoc_Expr): New routine internal to |
| Build_Array_Aggr_Code, used to initialized components covered |
| by a box association. If the component type is scalar and has |
| a default aspect, use it to initialize such components. |
| |
| 2015-01-06 Pascal Obry <obry@adacore.com> |
| |
| * rtinit.c (__gnat_runtime_initialize): Add a parameter to |
| control the setup of the exception handler. |
| * initialize.c: Remove unused declaration. |
| * bindgen.adb: Always call __gnat_runtime_initialize and pass |
| whether the exeception handler must be set or not. |
| |
| 2015-01-06 Thomas Quinot <quinot@adacore.com> |
| |
| * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage |
| order to native from default, make sure to also adjust bit order. |
| * exp_aggr.adb: Minor reformatting. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads, |
| s-valrea.adb, s-valrea.ads: Add some additional guards for |
| Str'Last = Positive'Last. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual |
| subprograms. |
| |
| 2015-01-06 Javier Miranda <miranda@adacore.com> |
| |
| * exp_disp.adb (Expand_Interface_Conversion): Reapply patch. |
| |
| 2015-01-06 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_util.ads: Minor reformatting. |
| * sem_cat.adb (In_RCI_Visible_Declarations): Change back to... |
| (In_RCI_Declaration) Return to old name, as proper checking of |
| entity being in the visible part depends on entity kind and must |
| be done by the caller. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers |
| for operators in SPARK. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the |
| expression in an others association before making copies for |
| separate resolution and accessibility checks. This ensures that |
| the type of the expression is available to ASIS in all cases, |
| in particular if the expression is itself an aggregate. |
| |
| 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * einfo.ads (Has_Independent_Components): Document extended |
| usage. |
| * einfo.adb (Has_Independent_Components): Remove obsolete assertion. |
| (Set_Has_Independent_Components): Adjust assertion. |
| * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components |
| for pragma Atomic_Components. Set Has_Independent_Components |
| on the object instead of the type for an object declaration with |
| pragma Independent_Components. |
| |
| 2015-01-06 Olivier Hainque <hainque@adacore.com> |
| |
| * set_targ.adb (Read_Target_Dependent_Values): Set |
| Long_Double_Index when "long double" is read. |
| (elaboration code): Register_Back_End_Types only when not reading from |
| config files. Doing otherwise is pointless and error prone. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if |
| Str'Last = Positive'Last. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Matches_Limited_View): Handle properly the case |
| where the non-limited type is a generic actual and appears as |
| a subtype of the non-limited view of the other. |
| * freeze.adb (Build_Renamed_Body): If the return type of the |
| declaration that is being completed is a limited view and the |
| non-limited view is available, use it in the specification of |
| the generated body. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch3.adb (Find_Type_Name): If there is a previous tagged |
| incomplete view, the type of the classwide type common to both |
| views is the type being declared. |
| |
| 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * einfo.ads (Is_Independent): Further document extended usage. |
| |
| 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * einfo.ads (Is_Independent): Document extended usage. |
| * einfo.adb (Is_Independent): Remove obsolete assertion. |
| (Set_Is_Independent): Likewise. |
| * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into... |
| (Process_Atomic_Independent_Shared_Volatile): ...this. |
| Deal with pragma Independent here. |
| (Analyze_Pragma): Adjust |
| to above renaming and also invoke it for pragma Independent. |
| Adjust comment for Independent_Components. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * snames.ads-tmpl: Remove entries for attribute Enum_Image. |
| * exp_attr.adb: Remove reference to Attribute_Enum_Image. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last |
| = Positive'Last. |
| * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of |
| Str'Last = Positive'Last. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Process_Inline): Remove redundant construct |
| warning (-gnatw.r) for an ineffective pragma Inline. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * s-valint.adb: Fix typo in last checkin. |
| * s-valuns.adb (Value_Unsigned): More efficient fix for |
| Positive'Last case. |
| * sem_attr.adb (Analyze_Attribute): Minor reformatting |
| (Eval_Attribute): Static ervaluation of 'Img for enumeration types. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where |
| Str'Last = Positive'Last |
| |
| 2015-01-06 Thomas Quinot <quinot@adacore.com> |
| |
| * xoscons.adb: Display exception information and return non-zero |
| exit status in top level exception handler. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch8.adb: Code clean up. |
| |
| 2015-01-06 Tristan Gingold <gingold@adacore.com> |
| |
| * targparm.ads: Remove obsolete comment. |
| |
| 2015-01-06 Olivier Hainque <hainque@adacore.com> |
| |
| * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When |
| constructing a ref to variable, update inner_const_flag from the |
| variable TREE_READONLY attribute. |
| * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default |
| definition. |
| (get_target_float_size): Remove. |
| (get_target_double_size): Remove. |
| (get_target_long_double_size): Remove. |
| |
| 2015-01-06 Pascal Obry <obry@adacore.com> |
| |
| * adaint.c (ProcListEvt): Set to NULL. |
| * rtinit.c: New file. |
| (__gnat_rt_init_count): New reference counter set to 0. |
| (__gnat_runtime_initialize): Move code here from __gnat_initialize when |
| this code is actually needed for the runtime initialization. This |
| routine returns immediately if the initialization has already been done. |
| * final.c: Revert previous change. |
| * rtfinal.c: New file. |
| (__gnat_runtime_finalize)[Win32]: Add finalization of the critical |
| section and event. The default version of this routine is empty (except |
| for the reference counting code). This routine returns immediately if |
| some others libraries are referencing the runtime. |
| * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize |
| remove circuitry to initialize the signal handler as this is |
| now done by the runtime initialization routine. |
| (Gen_Adafinal): Generate call to Runtime_Finalize. |
| * gnat_ugn.texi: Update documentation about concurrency and |
| initialization/finalization of the run-time. |
| * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add |
| references to rtfinal.o and rtinit.o |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry |
| for Enum_Image. |
| * sem_attr.adb: Implement Enum_Image attribute. |
| * snames.ads-tmpl: Add entries for Enum_Image attribute. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * namet.ads: Document use of Boolean2 for No_Use_Of_Entity. |
| * restrict.ads (No_Use_Of_Entity): New table. |
| * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): |
| Ignore No_Use_Of_Entity (will be processed in parser). |
| * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity. |
| |
| 2015-01-06 Vincent Celier <celier@adacore.com> |
| |
| * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try |
| to check for an extended project, if a project does not have |
| yet a project declaration. |
| |
| 2015-01-06 Pierre-Marie Derodat <derodat@adacore.com> |
| |
| * scos.ads: Update documentation about the SCO table build |
| process and about table records format. |
| * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw. |
| (SCO_Record_Filtered): New procedure. |
| (Set_SCO_Logical_Operator): New procedure. |
| (dsco): Update documentation. |
| * par_sco.adb: Update library-level comments. |
| (SCO_Generation_State_Type): New type. |
| (SCO_Generation_State): New variable. |
| (SCO_Raw_Table): New package instanciation. |
| (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table. |
| ("<"): New. |
| (Tristate): New type. |
| (Is_Logical_Operator): Return Tristate and update documentation. |
| (Has_Decision): Update call to Is_Logical_Operator and complete |
| documentation. |
| (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update |
| comment, add an assertion for state checking and change |
| references to SCO_Table into SCO_Raw_Table. |
| (dsco): Refactor to dump the raw and the filtered tables. |
| (Process_Decisions.Output_Decision_Operand): Handle putative |
| short-circuit operators. |
| (Process_Decisions.Output_Element): Update references |
| to Set_Table_Entry and to Condition_Pragma_Hash_Table. |
| (Process_Decisions.Process_Decision_Operand): Update call |
| to Is_Logical_Operator. |
| (Process_Decisions.Process_Node): Handle putative short-circuit |
| operators and change references to |
| SCO_Table into SCO_Raw_Table. |
| (SCO_Output): Add an assertion |
| for state checking and remove code that used to stamp out SCO entries. |
| (SCO_Pragma_Disabled): Change reference to SCO_Table |
| into SCO_Raw_Table. |
| (SCO_Record): Rename to SCO_Record_Raw, |
| add an assertion for state checking and change references |
| to SCO_Table into SCO_Raw_Table. |
| (Set_SCO_Condition): Add an assertion for state checking, update |
| references to Condition_Pragma_Hash_Table and change references to |
| SCO_Table into SCO_Raw_Table. |
| (Set_SCO_Pragma_Enabled): Add an assertion for state checking and |
| change references to SCO_Table into SCO_Raw_Table. |
| (Set_SCO_Logical_Operator): New procedure. |
| (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update |
| references to Set_Table_Entry and to Condition_Pragma_Hash_Table. |
| (SCO_Record_Fildered): New procedure. |
| * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass. |
| * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and |
| output SCOs. |
| * par-load.adb (Load): Update reference to SCO_Record. |
| * par.adb (Par): Update reference to SCO_Record. |
| * put_scos.adb (Put_SCOs): Add an assertion to check that no |
| putative SCO condition reaches this end. |
| * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record. |
| * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs |
| when corresponding to an "and"/"or" operator affected by the |
| Short_Circuit_And_Or pragma. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_ch8.adb (Analyze_Use_Package): Give more specific error |
| msg for attempted USE of generic subprogram or subprogram. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb, |
| s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb, |
| a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects |
| that specify stream subprograms, if the prefix is a class-wide |
| type then the generated attribute definition clause must apply |
| to the same class-wide type. |
| (Default_Iterator): An iterator defined by an aspect of some |
| container type T must have a first parameter of type T, T'class, |
| or an access to such (from code reading RM 5.5.1 (2/3)). |
| |
| 2015-01-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat1drv.adb: Minor: complete previous change. |
| |
| 2015-01-06 Olivier Hainque <hainque@adacore.com> |
| |
| * set_targ.ads (C_Type_For): New function. Return the name of |
| a C type supported by the back-end and suitable as a basis to |
| construct the standard Ada floating point type identified by |
| the T parameter. This is used as a common ground to feed both |
| ttypes values and the GNAT tree nodes for the standard floating |
| point types. |
| * set_targ.adb (Long_Double_Index): The index at which "long |
| double" gets registered in the FPT_Mode_Table. This is useful to |
| know whether we have a "long double" available at all and get at |
| it's characteristics without having to search the FPT_Mode_Table |
| when we need to decide which C type should be used as the |
| basis for Long_Long_Float in Ada. |
| (Register_Float_Type): Fill Long_Double_Index. |
| (FPT_Mode_Index_For): New function. Return the index in |
| FPT_Mode_Table that designates the entry corresponding to the |
| provided C type name. |
| (FPT_Mode_Index_For): New function. Return the index in |
| FPT_Mode_Table that designates the entry for a back-end type |
| suitable as a basis to construct the standard Ada floating point |
| type identified by the input T parameter. |
| (elaboration code): Register_Back_End_Types unconditionally, |
| so C_Type_For can operate regardless of -gnateT. Do it |
| early so we can query it for the floating point sizes, via |
| FPT_Mode_Index_For. Initialize Float_Size, Double_Size and |
| Long_Double_Size from the FPT_Mode_Table, as cstand will do. |
| * cstand.adb (Create_Float_Types): Use C_Type_For to determine |
| which C type should be used as the basis for the construction |
| of the Standard Ada floating point types. |
| * get_targ.ads (Get_Float_Size, Get_Double_Size, |
| Get_Long_Double_Size): Remove. |
| * get_targ.adb: Likewise. |
| |
| 2015-01-06 Thomas Quinot <quinot@adacore.com> |
| |
| * sem_cat.adb (In_RCI_Declaration): Remove unnecessary |
| parameter and rename to... |
| (In_RCI_Visible_Declarations): Fix handling of private part of nested |
| package. |
| (Validate_RCI_Subprogram_Declaration): Reject illegal function |
| returning anonymous access in RCI unit. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a |
| function wrapper may be a homonym of another local declaration. |
| * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode, |
| build function and operator wrappers after the actual subprogram |
| has been resolved, and replace the standard renaming declaration |
| with the declaration of wrapper. |
| * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer): |
| make public for use elsewhere. |
| * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer): |
| rewrite, now that actual is fully resolved when wrapper is |
| constructed. |
| |
| 2015-01-06 Javier Miranda <miranda@adacore.com> |
| |
| * exp_disp.adb: Revert previous change. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * exp_util.adb: Change name Name_Table_Boolean to |
| Name_Table_Boolean1. |
| * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1 |
| Introduce Name_Table_Boolean2/3. |
| * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1 |
| Introduce Name_Table_Boolean2/3. |
| * par-ch13.adb: Change name Name_Table_Boolean to |
| Name_Table_Boolean1. |
| |
| 2015-01-06 Bob Duff <duff@adacore.com> |
| |
| * gnat_rm.texi: Improve documentation regarding No_Task_Termination. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an |
| others choice that covers multiple components, analyze each |
| copy with the type of the component even in compile-only mode, |
| to detect potential accessibility errors. |
| |
| 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine. |
| (Resolve_Actuals): An effectively volatile out |
| parameter cannot act as an in or in out actual in a call. |
| (Resolve_Entity_Name): An effectively volatile out parameter |
| cannot be read. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is |
| the expansion of an expression function it may be pre-analyzed |
| if a 'access attribute is applied to the function, in which case |
| last_entity may have been assigned already. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete |
| type and actual has the corresponding full view, there is no |
| error, but a case of use of incomplete type in a predicate or |
| invariant expression. |
| |
| 2015-01-06 Vincent Celier <celier@adacore.com> |
| |
| * makeutl.adb (Insert_No_Roots): Make sure that the same source |
| in two different project tree is checked in both trees, if they |
| are sources of two different projects, extended or not. |
| |
| 2015-01-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnat1drv.adb: Minor code clean up. |
| (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode. |
| |
| 2015-01-06 Bob Duff <duff@adacore.com> |
| |
| * osint.adb (Read_Source_File): Don't print out |
| file name unless T = Source. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal): |
| recognize improper uses of constant_reference types as actuals |
| for in-out parameters. |
| (Check_Function_Call): Do not collect identifiers if function |
| name is missing because of previous error. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb, |
| ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb: |
| Minor change of name Name_Table_Info => Name_Table_Int. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments |
| in previous checkin. |
| * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving |
| of bounds. |
| * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting. |
| |
| 2015-01-06 Vincent Celier <celier@adacore.com> |
| |
| * a-strsup.adb (Times (Natural;String;Positive)): Raise |
| Length_Error, not Index_Error, when the result is too long. |
| |
| 2015-01-06 Thomas Quinot <quinot@adacore.com> |
| |
| * a-direct.adb (Create_Path): Minor error handling and |
| performance improvement. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * checks.ads, sem_ch12.adb: Minor reformatting. |
| * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by |
| zero check for fixed-point case if Backend_Divide_Checks_On_Target |
| is False. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): |
| Do not set restriction No_Elaboration_Code unless the pragma |
| appears in the main unit). |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify |
| that with clause has already been analyzed before checking kind |
| of with_clause. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * exp_strm.adb (Build_Elementary_Input_Call): Return base type |
| (as required by RM). |
| |
| 2015-01-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check). |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning |
| for ignoring pragma Suppress (Elaboration_Check) in SPARK mode. |
| |
| 2015-01-06 Javier Miranda <miranda@adacore.com> |
| |
| * exp_disp.adb (Expand_Interface_Conversion): No displacement |
| of the pointer to the object needed when the type of the operand |
| is not an interface type and the interface is one of its parent |
| types (since they share the primary dispatch table). |
| |
| 2015-01-06 Vincent Celier <celier@adacore.com> |
| |
| * prj-env.adb: Minor comment update. |
| |
| 2015-01-06 Javier Miranda <miranda@adacore.com> |
| |
| * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous |
| access types whose target type is an interface type to operands |
| that are access types; required to report an error when the |
| operand is not an access type. |
| |
| 2015-01-06 Bob Duff <duff@adacore.com> |
| |
| * a-cfinve.adb (Copy): Set the discriminant to the Length when |
| Capacity = 0. |
| * a-cofove.ads (Capacity): Add a postcondition. |
| * a-cfinve.ads (Capacity): Add a postcondition. |
| (Reserve_Capacity): Correct the postcondition in the case where |
| Capacity = 0; that means "Capacity => Length (Container)". |
| * a-cofove.adb (Elems[c]): Add a comment |
| explaining the dangers and how to avoid them. |
| |
| 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
| |
| * sem_ch12.adb: Code clean up. |
| |
| 2015-01-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * gnatvsn.ads: Bump copyright year. |
| |
| 2015-01-06 Robert Dewar <dewar@adacore.com> |
| |
| * s-taskin.ads, s-traces.ads: Minor reformatting. |
| * exp_util.adb: Minor typo fix. |
| |
| 2015-01-06 Vincent Celier <celier@adacore.com> |
| |
| * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path |
| with the runtime name. |
| * prj-env.adb (Initialize_Default_Project_Path): When both |
| Target_Name and Runtime_Name are not empty string, add to the |
| project path the two directories .../lib/gnat and .../share/gpr |
| related to the runtime. |
| * prj-env.ads (Initialize_Default_Project_Path): New String |
| parameter Runtime_Name, defaulted to the empty string. |
| |
| 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * frontend.adb: Guard against the case where a configuration |
| pragma may be split into multiple pragmas and the original |
| rewritten as a null statement. |
| * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy |
| pragma using Insert_Before rather than Insert_Action. This |
| takes care of the configuration pragma case where Insert_Action |
| would fail. |
| |
| 2015-01-06 Bob Duff <duff@adacore.com> |
| |
| * a-coboho.ads (Element_Access): Add "pragma |
| No_Strict_Aliasing (Element_Access);". This is needed because |
| we are unchecked-converting from Address to Element_Access. |
| * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the |
| result to be 1. |
| |
| 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> |
| |
| * sem_res.adb (Resolve_Actuals): Remove the |
| restriction which prohibits volatile actual parameters with |
| enabled external propery Async_Writers to act appear in procedure |
| calls where the corresponding formal is of mode OUT. |
| |
| 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| * gnat_ugn.texi: Bump @copying's copyright year. |
| |
| 2015-01-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/64492 |
| * gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code. |
| |
| 2015-01-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| * gcc-interface/misc.c (internal_error_function): Use xasprintf instead |
| of unchecked asprintf. |
| |
| |
| Copyright (C) 2015 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |