2008-08-04 Arnaud Charlet <charlet@adacore.com>
* usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
gnatcheck support in GPS.
From-SVN: r138592
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Definition): A formal object declaration is a
legal context for an anonymous access to subprogram.
* sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
indirect call, report success to the caller to include possible
interpretation.
* sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
check when the type
of the extended return is an anonymous access_to_subprogram type.
* sem_res.adb:
(Resolve_Call): Insert a dereference if the type of the subprogram is an
access_to_subprogram and the context requires its return type, and a
dereference has not been introduced previously.
From-SVN: r138591
2008-08-04 Vincent Celier <celier@adacore.com>
* gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
variable, but don't check the resulting value as it has no impact on
the processing.
* opt.ads:
(Generate_Processed_File): New Boolean flag, set to True in the compiler
when switch -gnateG is used.
* prep.adb:
(Preprocess): new Boolean out parameter Source_Modified. Set it to True
when the source is modified by the preprocessor and there is no
preprocessing errors.
* prep.ads (Preprocess): new Boolean out parameter Source_Modified
* sinput-l.adb:
(Load_File): Output the result of preprocessing if the source text was
modified.
* switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
* switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
* ug_words: Add VMS equivalent for -gnateG
* vms_data.ads:
Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
From-SVN: r138590
2008-08-04 Doug Rupp <rupp@adacore.com>
* utils2.c (fill_vms_descriptor): Use long_integer for comparison.
Call add_stmt_with_node to set locus.
From-SVN: r138589
2008-08-04 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New Builder attribute Global_Compilation_Switches
* snames.adb: New standard name Global_Compilation_Switches
* snames.ads: New standard name Global_Compilation_Switches
From-SVN: r138584
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Definition): Create an itype reference for an
anonymous access return type of a regular function that is not a
compilation unit.
From-SVN: r138583
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Check_Precondition_Postcondition): When scanning the
list of declaration to find previous subprogram, do not go to the
original node of a generic unit.
From-SVN: r138579
* prj-proc.adb:
(Copy_Package_Declarations): When inheriting package Naming from a
project being extended, do not inherit source exception names.
From-SVN: r138578
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use Yi instead of x
to avoid inter-unit moves for !TARGET_INTER_UNIT_MOVES.
(*movv2sf_internal_rex64): Ditto.
From-SVN: r138566
* dwarf2out.c (compute_barrier_args_size): Set barrier_args_size
for labels for which it hasn't been set yet. If it has been set,
stop walking insns and continue with next worklist item.
(dwarf2out_stack_adjust): Don't call compute_barrier_args_size
if the only BARRIER is at the very end of a function.
From-SVN: r138537
2008-08-01 H.J. Lu <hongjiu.lu@intel.com>
* cfgexpand.c (expand_stack_alignment): Assert that
stack_realign_drap and drap_rtx must match.
* function.c (instantiate_new_reg): If DRAP is used to realign
stack, replace virtual_incoming_args_rtx with internal arg
pointer.
From-SVN: r138524
2008-08-01 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (fini_pre): Take in_fre parameter. Free
loop information only if we initialized it.
(execute_pre): Call fini_pre with in_fre.
* tree-ssa-loop-ivcanon (try_unroll_loop_completely): Dump
if we do not unroll because we hit max-completely-peeled-insns.
Use our estimation for consistency, do allow shrinking.
From-SVN: r138522
* gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
* gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
and adjust for above renaming.
* gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
gnu_expr_alt_type parameter. Convert the expression to it instead
of changing its type in place.
(build_function_stub): Adjust call to above function.
From-SVN: r138518
2008-08-01 Richard Guenther <rguenther@suse.de>
PR middle-end/36997
* gimplify.c (gimplify_call_expr): Set error_mark_node on GS_ERROR.
* gcc.dg/pr36997.c: New testcase.
From-SVN: r138515
2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
code. Do not get full definition of deferred constants with address
clause for a use. Do not ignore deferred constant definitions with
address clause. Ignore constant definitions already marked with the
error node.
<object>: Remove obsolete comment. For a deferred constant with
address clause, get the initializer from the full view.
* gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
Rework and remove obsolete comment.
<N_Object_Declaration>: For a deferred constant with address clause,
mark the full view with the error node.
* gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
formatting nits.
From-SVN: r138513
2008-08-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36988
* tree-ssa-ccp.c (ccp_fold): Conversions of constants only
do not matter if that doesn't change volatile qualification.
* gcc.c-torture/compile/pr36988.c: New testcase.
From-SVN: r138512
2008-08-01 Hristian Kirtchev <kirtchev@adacore.com>
* rtsfind.ads: Add block IO versions of stream routines for Strings.
* bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
sem_prag.adb, snames.adb, snames.ads, snames.h,
par-prag.adb: Undo Canonical_Streams related changes.
* s-rident.ads: Add new restriction No_Stream_Optimizations.
* s-ststop.ads, s-ststop.adb: Comment reformatting.
Define enumeration type to designate different IO mechanisms.
Enchance generic package Stream_Ops_Internal to include an
implementation of Input and Output.
* exp_attr.adb (Find_Stream_Subprogram): If restriction
No_Stream_Optimization is active, choose the default byte IO
implementations of stream attributes for Strings.
Otherwise use the corresponding block IO version.
From-SVN: r138511
ada/
* decl.c (gnat_to_gnu_entity) <case E_Function>: Do not turn Ada
Pure into GCC const, now implicitely implying nothrow as well.
testsuite/
* gnat.dg/raise_from_pure.ad[bs],
* gnat.dg/wrap_raise_from_pure.ad[bs]: Support for ...
* gnat.dg/test_raise_from_pure.adb: New test.
From-SVN: r138509