gcc/cp/
* name-lookup.c (struct arg_lookup): Convert namespaces and
classes fields to VEC.
(arg_assoc_namespace): Adjust for new type of namespaces.
(arg_assoc_class): Adjust for new type of classes.
(lookup_arg_dependent): Use make_tree_vector and
release_tree_vector.
* typeck2.c (build_x_arrow): Use vec_member.
Arnaud Charlet [Thu, 17 Jun 2010 16:04:52 +0000 (18:04 +0200)]
[multiple changes]
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Is_Atomic_Object): Predicate does not apply to
subprograms.
2010-06-17 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
style check messages.
* sem_res.adb (Resolve_Call): Don't call
Check_For_Eliminated_Subprogram if we are analyzing within a spec
expression.
2010-06-17 Robert Dewar <dewar@adacore.com>
* debug.adb: Add documentation for debug flags .X and .Y
* exp_ch4.adb (Expand_Short_Circuit_Operator): Use
Use_Expression_With_Actions.
* gnat1drv.adb (Adjust_Global_Switches): Set
Use_Expression_With_Actions.
* opt.ads (Use_Expression_With_Actions): New switch.
Robert Dewar [Thu, 17 Jun 2010 15:58:10 +0000 (15:58 +0000)]
exp_intr.adb: Minor code reorganization (use UI_Max)
2010-06-17 Robert Dewar <dewar@adacore.com>
* exp_intr.adb: Minor code reorganization (use UI_Max)
* sem_intr.adb: use underlying type to check legality.
* einfo.adb (Known_Static_Esize): False for generic types
(Known_Static_RM_Size): False for generic types
* einfo.ads (Known_Static_Esize): False for generic types
(Known_Static_RM_Size): False for generic types
Arnaud Charlet [Thu, 17 Jun 2010 15:50:40 +0000 (17:50 +0200)]
[multiple changes]
2010-06-17 Robert Dewar <dewar@adacore.com>
* exp_ch4.ads: Minor code reorganization (specs in alpha order).
2010-06-17 Robert Dewar <dewar@adacore.com>
* debug.adb: New debug flag -gnatd.X to use Expression_With_Actions
node when expanding short circuit form with actions present for right
opnd.
* exp_ch4.adb: Minor reformatting
(Expand_Short_Circuit_Operator): Use new Expression_With_Actions node if
right opeand has actions present, and debug flag -gnatd.X is set.
* exp_util.adb (Insert_Actions): Handle case of Expression_With_Actions
node.
* nlists.adb (Prepend_List): New procedure
(Prepend_List_To): New procedure
* nlists.ads (Prepend_List): New procedure
(Prepend_List_To): New procedure
* sem.adb: Add processing for Expression_With_Actions
* sem_ch4.adb (Analyze_Expression_With_Actions): New procedure
* sem_ch4.ads (Analyze_Expression_With_Actions): New procedure
* sem_res.adb: Add processing for Expression_With_Actions.
* sem_scil.adb: Add processing for Expression_With_Actions
* sinfo.ads, sinfo.adb (N_Expression_With_Actions): New node.
* sprint.ads, sprint.adb: Add processing for Expression_With_Actions
2010-06-17 Doug Rupp <rupp@adacore.com>
* sem_intr.adb (Check_Intrinsic_Operator): Check that the types
involved both have underlying integer types.
* exp_intr.adb (Expand_Binary_Operator) New subprogram to expand a call
to an intrinsic operator when the operand types or sizes are not
identical.
* s-auxdec-vms_64.ads: Revert "+" "-" ops back to Address now that
64/32 Address/Integer works.
Arnaud Charlet [Thu, 17 Jun 2010 15:41:23 +0000 (17:41 +0200)]
[multiple changes]
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Mark_Context): Refine placement of Withed_Body flag, so
that it marks a unit as needed by a spec only if the corresponding
instantiation appears in that spec (and not in the corresponding body).
* sem_elim.adb (Check_Eliminated): If we are within a subunit, the name
in the pragma Eliminate has been parsed as a child unit, but the
current compilation unit is in fact the parent in which the subunit is
embedded.
Arnaud Charlet [Thu, 17 Jun 2010 15:35:09 +0000 (17:35 +0200)]
[multiple changes]
2010-06-17 Robert Dewar <dewar@adacore.com>
* sem_util.adb: Minor reformatting
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
instance, the clause now denotes the instance body. Traverse the
corresponding spec because there may be no other dependence that will
force the traversal of its own context.
Arnaud Charlet [Thu, 17 Jun 2010 15:29:21 +0000 (17:29 +0200)]
[multiple changes]
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
Install_Limited_Context_Clauses, to determine whether a limited_with in
some parent of the current unit designates some other parent, in which
case the limited_with clause must not be installed.
(In_Context): Refine test.
2010-06-17 Gary Dismukes <dismukes@adacore.com>
* sem_util.adb (Collect_Primitive_Operations): In the of an untagged
type with a dispatching equality operator that is overridden (for a
tagged full type), don't include the overridden equality in the list of
primitives. The overridden equality is detected by testing for an
Aliased field that references the overriding equality.
Arnaud Charlet [Thu, 17 Jun 2010 15:23:55 +0000 (17:23 +0200)]
2010-06-17 Joel Brobecker <brobecker@adacore.com brobecker>
* gnat_ugn.texi: Add a section introducing gdbserver.
2010-06-17 Thomas Quinot <quinot@adacore.com>
* sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
reformatting.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
constrained discriminated parent that is a private type.
(Analyze_Record_Aggregate): when collecting inherited discriminants,
handle properly an ancestor type that is a constrained private type.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Enclosing_Subprogram): If the called subprogram is
protected, use the protected_subprogram_body only if the original
subprogram has not been eliminated.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Expression): The designated type of an
access_to_suprogram type can only be frozen if all types in its profile
are fully defined.
Arnaud Charlet [Thu, 17 Jun 2010 14:26:42 +0000 (16:26 +0200)]
[multiple changes]
2010-06-17 Robert Dewar <dewar@adacore.com>
* par.adb: Minor comment fix
* sem_aggr.adb, sem_ch3.adb: Minor reformatting
2010-06-17 Doug Rupp <rupp@adacore.com>
* s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
change Address to Short_Address in functions where both must be the
same size for intrinsics to work.
2010-06-17 Thomas Quinot <quinot@adacore.com>
* sem_ch4.adb (Analyze_Selected_Component): A selected component may
not denote a (private) component of a protected object.
2010-06-17 Bob Duff <duff@adacore.com>
* par-labl.adb (Try_Loop): Test whether the label and the goto are in
the same list.
2010-06-17 Joel Brobecker <brobecker@adacore.com brobecker>
* gnat_ugn.texi: Update the documentation about GDB re: exception
catchpoints.
Arnaud Charlet [Thu, 17 Jun 2010 13:35:24 +0000 (15:35 +0200)]
[multiple changes]
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): The
designated type of the generated pointer is the type of the original
expression, not that of the function call itself, because the return
type may be an untagged derived type and the function may be an
inherited operation.
Arnaud Charlet [Thu, 17 Jun 2010 13:29:28 +0000 (15:29 +0200)]
[multiple changes]
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
N_Component_Association nodes, to indicate that a component association
of an extension aggregate denotes the value of a discriminant of an
ancestor type that has been constrained by the derivation.
* sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
double expansion of the aggregate appearing in a context that delays
expansion, to prevent double insertion of discriminant values when the
aggregate is reanalyzed.
2010-06-17 Arnaud Charlet <charlet@adacore.com>
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
Allocator as the Related_Node of Return_Obj_Access in call to
Make_Temporary below as this would create a sort of infinite
"recursion".
Arnaud Charlet [Thu, 17 Jun 2010 13:23:55 +0000 (15:23 +0200)]
[multiple changes]
2010-06-17 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Update gnatcheck doc.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
incomplete view of the type that is not tagged, and the full type is a
tagged extension, create class_wide type now, and warn that the
incomplete view should be tagged as well.
Arnaud Charlet [Thu, 17 Jun 2010 13:14:44 +0000 (15:14 +0200)]
[multiple changes]
2010-06-17 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
Update the last line of the usage, indicating what commands do not
accept project file switches.
* vms_conv.adb: Do not issue usage line for GNAT SYNC
* vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
GNAT ELIM.
* gnat_ugn.texi: Document the relaxed rules for library directories in
externally built library projects.
2010-06-17 Doug Rupp <rupp@adacore.com>
* s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
where possible.
* s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
* gcc-interface/Makefile.in: Update VMS target pairs.
2010-06-17 Vasiliy Fofanov <fofanov@adacore.com>
* adaint.c: Reorganized in order to avoid use of GetProcessId to stay
compatible with Windows NT 4.0 which doesn't provide this function.
2010-06-17 Vincent Celier <celier@adacore.com>
* ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
different timestamps but the checksum is the same, issue a short
message saying so.
2010-06-17 Arnaud Charlet <charlet@adacore.com>
* s-interr.adb (Finalize): If the Abort_Task signal is set to system,
it means that we cannot reset interrupt handlers since this would
require potentially sending the abort signal to the Server_Task.
Arnaud Charlet [Thu, 17 Jun 2010 13:00:26 +0000 (15:00 +0200)]
[multiple changes]
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Call): Do not expand a call to an internal
protected operation if the subprogram has been eliminated.
2010-06-17 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Library_Attributes): Allow the different
directories associated with a library to be any directory when the
library project is externally built.
2010-06-17 Vincent Celier <celier@adacore.com>
* make.adb (Check): If switch -m is used, deallocate the memory that
may be allocated when computing the checksum.
Arnaud Charlet [Thu, 17 Jun 2010 12:26:10 +0000 (14:26 +0200)]
[multiple changes]
2010-06-17 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
* layout.adb, freeze.adb: Use Make_Temporary.
2010-06-17 Jerome Lambourg <lambourg@adacore.com>
* exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
.NET/JVM normally as this is now perfectly supported by the backend.
2010-06-17 Pascal Obry <obry@adacore.com>
* gnat_rm.texi: Fix minor typo, remove duplicate blank lines.
2010-06-17 Vincent Celier <celier@adacore.com>
* make.adb (Collect_Arguments_And_Compile): Create include path file
only when -x is specified.
(Gnatmake): Ditto
* opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
False.
* prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
Objects_Path, defaulted to True. Only create include path file if
Include_Path is True, only create objects path file if Objects_Path is
True.
* prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
Objects_Path, defaulted to True.
* switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
when -x is used.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
determine whether it has the controlling type, when the formal is an
access parameter.
2010-06-17 Eric Botcazou <ebotcazou@adacore.com>
* s-crtl.ads (ssize_t): New type.
(read): Fix signature.
(write): Likewise.
* g-socthi.ads: Add 'with System.CRTL' clause. Remove ssize_t and
'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
(C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
(C_Sendmsg): Likewise.
* g-socthi.adb (Syscall_Recvmsg): Likewise.
(Syscall_Sendmsg): Likewise.
(C_Recvmsg): Likewise.
(C_Sendmsg): Likewise.
* g-socthi-mingw.ads: Add 'with System.CRTL' clause. Remove ssize_t
and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
(C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
(C_Sendmsg): Likewise.
* g-socthi-mingw.adb (C_Recvmsg): Likewise.
(C_Sendmsg): Likewise.
* g-socthi-vms.ads: Add 'with System.CRTL' clause. Remove ssize_t and
'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
(C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
(C_Sendmsg): Likewise.
* g-socthi-vms.adb (C_Recvmsg): Likewise.
(C_Sendmsg): Likewise.
* g-socthi-vxworks.ads Add 'with System.CRTL' clause. Remove ssize_t
and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
(C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
(C_Sendmsg): Likewise.
* g-socthi-vxworks.adb (C_Recvmsg): Likewise.
(C_Sendmsg): Likewise.
* g-sercom-linux.adb (Read): Use correct types to call 'read'.
(Write): Likewise to call 'write'.
* s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
(Write): Use correct type to call System.CRTL.write.
* s-tasdeb.adb (Write): Likewise.
2010-06-17 Vincent Celier <celier@adacore.com>
* prj-proc.adb (Copy_Package_Declarations): Change argument name
Naming_Restricted to Restricted. If Restricted is True, do not copy the
value of attribute Linker_Options.
Robert Dewar [Thu, 17 Jun 2010 09:57:32 +0000 (09:57 +0000)]
sem_intr.adb, [...]: Minor reformatting.
2010-06-17 Robert Dewar <dewar@adacore.com>
* sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb,
sem_warn.adb, sem_eval.adb: Minor reformatting. Use Ekind_In.
(Set_Slice_Subtype): Explicitly freeze the slice's itype at the point
where the slice's actions are inserted.
(Decompose_Expr): Account for possible rewriting of slice bounds
resulting from side effects suppression caused by the above freezing,
so that folding of bounds is preserved by such rewriting.
2010-06-17 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Get_Record_Representation_Clause): New function.
* freeze.adb (Freeze_Record_Type): Add call to
Check_Record_Representation_Clause.
* sem_ch13.adb (Check_Record_Representation_Clause): New function
(Analyze_Record_Representation_Clause): Split out overlap code into this
new function.
(Check_Component_Overlap): Moved inside
Check_Record_Representation_Clause.
* sem_ch13.ads (Check_Record_Representation_Clause): New function.
Arnaud Charlet [Thu, 17 Jun 2010 09:32:20 +0000 (11:32 +0200)]
[multiple changes]
2010-06-17 Robert Dewar <dewar@adacore.com>
* back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
reformatting.
* sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
sem_eval.adb: Use Ekind_In
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb: better error message for illegal inherited discriminant
2010-06-17 Vincent Celier <celier@adacore.com>
* bindusg.adb: Remove lines for -A and -C
* gnat_ugn.texi: Remove all documentation and examples of switches -A
and -C for gnatbind and gnatlink.
* gnatlink.adb (Usage): Remove lines for -A and -C
* switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
specified.
* gcc-interface/Make-lang.in: Update dependencies.
Vincent Celier [Thu, 17 Jun 2010 09:06:41 +0000 (09:06 +0000)]
back_end.adb (Scan_Compiler_Arguments): Put all arguments in new local Argument_List variable Args.
2010-06-17 Vincent Celier <celier@adacore.com>
* back_end.adb (Scan_Compiler_Arguments): Put all arguments in new
local Argument_List variable Args.
* switch-c.adb (Scan_Front_End_Switches): New Argument_List argument
Args.
(Switch_Subsequently_Cancelled): New Argument_List argument Args. Look
for subsequent switches in Args.
* switch-c.ads (Scan_Front_End_Switches): New Argument_List argument
Args.
* gcc-interface/Make-lang.in: Update dependencies.
Arnaud Charlet [Thu, 17 Jun 2010 08:56:40 +0000 (10:56 +0200)]
[multiple changes]
2010-06-17 Robert Dewar <dewar@adacore.com>
* einfo.adb: Minor code fix, allow E_Class_Wide_Type for
Equivalent_Type to match documentation.
2010-06-17 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb, sem_ch7.adb: Minor reformatting.
* sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb,
sem_ch4.adb, sem_ch8.adb, sem_ch13.adb: Make use of Ekind_In.
2010-06-17 Thomas Quinot <quinot@adacore.com>
* sem_res.adb (Set_Slice_Subtype): Always freeze the slice's itype.
2010-06-17 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Freeze_Expression): Short circuit operators are valid
freeze node insertion points.
Arnaud Charlet [Thu, 17 Jun 2010 08:49:10 +0000 (10:49 +0200)]
[multiple changes]
2010-06-17 Robert Dewar <dewar@adacore.com>
* switch-c.ads, switch-c.adb, sem_ch13.adb: Minor reformatting.
* sem_ch12.adb: Add pragmas Assert and Check to previous change.
2010-06-17 Gary Dismukes <dismukes@adacore.com>
* layout.adb (Layout_Type): Broaden test for setting an array type's
Component_Size to include all scalar types, not just discrete types
(components of real types were missed).
* sem_ch3.adb (Constrain_Index): Add missing setting of First_Literal
on the itype created for an index (consistent with Make_Index and
avoids possible Assert_Failures).
2010-06-17 Robert Dewar <dewar@adacore.com>
* atree.ads, atree.adb: Add 6-parameter version of Ekind_In
* einfo.adb: Minor code reformatting (use Ekind_In)
Arnaud Charlet [Thu, 17 Jun 2010 08:42:42 +0000 (10:42 +0200)]
[multiple changes]
2010-06-17 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Test_Ref): Abandon scan if access subprogram parameter
found.
2010-06-17 Vincent Celier <celier@adacore.com>
* back_end.adb: Minor comment updates
* switch-c.adb: Remove dependencies on gcc C sources
* gcc-interface/Make-lang.in: Add a-comlin.o to the object file list
for the compiler.
Arnaud Charlet [Thu, 17 Jun 2010 07:42:04 +0000 (09:42 +0200)]
[multiple changes]
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: propagate Pragma_Enabled flag to generic.
* get_scos.adb: Set C2 flag in decision entry of pragma to 'e' (enabled)
* par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure
Remove use of Node field in SCOs table
(Output_Header): Set 'd' to initially disable pragma entry
* put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled
* scos.ads, scos.adb: Remove Node field from internal SCOs table.
Use C2 field of pragma decision header to indicate enabled.
* sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled.
* gcc-interface/Make-lang.in: Update dependencies.
2010-06-17 Vincent Celier <celier@adacore.com>
* back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments
(Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg
(Switch_Subsequently_Cancelled): Function moved to the body of Switch.C
* back_end.ads (Scan_Front_End_Switches): Function moved to the body of
Switch.C.
* switch-c.adb: Copied a number of global declarations from back_end.adb
(Len_Arg): New function copied from back_end.adb
(Switch_Subsequently_Cancelled): New function moved from back_end.adb
(Scan_Front_End_Switches): New parameter Arg_Rank used to call
Switch_Subsequently_Cancelled.
* switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank.
* gcc-interface/Makefile.in: Add line so that shared libgnat is linked
with -lexc on Tru64.
Arnaud Charlet [Thu, 17 Jun 2010 07:11:13 +0000 (09:11 +0200)]
[multiple changes]
2010-06-17 Thomas Quinot <quinot@adacore.com>
* put_scos.adb: Do not generate a blank line in SCOs when omitting the
CP line for a disabled pragma.
2010-06-17 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj.adb, prj.ads (Check_Or_Set_Typed_Variable): New
subprogram.
(Process_Declarative_Item): An invalid value in an typed variable
declaration is no longer always fatal.
DJ Delorie [Wed, 16 Jun 2010 22:52:25 +0000 (18:52 -0400)]
common.opt (-fstrict-volatile-bitfields): new.
* common.opt (-fstrict-volatile-bitfields): new.
* doc/invoke.texi: Document it.
* fold-const.c (optimize_bit_field_compare): For volatile
bitfields, use the field's type to determine the mode, not the
field's size.
* expr.c (expand_assignment): Likewise.
(get_inner_reference): Likewise.
(expand_expr_real_1): Likewise.
* expmed.c (store_fixed_bit_field): Likewise.
(extract_bit_field_1): Likewise.
(extract_fixed_bit_field): Likewise.
Arnaud Charlet [Wed, 16 Jun 2010 16:22:44 +0000 (18:22 +0200)]
[multiple changes]
2010-06-16 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
node referenced by the SCIL node of dispatching "=" to skip the tags
comparison.
2010-06-16 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
to prevent cascaded errors and compilation aborts.
2010-06-16 Robert Dewar <dewar@adacore.com>
* back_end.adb (Switch_Subsequently_Cancelled): New function
Move declarations to package body level to support this change
* back_end.ads (Switch_Subsequently_Cancelled): New function
* gnat_ugn.texi: Document -gnat-p switch
* switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
* ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
* usage.adb: Add line for -gnat-p switch
* vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
2010-06-16 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
modification.
Nick Clifton [Wed, 16 Jun 2010 16:04:27 +0000 (16:04 +0000)]
constraints.md (NEGint4): New constraint.
* config/rx/constraints.md (NEGint4): New constraint.
* config/rx/rx.md (attr cc): Add set_zsc.
(cbranchsf4): Only test for -fnon-call-exceptions if cfun has been
initialised.
(cmpsf): Likewise.
(call_internal): Clobber the cc0 register.
(call_value_internal): Likewise.
(cstoresi4): Likewise.
(movsieq): Likewise.
(movsine): Likewise.
(addsi3): Add alternative to handle small negative constants.
(sunsi3): Likewise.
(addsi3): Do not set the O bit in the cc0 register.
(adddi3): Likewise.
(subsi3): Likewise.
(subdi3): Likewise.
(andsi3): Reorder alternatives to prefer shorter forms.
(mulsi3): Likewise.
(iorsi3): Likewise.
(negsi2): Note that the cc0 flags are set.
(rotlsi3): Note that only the Z and S bits are set in cc0.
(lshrsi3): Likewise.
(ashlsi3): Likewise.
(subsf3): Use %Q for the MEM operand.
(fix_truncsfsi2): Likewise.
(floatsisf2): Likewise.
(bitset): Remove early clobber from destination.
(bitset_in_memory): Likewise.
(lrintsf2): Clobber the cc0 register.
* config/rx/rx.c (rx_notice_update_cc):
Handle CC_SET_ZSC.
(rx_print_operand): Handle %N.
Janus Weil [Wed, 16 Jun 2010 12:54:54 +0000 (14:54 +0200)]
re PR fortran/44549 ([OOP][F2008] Type-bound procedure: bogus error from list after PROCEDURE)
2010-06-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/44549
* gfortran.h (gfc_get_typebound_proc): Modified Prototype.
* decl.c (match_procedure_in_type): Give a unique gfc_typebound_proc
structure to each procedure in a procedure list.
* module.c (mio_typebound_proc): Add NULL argument to
'gfc_get_typebound_proc'.
* symbol.c (gfc_get_typebound_proc): Add a new argument, which is used
to initialize the new structure.
Martin Jambor [Wed, 16 Jun 2010 12:21:56 +0000 (14:21 +0200)]
re PR tree-optimization/43905 (duplicate __PRETTY_FUNCTION__ symbol for functions differing in const-ness)
2010-06-16 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/43905
* tree-sra.c: Include tree-inline.h.
(create_abstract_origin): Removed.
(modify_function): Version the call graph node instead of creating
abstract origins and dealing with same_body aliases.
* tree-sra.c (ipa_sra_preliminary_function_checks): Check whether the
function is versionable.
* Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
Matthias Klose [Wed, 16 Jun 2010 06:02:37 +0000 (06:02 +0000)]
compatibility.cc: Export long double versions of "C" math library for arm-linux-gnueabi...
2010-06-16 Matthias Klose <doko@ubuntu.com>
* src/compatibility.cc: Export long double versions of "C" math
library for arm-linux-gnueabi, m68k-linux-gnu (ColdFire),
mips*-linux-gnu (o32 ABI), sh*-linux-gnu (32 bit).
Nathan Froyd [Wed, 16 Jun 2010 03:46:12 +0000 (03:46 +0000)]
trans.c (gnu_stack_free_list): Delete.
* gcc-interface/trans.c (gnu_stack_free_list): Delete.
(gnu_except_ptr_stack): Change type to VEC. Update comment.
(gnu_elab_proc_stack): Likewise.
(gnu_return_label_stack): Likewise.
(gnu_loop_label_stack): Likewise.
(gnu_switch_label_stack): Likewise.
(gnu_constraint_label_stack): Likewise.
(gnu_storage_error_label_stack): Likewise.
(gnu_program_error_label_stack): Likewise.
(push_exception_label_stack): Take a VEC ** instead of a tree *.
(push_stack): Likewise. Remove unused second parameter. Update
callers.
(pop_stack): Take a VEC * instead of a tree *. Update callers.
(gigi): Initialize stacks as VECs.
(Identifier_to_gnu): Use VEC_last instead of TREE_VALUE.
(Case_Statement_to_gnu): Likewise.
(Subprogram_Body_to_gnu): Likewise.
(call_to_gnu): Likewise.
(Exception_Handler_to_gnu_sjlj): Likewise.
(gnat_to_gnu): Likewise.
(get_exception_label): Likewise.
Uros Bizjak [Tue, 15 Jun 2010 21:14:48 +0000 (23:14 +0200)]
i386.c (*prefetch_sse_<mode>): Macroize insn from *prefetch_sse and *prefetch_sse_rex using P mode iterator.
* config/i386/i386.c (*prefetch_sse_<mode>): Macroize insn from
*prefetch_sse and *prefetch_sse_rex using P mode iterator.
(*prefetch_3dnow_<mode>): Ditto from *prefetch_3dnow and
*prefetch_3dnow_rex.
Jason Merrill [Tue, 15 Jun 2010 21:05:22 +0000 (17:05 -0400)]
libstdc++.exp: Set additional_prunes.
* testsuite/lib/libstdc++.exp: Set additional_prunes.
(libstdc++-dg-test): Don't prune here.
* testsuite/lib/prune.exp (dg-prune-output): New.
(libstdc++-dg-prune): Rename from prune_g++_output.
Add a bunch of prunes from gcc's prune.exp.
Jason Merrill [Tue, 15 Jun 2010 20:10:29 +0000 (16:10 -0400)]
call.c (print_z_candidates): Do print viable deleted candidates.
* call.c (print_z_candidates): Do print viable deleted candidates.
(joust): Don't choose a deleted function just because its worst
conversion is better than another candidate's worst.
Jason Merrill [Tue, 15 Jun 2010 19:58:35 +0000 (15:58 -0400)]
call.c (is_subseq): Handle ck_aggr, ck_list.
* call.c (is_subseq): Handle ck_aggr, ck_list.
(compare_ics): Treat an aggregate or ambiguous conversion to the
same type as involving the same function.
Rainer Orth [Tue, 15 Jun 2010 13:51:07 +0000 (13:51 +0000)]
configure.ac (*-*-solaris2.8*): Only usr alternate thread library on Solaris 8.
* configure.ac (*-*-solaris2.8*): Only usr alternate thread
library on Solaris 8.
(*-*-solaris2*): Use regular thread library otherwise.
* configure: Regenerate.
Arnaud Charlet [Tue, 15 Jun 2010 12:22:09 +0000 (12:22 +0000)]
c-ada-spec.c (dump_sloc): Remove column info.
* c-ada-spec.c (dump_sloc): Remove column info.
(is_simple_enum): New function.
(dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
enum types when relevant.
* trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
GFC_DECL_SAVED_DESCRIPTOR set.
(gfc_omp_report_decl): New function.
* trans.h (gfc_omp_report_decl): New prototype.
* f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
* gfortran.dg/gomp/pr44536.f90: New test.
* gfortran.dg/gomp/sharing-3.f90: Remove xfail.
* tree-ssa-loop-prefetch.c (nothing_to_prefetch_p): New. Return
true if no prefetch is going to be generated for a given group.
(estimate_prefetch_count): Use prefetch_mod and unroll_factor to
estimate the prefetch_count.
(loop_prefetch_arrays): Call nothing_to_prefetch_p; estimate the
prefetch count by considering the unroll_factor and prefetch_mod
for is_loop_prefetching_profitable.