PR c++/44619
* typeck2.c (build_m_component_ref): Call mark_lvalue_use on
datum and mark_rvalue_use on component.
* g++.dg/warn/Wunused-var-13.C: New test.
From-SVN: r161230
PR c++/44627
* error.c (dump_expr): Don't look at CALL_EXPR_ARG (t, 0) if
the CALL_EXPR has no arguments.
* g++.dg/diagnostic/method1.C: New test.
From-SVN: r161227
* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
new statement and adjust VDEF only if necessary. Remove superfluous
call to maybe_clean_or_replace_eh_stmt.
* gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
copy the flags.
* gimple-iterator.c (gsi_replace): Clear BB of old statement here...
* tree-inline.c (copy_bb): ...and not there.
From-SVN: r161221
gcc/ChangeLog:
* dwarf2out.c (is_nested_in_subprogram): New function.
(should_move_die_to_comdat): Use it.
(copy_ancestor_tree): Don't mark DIEs here.
(copy_decls_walk): Start walk from root of newly-added tree;
mark DIEs here instead.
gcc/testsuite/ChangeLog:
* g++.dg/debug/dwarf2/dwarf4-typedef.C: New test.
From-SVN: r161217
2010-06-22 Robert Dewar <dewar@adacore.com>
* errout.adb (Finalize): Set Prev pointers.
(Finalize): Delete continuations for deletion by warnings off(str).
* erroutc.ads: Add Prev pointer to error message structure.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
child unit, examine context of parent units to locate instantiated
generics whose bodies may be needed.
* sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
with_clause for the instantiated generic, examine the context of its
parents, to set Withed_Body flag, so that it can be visited earlier.
* exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
an unsigned type, use a type of the proper size for the intermediate
value, to prevent alignment problems on unchecked conversion.
2010-06-22 Geert Bosch <bosch@adacore.com>
* s-rannum.ads Change Generator type to be self-referential to allow
Random to update its argument. Use "in" mode for the generator in the
Reset procedures to allow them to be called from the Ada.Numerics
packages without tricks.
* s-rannum.adb: Use the self-referencing argument to get write access
to the internal state of the random generator.
* a-nudira.ads: Make Generator a derived type of
System.Random_Numbers.Generator.
* a-nudira.adb: Remove use of 'Unrestricted_Access.
Put subprograms in alpha order and add headers.
* g-mbdira.ads: Change Generator type to be self-referential.
* g-mbdira.adb: Remove use of 'Unrestricted_Access.
From-SVN: r161215
2010-06-22 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor reformatting
Minor code reorganization (use Nkind_In and Ekind_In).
2010-06-22 Bob Duff <duff@adacore.com>
* gnat1drv.adb (Gnat1drv): Remove the messages that recommend using
-gnatc when a file is compiled that we cannot generate code for, not
helpful and confusing.
2010-06-22 Vincent Celier <celier@adacore.com>
* switch-m.adb (Normalize_Compiler_Switches): Process correctly
switches -gnatknn.
2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
* s-rannum.adb: Replace constants with commented symbols.
* s-rannum.ads: Explain significance of the initial value of the data
structure.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* a-ngcoty.adb: Clarify comment.
2010-06-22 Gary Dismukes <dismukes@adacore.com>
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Return without
expansion for indexing packed arrays with small power-of-2 component
sizes when the target is AAMP.
(Expand_Packed_Element_Reference): Return without expansion for
indexing packed arrays with small power-of-2 component sizes when the
target is AAMP.
2010-06-22 Geert Bosch <bosch@adacore.com>
* exp_ch4.adb (Expand_N_In): Do not substitute a valid check for X in
Float'Range.
2010-06-22 Robert Dewar <dewar@adacore.com>
* g-mbdira.adb, g-mbflra.adb, a-nuflra.adb, a-nudira.adb: Minor comment
updates.
From-SVN: r161213
2010-06-22 Doug Rupp <rupp@adacore.com>
* system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
packages.
* system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
(pragma Ident): Add a default ident string in the private part.
2010-06-22 Robert Dewar <dewar@adacore.com>
* cstand.adb: Minor reformatting.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
recognize the Shift and Rotation intrinsics that are known to the
compiler but have no interface name.
2010-06-22 Geert Bosch <bosch@adacore.com>
* a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
scaling in case of overflow or NaN results.
From-SVN: r161210
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* cstand.adb: Add tree nodes for pragma Pack on string types.
2010-06-22 Javier Miranda <miranda@adacore.com>
* einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
* exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
formal of a primitive.
* exp_disp.adb (Is_Predefined_Dispatching_Operation,
Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
formal of a primitive.
* exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
to obtain the last formal of a primitive.
2010-06-22 Geert Bosch <bosch@adacore.com>
* sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
depending on __EMX__ or MSDOS being defined.
* i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
* a-excpol-abort.adb: Update comment indicating users of the file.
* xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
Windows.
* env.c: Remove empty conditional for MSDOS.
* s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
of OS/2 in comment.
From-SVN: r161205
2010-06-22 Robert Dewar <dewar@adacore.com>
* s-rannum.adb: Minor reformatting.
2010-06-22 Javier Miranda <miranda@adacore.com>
* sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
package Sem_Util to package Sem_Aux.
2010-06-22 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
remove useless restriction on imported routines when building the
dispatch tables.
2010-06-22 Robert Dewar <dewar@adacore.com>
* cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
types.
2010-06-22 Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
generic subprogram declarations to ensure proper context. Add missing
support for generic actuals.
(Try_Primitive_Operation): Add missing support for concurrent types that
have no Corresponding_Record_Type. Required to diagnose errors compiling
generics or when compiling with no code generation (-gnatc).
* sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
the corresponding record type.
* sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
documentation. Do minimum decoration when processing a primitive of a
concurrent tagged type that covers interfaces. Required to diagnose
errors in the Object.Operation notation compiling generics or under
-gnatc.
* exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
propagation of attribute Interface_List to the corresponding record.
(Expand_N_Task_Type_Declaration): Code cleanup.
(Expand_N_Protected_Type_Declaration): Code cleanup.
From-SVN: r161203
2010-06-22 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.
2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
* s-rannum.adb (Random_Float_Template): Replace with unbiased version
that is able to produce all representable floating-point numbers in the
unit interval. Remove template parameter Shift_Right, no longer used.
* gnat_rm.texi: Document the period of the pseudo-random number
generator under the description of its algorithm.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r161202
2010-06-22 Thomas Quinot <quinot@adacore.com>
* exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
reference to discriminant (can be an expanded name as well as an
identifier).
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb: Clarify comment.
2010-06-22 Geert Bosch <bosch@adacore.com>
* exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
with decimal small as decimal types, avoiding floating-point arithmetic.
(Has_Decimal_Small): New function.
* einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
fixed point types.
* sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
callers to call the new function in Einfo that takes the entity as
parameter.
From-SVN: r161200
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_elab.adb: Minor reformatting.
2010-06-22 Vincent Celier <celier@adacore.com>
* gnatsym.adb: Put the object files in the table in increasing
aphabetical order of base names.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
the corresponding discriminal within a record declaration.
From-SVN: r161196
2010-06-22 Thomas Quinot <quinot@adacore.com>
* exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
expression referring to a discriminal of the type of the aggregate (not
a discriminal of some other unrelated type), and the prefix in the
generated selected component must come from Lhs, not Obj.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
when to freeze the parent type.
From-SVN: r161195
* a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
(Random_Float_Template, Random): New method of creating
uniform floating-point variables that allow the creation of all machine
values in [0 .. 1).
* g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.
From-SVN: r161191
2010-06-22 Gary Dismukes <dismukes@adacore.com>
* sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
to abstract targets to check that the type is tagged and comes from
source, rather than only testing for targets of interface types. Remove
premature return.
2010-06-22 Vincent Celier <celier@adacore.com>
* vms_data.ads: Modify the declarations of qualifiers
/UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
without error.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
expansion is disabled.
2010-06-22 Robert Dewar <dewar@adacore.com>
* makeusg.adb: Minor reformatting.
2010-06-22 Robert Dewar <dewar@adacore.com>
* types.ads: (Dint): Removed, no longer used anywhere.
* uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
(UI_Mul): Avoid use of UI_From_Dint.
(UI_From_Dint): Removed, not used.
* uintp.ads (UI_From_Dint): Removed, not used.
(Uint_Min/Max_Simple_Mul): New constants.
From-SVN: r161187
2010-06-22 Vincent Celier <celier@adacore.com>
* clean.adb (Parse_Cmd_Line): Recognize switch
--unchecked-shared-lib-imports.
(Usage): Add line for switch --unchecked-shared-lib-imports
* makeusg.adb: Add line for switch --unchecked-shared-lib-imports
* makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
moved from GPR_Util.
* switch-m.adb (Scan_Make_Switches): Recognize switch
--unchecked-shared-lib-imports.
* vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
* gnat_ugn.texi: Add documentation for new switch
--unchecked-shared-lib-imports. Add also documentation for --subdirs.
From-SVN: r161186
* config/i386/i386.md (SWI1248x): New mode iterator.
(SWI48x): Ditto.
(SWI12): Ditto.
(SWI24): Ditto.
(mov<mode>): Macroize expander from mov{qi,hi,si,di} using
SWI1248x mode iterator.
(*push<mode>2_rex64): Macroize insn from *push{qi,hi,si}_rex64
using SWI124 mode iterator.
(*push<mode>2): Macroize insn from *push{qi,hi} using SWI12
mode iterator.
(*push<mode>2_prologue): Macroize insn from *pushsi2_prologue and
*pushdi2_prologue_rex64 using P mode iterator.
(*mov<mode>_xor): Macroize insn from *movsi_xor and *movdi_xor_rex64
using SWI48 mode iterator.
(*mov<mode>_or): Ditto from *movsi_or and *movdi_or_rex64.
(*movabs<mode>_1): Macroize insn from *movabs{qi,hi,si,di}_1_rex64
using SWI1248x mode iterator.
(*movabs<mode>_2): Ditto from *movabs{qi,hi,si,di}_1_rex64.
(*swap<mode>): Macroize insn from *swapsi and *swapdi_rex64 using
SWI48 mode iterator.
(*swap<mode>_1): Macroize insn from *swap{qi,hi}_1 using SWI12 mode
iterator.
(*swap<mode>_2): Ditto from *swap{qi,hi}_2.
(movstrict<mode>): Macroize expander from movstrict{qi,hi} using
SWI12 mode iterator.
(*movstrict<mode>_1): Macroize insn from *movstrict{qi,hi}_1 using
SWI12 mode iterator.
(*movstrict<mode>_xor): Ditto from *movstrict{qi,hi}_xor.
(*mov<mode>_extv_1): Macroize insn from *mov{hi,si}_extv_1 using
SWI24 mode iterator.
(*mov<mode>_extzv_1): Macroize insn from *mov{si,di}_extzv_1 using
SWI48 mode iterator.
(mov<mode>_insn_1): New expander.
(*mov<mode>_insv_1_rex64): Macroize insn from *mov{si,di}_insv_1_rex64
using SWI48x mode iterator.
(*movoi_internal_avx): Rename from *movoi_internal.
(*movti_internal_rex64): Rename from *movti_rex64.
(*movti_internal_sse): Rename from *movti_sse.
(*movdi_internal_rex64): Rename from *movdi_1_rex64.
(*movdi_internal): Rename from *movdi_2.
(*movsi_internal): Rename from *movsi_1.
(*movhi_internal): Rename from *movhi_1.
(*movqi_internal): Rename from *movqi_1.
(insv): Update the call to gen_movsi_insv_1 for rename.
* config/i386/i386.c (promote_duplicated_reg): Ditto.
From-SVN: r161185
2010-06-22 Javier Miranda <miranda@adacore.com>
* sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
this patch replaces duplication of code that traverses the chain of
aliased primitives by a call to routine Ultimate_Alias that
provides this functionality.
From-SVN: r161184
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
Warnings Off/On.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* einfo.ads: Minor reformatting.
2010-06-22 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
eliminated primitives.
(Make_DT): Avoid referencing eliminated primitives.
(Register_Primitive): Do not register eliminated primitives in the
dispatch table. Required to add this functionality when the program is
compiled without static dispatch tables (-gnatd.t)
From-SVN: r161183
2010-06-22 Emmanuel Briot <briot@adacore.com>
* fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
warnings on use of internal GNAT units.
2010-06-22 Jose Ruiz <ruiz@adacore.com>
* s-taprop-vxworks.adb (Set_Priority): Update comments.
2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
* s-rannum.adb: Make stylistic change to remove mystery constant in
Extract_Value. Image_Numeral_Length: new symbolic constant.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo.adb: Make Is_Protected_Interface,
Is_Synchronized_Interface, Is_Task_Interface into computable
predicates, to free three flags in entity nodes.
* sem_ch3.adb: Remove setting of these flags.
From-SVN: r161181
2010-06-22 Robert Dewar <dewar@adacore.com>
* uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
reformatting.
* s-taprop-vxworks.adb: Add comment for Set_Priority.
* impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
* projects.texi: Move @cindex to the left margin, since otherwise we
are missing entries in the index.
From-SVN: r161179
2010-06-22 Emmanuel Briot <briot@adacore.com>
* prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
packages from the GNAT hierarchy instead of System when possible.
* gcc-interface/Make-lang.in: Update dependencies.
2010-06-22 Jose Ruiz <ruiz@adacore.com>
* s-taprop-vxworks.adb (Set_Priority): Remove the code that was
previously in place to reorder the ready queue when a task drops its
priority due to the loss of inherited priority.
From-SVN: r161174
2010-06-22 Vincent Celier <celier@adacore.com>
* projects.texi: Minor spelling error fixes.
Minor reformatting.
2010-06-22 Emmanuel Briot <briot@adacore.com>
* prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
warnings for some with clauses.
From-SVN: r161172
2010-06-22 Robert Dewar <dewar@adacore.com>
* errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
test to catch more cases where first subtype is the results we want.
* sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
error case, since Errout will now handle this correctly.
* gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
Update dependencies.
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
when calling Make_Temporary.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
subprogram can be associated with an entry body.
2010-06-22 Robert Dewar <dewar@adacore.com>
* scos.ads: Add note on membership test handling.
2010-06-22 Vincent Celier <celier@adacore.com>
* projects.texi: Minor spelling fixes.
Minor reformatting.
2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
* s-rannum.adb: Correct off-by-one error in Extract_Value.
From-SVN: r161171
2010-06-22 Vincent Celier <celier@adacore.com>
* mlib-prj.adb (Display): In non verbose mode, truncate after fourth
argument.
* mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
gcc command if it is too long.
2010-06-22 Robert Dewar <dewar@adacore.com>
* errout.adb (Set_Msg_Node): Fix incorrect reference to node.
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
calling Make_Temporary.
From-SVN: r161170
2010-06-22 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Process_Naming_Scheme): Initialize table Lib_Data_Table.
2010-06-22 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
* sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
Ada 95 mode as an implementation defined attribute.
From-SVN: r161166
2010-06-22 Vincent Celier <celier@adacore.com>
* bindusg.adb (Display): Update line for -R
* switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
generated files when -R is used.
2010-06-22 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Lib_Data_Table): New table.
(Check_Library_Attributes): Check if the same library name is used in
two different projects that do not extend each other.
From-SVN: r161161
2010-06-22 Robert Dewar <dewar@adacore.com>
* lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
2010-06-22 Vincent Celier <celier@adacore.com>
* adaint.c (__gnat_locate_regular_file): If a directory in the path is
empty, make it the current working directory.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
private type with discriminants, make sure the parent type is frozen.
2010-06-22 Eric Botcazou <ebotcazou@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Bit>: Deal
with packed array references specially.
* exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
to a component of a bit packed array if it is the prefix of 'Bit.
* exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
* exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure. Expand a
'Bit reference, where the prefix involves a packed array reference.
(Get_Base_And_Bit_Offset): New helper, extracted from...
(Expand_Packed_Address_Reference): ...here. Call above procedure to
get the outer object and offset expression.
From-SVN: r161160
2010-06-22 Thomas Quinot <quinot@adacore.com>
* exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
* einfo.adb (Related_Expression, Set_Related_Expression): Add
assertions.
2010-06-22 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
reorganization to properly check if the operation has been inherited as
an abstract operation.
2010-06-22 Ed Falis <falis@adacore.com>
* s-osinte-vxworks.ads: Complete previous change.
From-SVN: r161159
2010-06-22 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Remove project level attribute Main_Language.
2010-06-22 Robert Dewar <dewar@adacore.com>
* switch-b.adb, osint-b.adb: Minor reformatting.
2010-06-22 Pascal Obry <obry@adacore.com>
* g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
vector if previous send was not fully successful. If only part of
the vector data was sent, we exit the loop.
From-SVN: r161157