* config/arm/neon-schedgen.ml (allCores): Add support for
Cortex-A9.
* config/arm/cortex-a9-neon.md: New and partially generated.
* config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
Robert Dewar [Fri, 10 Sep 2010 11:01:37 +0000 (11:01 +0000)]
repinfo.adb (List_Type_Info): List Small and Range for fixed-point types.
2010-09-10 Robert Dewar <dewar@adacore.com>
* repinfo.adb (List_Type_Info): List Small and Range for fixed-point
types.
* sprint.adb (Write_Ureal_With_Col_Check_Sloc): Use square brackets
rather than parens for fixed constants.
* sprint.ads: Use square brackets rather than parens for fixed constants
* urealp.adb (UR_Write): Use square brackets rather than parens
(UR_Write): Add Brackets argument
(UR_Write): Add many more special cases to output literals
* urealp.ads (UR_Write): Use square brackets rather than parens
(UR_Write): Add Brackets argument
Jakub Jelinek [Fri, 10 Sep 2010 10:52:16 +0000 (12:52 +0200)]
re PR bootstrap/45630 (Revision 164050 breaks bootstrap on powerpc-apple-darwin9)
PR bootstrap/45630
* dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
(implicit_ptr_descriptor): Return NULL if dwarf_strict.
* sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do
not reset Sloc when printing keyword "new".
2010-09-10 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): Put the command line in environment variable
GNAT_DRIVER_COMMAND_LINE.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Do_Unit_And_Dependents): if Withed_Body is set on a context
clause, process the body at once.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): Do not warn on a redundant
conversion is the expression is a qualified expression used to
disambiguate a function call.
2010-09-10 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
as a source of another project and of another language.
* sem_prag.adb (Analyze_Pragma): Ignore Inline_Always pragma in
CodePeer mode.
2010-09-10 Thomas Quinot <quinot@adacore.com>
* sem_res.adb: Minor reformatting.
* exp_ch9.adb, rtsfind.ads, exp_ch4.adb, exp_ch3.adb: Do not hardcode
magic constants for task master levels (instead, reference
named numbers from System.Tasking).
2010-09-10 Eric Botcazou <ebotcazou@adacore.com>
* gnatvsn.ads (Ver_Prefix): New constant string.
* bindgen.adb (Gen_Output_File_Ada): Use it in lieu of hardcoded value.
(Gen_Output_File_C): Likewise.
* g-comver.adb (Ver_Prefix): Add cross-reference to Gnatvsn.Ver_Prefix
in comment.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Items): Do not traverse children of the main
unit, to prevent spurious circularities in the walk order.
(Depends_On_Main): Use elsewhere to prevent circularities when the body
of an ancestor of the main unit depends on a child of the main unit.
* sem_ch3.adb (Derive_Subprograms): An interface primitive operation
that is a renaming must be derived like any other primitive operation,
the renamed operation is not relevant to the derivation.
2010-09-10 Robert Dewar <dewar@adacore.com>
* sem_aux.ads: Add comment for Is_Inherently_Limited_Type.
* checks.adb: Minor reformatting.
* gnat_ugn.texi: Add section on intent of style checking options.
2010-09-10 Arnaud Charlet <charlet@adacore.com>
* xref_lib.adb (Get_Full_Type): Fix handling of 'a' char.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Improve error message on derivation from class-wide type
2010-09-10 Steve Baird <baird@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Enable Expression_With_Actions
generation when Generate_SCIL is True.
2010-09-10 Geert Bosch <bosch@adacore.com>
* gnatlink.adb (Check_ Existing_Executable): New procedure for checking
validity of executable name and removing any existing executable
(Gnatlink): Call Check_Existing_Executable.
Nicola Pero [Fri, 10 Sep 2010 09:56:40 +0000 (09:56 +0000)]
deprecated: New directory.
* libobjc/objc/deprecated: New directory.
* libobjc/objc/deprecated/README: New file.
* libobjc/objc/README: New file.
* libobjc/objc/typedstream.h: Moved into objc/deprecated/typedstream.h;
objc/typedstream.h replaced with a placeholder including the file
from the deprecated/ directory.
* libobjc/objc/deprecated/objc-unexpected-exception.h: New file with the
definition of _objc_unexpected_exception.
* libobjc/objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h
instead of defining _objc_unexpected_exception.
* libobjc/objc/deprecated/Object.h: New file with the deprecated Object
methods in a 'Deprecated' category.
* libobjc/objc/Object.h Include deprecated/Object.h instead of defining
the deprecated methods.
* libobjc/Object.m: Moved deprecated methods into 'Deprecated' category.
* libobjc/objc-private: New directory.
* libobjc/objc-private/README: New file.
* libobjc/Makefile.in (OBJC_DEPRECATED_H): New variable.
(install-headers): Create installation directory for
OBJC_DEPRECATED_H headers, and install them.
* s-tporft.adb, s-taskin.ads (Register_Foreign_Thread): Move
initialization of Task_Alternate_Stack here, cleaner since in case of
ranvescar, Restricted_Ada_Task_Control_Block is not initialized
implicitly.
* prj-util.adb (Executable_Of): Fix CE when the project does not
contain a Builder package.
2010-09-10 Vincent Celier <celier@adacore.com>
* prj-ext.adb (Initialize_Project_Path): Add <prefix>/lib/gpr/<target>
to the project path, if Prefix and Target_Name are defined.
* prj-tree.ads (Project_Node_Tree_Data): New component Target_Name
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Ensure_Valid): If the expression is a boolean expression
or short-circuit operation, do no emit a validity check: only the
elementary operands of the expression need checking.
2010-09-10 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Document Short_Descriptors.
2010-09-10 Arnaud Charlet <charlet@adacore.com>
* s-taprop-linux.adb, s-taskin.ads (Task_Alternate_Stack): Default
initialize to Null_Address.
(Enter_Task): Do not set up an alternate stack for foreign threads.
* opt.adb (Short_Descriptors): New flag
(Short_Descriptors_Config): New flag
* opt.ads (Short_Descriptors): New flag
(Short_Descriptors_Config): New flag
* par-prag.adb: Add dummy entry for Short_Descriptors pragma
* sem_prag.adb (Set_Mechanism_Value): Deal with Short_Descriptors pragma
(Analyze_Pragma): Implement Short_Descriptors pragma
* snames.ads-tmpl: Add entry for Short_Descriptors pragma
2010-09-10 Emmanuel Briot <briot@adacore.com>
* prj-util.adb, prj-util.ads (Executable_Of): Take into account the
project's Executable_Suffix.
Martin Jambor [Thu, 9 Sep 2010 23:38:23 +0000 (01:38 +0200)]
re PR tree-optimization/44972 (ICE: in load_assign_lhs_subreplacements, at tree-sra.c:2475)
2010-09-10 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44972
* tree-sra.c: Include toplev.h.
(build_ref_for_offset): Entirely reimplemented.
(build_ref_for_model): New function.
(build_user_friendly_ref_for_offset): New function.
(analyze_access_subtree): Removed build_ref_for_offset check.
(propagate_subaccesses_across_link): Likewise.
(create_artificial_child_access): Use
build_user_friendly_ref_for_offset.
(propagate_subaccesses_across_link): Likewise.
(ref_expr_for_all_replacements_p): Removed.
(generate_subtree_copies): Updated comment. Use build_ref_for_model.
(sra_modify_expr): Use build_ref_for_model.
(load_assign_lhs_subreplacements): Likewise.
(sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
checks for return values of build_ref_for_offset.
* ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of
build_ref_for_offset.
* ipa-prop.h: Include gimple.h
* ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs.
(ipa_analyze_indirect_call_uses): Update comment.
* Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies.
(IPA_PROP_H): Likewise.
* testsuite/gcc.dg/ipa/ipa-sra-1.c: Adjust scanning expressions.
* testsuite/gcc.dg/tree-ssa/pr45144.c: Likewise.
* testsuite/gcc.dg/tree-ssa/forwprop-5.c: Likewise and scan optimzed
dump instead.
* testsuite/g++.dg/torture/pr44972.C: New test.
* config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15.
* config/arm/arm-cores.def (cortex-a15): New core. Treat it
as a v7-a.
* config/arm/arm-tune.md: Regenerate.
* doc/invoke.texi (ARM Options): Document it.
re PR target/40959 (FreeBSD/ia64 build fails: No rule to make target `/usr/ports/lang/gcc43/work/build/ia64-portbld-freebsd8.0/libgcc/crtfastmath.o', needed by `T_TARGET'.)
2010-09-09 Gerald Pfeifer <gerald@pfeifer.com>
Andrew Pinski <pinskia@gmail.com>
PR target/40959
* config.host (ia64*-*-freebsd*): Set extra_parts. Set tmake_file.
Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r164132
Mikael Morin [Thu, 9 Sep 2010 17:09:37 +0000 (17:09 +0000)]
trans-array.c (gfc_get_array_ref_dim): New function.
2010-09-09 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_get_array_ref_dim): New function.
(gfc_trans_create_temp_array): Reconstruct array
bounds from loop bounds. Use array bounds instead of loop bounds.
Jan Hubicka [Thu, 9 Sep 2010 15:07:21 +0000 (17:07 +0200)]
tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result of string folding is of integral type.
* tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result of
string folding is of integral type.
* fortran.fortran-torture/compile/pr45598.f90: New test.
Vincent Celier [Thu, 9 Sep 2010 13:55:34 +0000 (13:55 +0000)]
gnat_ugn.texi: Add documentation for new gnatmake switch --create-map-file.
2010-09-09 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation for new gnatmake switch
--create-map-file.
* make.adb (Map_File): New global variable to store the value of switch
--create-map-file.
(Gnatmake): Add switch -M to gnatlink if buider switch --create-map-file
has been specified.
(Scan_Make_Arg): Recognize switch --create-map-file
* makeutl.ads (Create_Map_File_Switch): New constant string for new
gnatmake and gprbuild switch --create-map-file.
* s-tpobop.adb, s-taenca.adb (Wait_For_Completion_With_Timeout): Reset
Entry_Call.State if needed so that the call is marked as cancelled by
Check_Pending_Actions_For_Entry_Call.
(Timed_Protected_Entry_Call): Adjust calls to Defer/Under_Abort, since
this procedure may be called from a controlled operation
(Initialize/Finalize).
2010-09-09 Vadim Godunko <godunko@adacore.com>
* impunit.adb: Correct spelling of package's name in the comment.
re PR middle-end/40386 (wrong code generation for several SPEC CPU2000 benchmarks (lucas, mgrid, face, applu, apsi) with -O1 -fno-ira-share-spill-slots)
2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/40386
* ira.c (pseudo_for_reload_consideration_p): Don't use
flag_ira_share_spill_slots.
2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/40386
* gcc.c-torture/execute/{pr40386.c,pr40386.x}: New testcase.
* sem_eval.adb (Is_Same_Value): Two occurrences of the same
discriminant cannot be assumed to be the same value because they may
refer to bounds of a component of two different instances of a
discriminated type.
2010-09-09 Gary Dismukes <dismukes@adacore.com>
* checks.adb (Apply_Arithmetic_Overflow_Check): When converting the
operands of an operator to the type of an enclosing conversion, rewrite
the operator so the conversion can't be flagged as redundant.
Remove useless assignments to Typ and Rtyp.
2010-09-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Fix another long line.
2010-09-09 Bob Duff <duff@adacore.com>
* sem_warn.adb (Output_Reference_Error): Don't warn for renames read
but never assigned.
Mikael Morin [Thu, 9 Sep 2010 13:41:54 +0000 (13:41 +0000)]
trans-array.c (gfc_trans_create_temp_array): Don't set dim array.
2010-09-09 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_trans_create_temp_array): Don't set dim array.
(gfc_conv_loop_setup, gfc_walk_function_expr): Set dim array.
* trans-intrinsic.c (gfc_walk_intrinsic_libfunc): Ditto.
* sprint.adb (Write_Id): If the parent node is an expanded name, check
that its entity_or_associated_node is an entity before writing it out.
* exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
constructors, there is no need for a dispatch table pointer because the
table is fully inherited from the C++ code.
2010-09-09 Thomas Quinot <quinot@adacore.com>
* projects.texi: Fix wrong identifiers on package end lines in project
files examples.
* exp_ch6.adb: Minor reformatting.
2010-09-09 Tristan Gingold <gingold@adacore.com>
* gnatcmd.adb, vms_conv.ads, vms_help.adb, vms_cmds.ads: Extract
Command_Type from vms_conv.ads.
2010-09-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Fix description of -O3 optimization level.
* sprint.adb (Write_Id): If the parent node is an expanded name, check
that its entity_or_associated_node is an entity before writing it out.
* exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
constructors, there is no need for a dispatch table pointer because the
table is fully inherited from the C++ code.
2010-09-09 Thomas Quinot <quinot@adacore.com>
* projects.texi: Fix wrong identifiers on package end lines in project
files examples.
* exp_ch6.adb: Minor reformatting.
2010-09-09 Tristan Gingold <gingold@adacore.com>
* gnatcmd.adb, vms_conv.ads, vms_help.adb, vms_cmds.ads: Extract
Command_Type from vms_conv.ads.
2010-09-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Fix description of -O3 optimization level.
Mikael Morin [Thu, 9 Sep 2010 13:25:07 +0000 (13:25 +0000)]
trans-array.c (gfc_trans_create_temp_array): Assert loop dimension and info dimension are the same.
2010-09-09 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_trans_create_temp_array): Assert loop dimension
and info dimension are the same. Loop over loop dimension.
* trans-stmt.c (gfc_conv_elemental_dependencies): Set loop dimension
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r164090
* i-cexten.ads: Add comments.
(Signed_128): New type, used by some C bindings.
* debug.adb: Update comment.
2010-09-09 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: For ASIS tools (gnatpp, gnatcheck, gnatelim,
gnatmetric and gnatstub) add a note that '-gnat05' should be used if
the tool should process Ada 2005 sources.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Remove_Parent): If the scope containing the child
instance is a block, examine the enclosing scope to determine if it is
a parent instance.
* exp_attr.adb (Expand_N_Attribute_Reference, case Attribute_Old): When
inserting and analyzing the object declaration for the temporary object
created to hold a 'Old value, push the scope for the subprogram where
the object is inserted, so that its Scope (and that of related objects)
will be set properly.
Vincent Celier [Thu, 9 Sep 2010 12:56:05 +0000 (12:56 +0000)]
prj.adb (Get_Object_Directory): Return object directory display name
2010-09-09 Vincent Celier <celier@adacore.com>
* prj.adb (Get_Object_Directory): Return object directory display name
* adaint.c (__gnat_get_file_names_case_sensitive): When environment
variable GNAT_FILE_NAME_CASE_SENSITIVE has a value of "0" or "1",
return this value, otherwise return the default for the platform.
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
dependencies. Remove handling of gnatlbr.
Do not remove s-stratt-xdr for the run-time when installing.
* socket.c (__gnat_socket_ioctl): On Darwin, the req parameter is an
unsigned long, not an int.
2010-09-09 Vincent Celier <celier@adacore.com>
* make.adb, mlib-prj.adb, prj.adb, prj-nmsc.adb, mlib-tgt.adb,
prj-conf.adb, prj-env.adb: Use Display_Name instead of Name whenever
we are not checking for equality of path or file names.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Remove_Side_Effects): If the expression is a packed
array reference, reset the Analyzed flag so that it is properly
expanded when the resulting object declaration is analyzed.
2010-09-09 Vincent Celier <celier@adacore.com>
* sinput-p.adb (Source_File_Is_Subunit): Return False if X is
No_Source_File.
2010-09-09 Ramon Fernandez <fernandez@adacore.com>
* sysdep.c: The wrSbc8548 BSP in MILS doesn't know anything about the
VX_SPE_TASK option, so disable it.
* gnat_rm.texi: Minor wordsmithing of section on pragma Ordered.
2010-09-09 Arnaud Charlet <charlet@adacore.com>
* par-ch2.adb (Scan_Pragma_Argument_Association): In CodePeer mode,
do not generate an error for compatibility with legacy code.
ignored when generating SCIL.
* sem_attr.adb (Resolve_Attribute): Ignore AI-229 in CodePeer mode.
* config/s390/s390.c (legitimate_reload_constant_p): Accept floating-
point zero operands that fit into a single GPR.
(s390_preferred_reload_class): Ensure we only return general-purpose
register classes.
* config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load
floating-point zero operands into GPRs.
("*mov<mode>_64"): Likewise.
("mov<mode>"): Likewise using lhi.
* prj-proc.adb: Minor comment spelling error fix.
* osint.ads (Env_Vars_Case_Sensitive): Use function
Get_Env_Vars_Case_Sensitive, not Get_File_Names_Case_Sensitive to
compute value.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Equality_Op): Implement Ada2012 rule for
resolution of conditional expressions whose dependent expressions are
anonymous access types.
2010-09-09 Robert Dewar <dewar@adacore.com>
* a-ststio.adb: Minor code reorganization.
* s-direio.adb, prj.adb, prj-nmsc.adb, sem_type.adb: Remove redundant
conversion.
* types.ads: Minor reformatting.
* binde.adb, vms_conv.adb, gnatls.adb, s-strxdr.adb, uintp.adb: Remove
redundant conversions.
* output.adb: Minor reformatting.
* sem_ch8.adb (Find_Type): Test for redundant base applies to user
types.
* opt.ads: Add pragma Ordered for Verbosity_Level.
* prj.ads: Add pragma Ordered for type Verbosity.
predicates.md (ext_register_operand): Check that SUBREG_REG is really a register before looking for REGNO.
* config/i386/predicates.md (ext_register_operand): Check that
SUBREG_REG is really a register before looking for REGNO.
(reg_not_xmm0_operand): Handle SUBREGs correctly.
(nonimm_not_xmm0_operand): Call reg_not_xmm0_operand.
Vincent Celier [Thu, 9 Sep 2010 10:24:43 +0000 (10:24 +0000)]
adaint.c: New function __gnat_get_env_vars_case_sensitive...
2010-09-09 Vincent Celier <celier@adacore.com>
* adaint.c: New function __gnat_get_env_vars_case_sensitive, returns 0
for VMS and Windows, and 1 for all other platforms.
* adaint.h: New function __gnat_get_env_vars_case_sensitive
* osint.ads, osint.adb (Canonical_Case_Env_Var_Name): New procedure.
* prj-ext.adb (Add): Call Canonical_Case_Env_Var_Name instead of
Canonical_Case_File_Name, as we are dealing with environment variables,
not files.
* sem_util.adb (Same_Object): include formal parameters.
2010-09-09 Vincent Celier <celier@adacore.com>
* make.adb (Queue): New package implementing a new impementation of the
queue, taking into account the new switch --single-compile-per-obj-dir.
* makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
* opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
False.
* switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
switch --single-compile-per-obj-dir.
* vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
switch --single-compile-per-obj-dir.
* gnat_ugn.texi: Add documentation for new gnatmake switch
--single-compile-per-obj-dir.
* exp_ch3.adb (Build_Untagged_Equality): Do not set alias of implicit
inequality, it is always rewritten as the negation of the corresponding
equality operation.
* exp_ch8.adb (Expand_N_Subprogram_Renaming): If the subprogram renames
the predefined equality of an untagged record, create a body at the
point of the renaming, to capture the current meaning of equality for
the type.
Robert Dewar [Thu, 9 Sep 2010 09:57:00 +0000 (09:57 +0000)]
sem_ch13.adb, [...]: Minor reformatting.
2010-09-09 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting.
2010-09-09 Robert Dewar <dewar@adacore.com>
* einfo.adb (Is_Aggregate_Type): New function.
* einfo.ads (Aggregate_Kind): New enumeration subtype
(Is_Aggregate_Type): New function.
* sem_type.adb (Is_Array_Class_Record_Type): Removed, replaced by
Is_Aggregate_Typea.
2010-09-09 Robert Dewar <dewar@adacore.com>
* exp_ch11.adb, frontend.adb, sem_attr.adb, sem_ch10.adb, sem_ch3.adb,
sem_ch4.adb, sem_ch9.adb, sem_res.adb: Use Restriction_Check_Needed
where appropriate.
* restrict.ads, restrict.adb: Ditto.
(Restriction_Check_Needed): New function
* exp_ch9.ads (Find_Master_Scope): New function, extracted from
Build_Master_Entity, to find the proper scope for the master entity of
a type that may contain tasks, in the presence of transient scopes.
* exp_ch9.adb (Build_Master_Entity) Use new function.
* exp_ch3.adb (Build_Class_Wide_Master): ditto.
2010-09-09 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Add new attributes Leading_Library_Options and
Linker'Leading_Switches.
* snames.ads-tmpl: Add new standard names Leading_Library_Options and
Leading_Switches.
Javier Miranda [Thu, 9 Sep 2010 09:47:53 +0000 (09:47 +0000)]
sem_ch3.adb (Derive_Subprogram): The code that checks if a dispatching primitive covers some interface primitive...
2010-09-09 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Derive_Subprogram): The code that checks if a
dispatching primitive covers some interface primitive is incomplete.
Replace such code by the invocation of a new subprogram that provides
this functionality.
* sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
* sem_ch6.adb (Check_Missing_Return): Minor reformating
(Check_Convention): Complete if-statement conditition when reporting
errors (to avoid assertion failure).
* sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
(Analyze_Freeze_Entity): Invoke routine that adds the spec of non
overridden null interface primitives.
* sem_type.adb (Is_Ancestor): If the parent of the partial view of a
private type is an interface then use the parent of its full view to
climb to its ancestor type.
* sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
(Check_Dispatching_Operation): Extend assertion to handle wrappers of
null interface primitives.
(Is_Null_Interface_Primitive): New subprogram.
* exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
(Expand_Freeze_Record_Type): Do not generate specs of null interface
subprograms because they are now generated by Analyze_Freeze_Entity.
* bindgen.adb (Gen_Restrictions_Ada): Avoid explicit enumeration ranges
(Gen_Restrictions_C): Avoid explicit enumeration ranges
(Set_String_Replace): New procedure
* casing.ads (Known_Casing): New subtype declaration
* prj-attr.ads (All_Case_Insensitive_Associative_Array): New subtype
declaration
* prj-dect.adb (Parse_Attribute_Declaration): Avoid enumeration range
* prj-nmsc.adb (Check_Naming): Avoid unnecessary enumeration range
* prj-strt.adb (Attribute_Reference): Avoid enumeration range test
* prj.adb (Known_Casing): Moved to Casing spec (avoid enum range)
* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Avoid enumeration
ranges
* sem_res.adb (Resolve_Range): Check for enumeration subrange style rule
* sem_type.adb (Is_Array_Class_Record_Type): New.
* style.ads (Check_Enumeration_Subrange): New procedure
* styleg.adb (Check_Enumeration_Subrange): New procedure
* styleg.ads (Check_Enumeration_Subrange): New procedure
* stylesw.adb Add handling for Style_Check_Enumeration_Subranges
* stylesw.ads (Style_Check_Enumeration_Subranges): New flag
* usage.adb: Add line for -gnatyE
* vms_data.ads: Add entries for [NO]ENUMERATION_RANGES
Add missing entry for NOBOOLEAN_OPERATORS
* gnat_ugn.texi: Add documentation for -gnatyE
2010-09-09 Robert Dewar <dewar@adacore.com>
* namet.adb (Initialize): Is now a dummy procedure
(Reinitialize): New procedure
Call Reinitialize from package initialization
* namet.ads (Initialize): Is now a dummy procedure
(Reinitialize): New procedure
* clean.adb, gnat1drv.adb, gnatbind.adb, gnatcmd.adb, gnatlink.adb,
gnatls.adb, gprep.adb, make.adb, prj-makr.adb: Remove obsolete call to
Namet.Initialize.
2010-09-09 Bob Duff <duff@adacore.com>
* sem_elab.adb, s-os_lib.ads: Minor comment fixes.
Robert Dewar [Thu, 9 Sep 2010 09:35:11 +0000 (09:35 +0000)]
nlists.ads, nlists.adb (In_Same_List): New function.
2010-09-09 Robert Dewar <dewar@adacore.com>
* nlists.ads, nlists.adb (In_Same_List): New function.
Use Node_Or_Entity_Id where appropriate.
* par-labl.adb, sem_ch6.adb, sem_type.adb: Use In_Same_List.
2010-09-09 Robert Dewar <dewar@adacore.com>
* restrict.ads, restrict.adb (Check_Wide_Character_Restriction): New
procedure.
* sem_ch3.adb: Use Check_Wide_Character_Restriction
(Enumeration_Type_Declaration): Check violation of No_Wide_Characters
* sem_ch8.adb (Find_Direct_Name): Check violation of No_Wide_Characters
(Find_Expanded_Name): Check violation of No_Wide_Characters
* prj-env.adb: Minor code reorganization.
* par-ch3.adb: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
a task declaration can be an entry body.
2010-09-09 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Decorate as "static" variables containing
tags of library level tagged types.
(Make_Tags): Disable backend optimizations about aliasing for
declarations of access to dispatch tables.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
subtype for a null-excluding access type, recover the original
subtype_mark to get the proper visibility on the original name.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
create the primitive equality operation for an untagged record. The
operation is the predefined equality if no record component has a
user-defined equality, or if there is a user-defined equality for the
type as a whole, or when the type is derived and it has an inherited
equality. Otherwise the body of the operations is built as for tagged
types.
(Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
(Make_Eq_Body): New function to create the expanded body of the equality
operation for tagged and untagged records. In both cases the operation
composes, and the primitive operation of each record component is used
to generate the equality function for the type.
* exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
has an abstract equality defined, replace its call with a
Raise_Program_Error.
* sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
user-defined equality operator for an untagged record type does not
happen after type is frozen, and appears in the visible part if partial
view of type is not limited.
2010-09-09 Tristan Gingold <gingold@adacore.com>
* gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
2010-09-09 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Remove incorrect statement about -E being the default.
re PR fortran/43665 (INTENT(IN) etc. optimization of calls: function annotations for noclobber/noescape arguments)
2010-09-09 Tobias Burnus <burnus@net-b.de>
PR fortran/43665
* intrincic.texi (FGET, FGETC, FPUT, FPUTC, FSTAT, GETCWD, KILL,
STAT): Show also syntax for the function version.
* intrinsic.c (add_sym_1s_intent, add_sym_2s_intent,
add_sym_3s_intent): Remove function.
(add_sym_1s, add_sym_2s, add_sym_3s): Take always the intent
as argument.
(add_sym_2_intent): New function.
(add_functions): Set intent for functions which modify
the argument: fstat, fgetc, fget, hostnm, lstat, stat. Change
argument name of hostnm from "a" to "c"
(add_subroutines): Change add_sym_*s_intent to
add_sym_*s and add intent to the add_sym_*s calls.