2010-09-09 Ed Schonberg <schonberg@adacore.com>
* 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.
From-SVN: r164096
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.
From-SVN: r164094
* 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.
From-SVN: r164093
2010-09-09 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
Replace_Element, Reverse_Elements, Swap): Change exception message to
correctly indicate kind of tampering (cursor or element).
* a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
Swap_Links, Replace_Element, Swap): Ditto.
* a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
* a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
* a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
* a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
Generic_Replace_Element): Ditto
* a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
* a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
Replace_Element): Ditto.
* a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
Symmetric_Difference, Union, Include, Replace): Ditto
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* 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.
From-SVN: r164092
2010-09-09 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
Replace_Element, Reverse_Elements, Swap): Change exception message to
correctly indicate kind of tampering (cursor or element).
* a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
Swap_Links, Replace_Element, Swap): Ditto.
* a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
* a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
* a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
* a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
Generic_Replace_Element): Ditto
* a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
* a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
Replace_Element): Ditto.
* a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
Symmetric_Difference, Union, Include, Replace): Ditto
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* 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.
From-SVN: r164091
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
2010-09-09 Yannick Moy <moy@adacore.com>
* a-cihama.adb, a-cohama.adb: Fix comments.
2010-09-09 Arnaud Charlet <charlet@adacore.com>
* 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.
From-SVN: r164089
2010-09-09 Doug Rupp <rupp@adacore.com>
* sem_prag.adb (pragma Ident): Pass --identification= vice
IDENTIFICATION=
* gnatlink.adb (Linker_Options): Look for --identification= vice
IDENTIFICATION=
2010-09-09 Gary Dismukes <dismukes@adacore.com>
* 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.
From-SVN: r164088
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.
From-SVN: r164086
* 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.
From-SVN: r164085
2010-09-09 Robert Dewar <dewar@adacore.com>
* sem_attr.adb: Minor reformatting.
2010-09-09 Thomas Quinot <quinot@adacore.com>
* 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.
From-SVN: r164084
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Items): Traverse context of subunits of the
main unit.
(Is_Subunit_Of_Main): Handle null nodes properly.
2010-09-09 Robert Dewar <dewar@adacore.com>
* par-ch2.adb: Update comments.
From-SVN: r164083
2010-09-09 Ben Brosgol <brosgol@adacore.com>
* 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.
From-SVN: r164082
2010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* 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.
From-SVN: r164076
2010-09-09 Paolo Carlini <paolo.carlini@oracle.com>
* libsupc++/cxxabi.h: Uglify nothrow to __nothrow__; fix a few
inconsistent uglifications everywhere.
From-SVN: r164073
2010-09-09 Vincent Celier <celier@adacore.com>
* 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.
From-SVN: r164072
* 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.
From-SVN: r164071
2010-09-09 Vincent Celier <celier@adacore.com>
* osint.adb (Canonical_Case_File_Name): Use procedure To_Lower in
System.Case_Util
(Canonical_Case_Env_Var_Name): Ditto
2010-09-09 Bob Duff <duff@adacore.com>
* g-pehage.adb (Allocate): Initialize the allocated elements of IT.
2010-09-09 Robert Dewar <dewar@adacore.com>
* cstand.adb: Mark Boolean and Character types as Ordered
* einfo.adb (Has_Pragma_Ordered): New flag
* einfo.ads (Has_Pragma_Ordered): New flag
* g-calend.ads: Mark Day_Name as Ordered
* opt.ads: Mark Ada_Version_Type as Ordered
(Warn_On_Unordered_Enumeration_Type): New flag
* par-prag.adb: Add procdessing for pragma Ordered
* s-ficobl.ads (Read_File_Mode): New subtype
* s-fileio.adb: Use Read_File_Mode instead of explicit ranges
* s-taskin.ads: Mark Entry_Call_State as ordered
* sem_ch3.adb (Build_Derived_Enumeration_Type): Inherit
Has_Pragma_Ordered.
* sem_ch6.ads: Mark Conformance_Type as Ordered
* sem_prag.adb: Implement pragma Ordered
* sem_res.adb (Bad_Unordered_Enumeration_Reference): New function
(Resolve_Comparison_Op): Diagnose unordered comparison
(Resolve_Range): Diagnose unordered range
* sem_warn.adb (Warn_On_Unordered_Enumeration_Type): New flag (from
-gnatw.u/U)
* snames.ads-tmpl: Add entry for pragma Ordered
* style.ads (Check_Enumeration_Subrange): Removed
* styleg.adb (Check_Enumeration_Subrange): Removed
* styleg.ads (Check_Enumeration_Subrange): Removed
* stylesw.adb: Remove handling of -gnatyE switch
* stylesw.ads: (Style_Check_Enumeration_Subranges): Removed
* vms_data.ads: Remove -gnatyE entries
Add -gnatw.u entries
* ug_words: Entries for -gnatw.u and -gnatw.U
* gnat_ugn.texi: Document -gnatw.u/-gnatw.U switches
* gnat_rm.texi: Document pragma Ordered.
* s-tasren.adb: Avoid unnecessary comparison on unordered enumeration.
* s-tpobop.adb: Remove comparison on unordered enumeration type.
From-SVN: r164070
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.
From-SVN: r164069
2010-09-09 Robert Dewar <dewar@adacore.com>
* sem_util.adb: Minor reformatting
2010-09-09 Vincent Celier <celier@adacore.com>
* vms_data.ads: Add documentation for S_Make_Single.
From-SVN: r164068
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* 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.
From-SVN: r164067
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* 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.
2010-09-09 Robert Dewar <dewar@adacore.com>
* sem.adb, sem_warn.adb: Minor reformatting.
From-SVN: r164064
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Improve error message on untagged equality.
* sem.adb (Semantics): Include subprogram bodies that act as spec.
2010-09-09 Javier Miranda <miranda@adacore.com>
* sem_ch13.adb, exp_ch13.adb: Undo previous change, unneeded.
From-SVN: r164062
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* 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.
From-SVN: r164060
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.
From-SVN: r164059
2010-09-09 Robert Dewar <dewar@adacore.com>
* par-ch5.adb (Test_Statement_Required): Deal with Ada 2012 allowing no
null statement after label.
* sinfo.ads: Minor comment updates.
From-SVN: r164057
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
2010-09-09 Robert Dewar <dewar@adacore.com>
* par-ch5.adb: Minor reformatting.
From-SVN: r164056
2010-09-09 Robert Dewar <dewar@adacore.com>
* 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.
From-SVN: r164055
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.
From-SVN: r164052