aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2012-07-23trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set location on ↵Tristan Gingold2-0/+6
TRY_CATCH_EXPR. 2012-07-23 Tristan Gingold <gingold@adacore.com> * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set location on TRY_CATCH_EXPR. From-SVN: r189769
2012-07-19decl.c (gnat_to_gnu_entity): Try to ensure that an object of CW type ↵Eric Botcazou2-1/+18
initialized to a value is sufficiently... * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure that an object of CW type initialized to a value is sufficiently aligned for this value. From-SVN: r189682
2012-07-19decl.c (gnat_to_gnu_entity): Do not look up the REP part of the base type in ↵Eric Botcazou2-6/+13
advance. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not look up the REP part of the base type in advance. Deal with that of the variant types. (get_rep_part): Be prepared for record types with fields. From-SVN: r189666
2012-07-18trans.c (stmt_group_may_fallthru): New function.Eric Botcazou2-6/+30
* gcc-interface/trans.c (stmt_group_may_fallthru): New function. (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the block needs to be translated. From-SVN: r189612
2012-07-17[multiple changes]Arnaud Charlet5-24/+77
2012-07-17 Vincent Pucci <pucci@adacore.com> * gnat_ugn.texi: GNAT dimensionality checking documentation updated with System.Dim.Mks modifications. 2012-07-17 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb: sloc of array init_proc is sloc of type declaration. 2012-07-17 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (get_call_site_action_for): Remove useless init expression for p. (get_action_description_for): Do not overwrite action->kind. 2012-07-17 Hristian Kirtchev <kirtchev@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr and Conversion_Added. Add local constant Typ. Retrieve the original attribute after the arithmetic check machinery has modified the node. Add a conversion to the target type when the prefix of attribute Max_Size_In_Storage_Elements is a controlled type. 2012-07-17 Gary Dismukes <dismukes@adacore.com> * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter of mode 'out' or 'in out' that denotes an entity, reset Last_Assignment on the entity so that any assignments to the corresponding formal in the inlining will not trigger spurious warnings about overwriting assignments. From-SVN: r189570
2012-07-17[multiple changes]Arnaud Charlet12-136/+193
2012-07-17 Tristan Gingold <gingold@adacore.com> * gnat_rm.texi: Adjust previous change. 2012-07-17 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Process_Import_Or_Interface): If the pragma comes from an aspect, it applies to the corresponding entity without further check. 2012-07-17 Olivier Hainque <hainque@adacore.com> * initialize.c (__gnat_initialize for VxWorks): Remove section with call to __gnat_vxw_setup_for_eh. * system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying on the VxWorks constructor mechanism for network loaded modules by default. 2012-07-17 Tristan Gingold <gingold@adacore.com> * adaint.c: Minor reformatting. 2012-07-17 Pascal Obry <obry@adacore.com> * s-regexp.adb (Adjust): Fix access violation in Adjust. 2012-07-17 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): Warn if an imported subprogram has pre/post conditions, because these will not be enforced. 2012-07-17 Eric Botcazou <ebotcazou@adacore.com> * exp_ch7.adb (Process_Transient_Objects): Put all the finalization blocks and the final raise statement into a wrapper block. 2012-07-17 Vincent Pucci <pucci@adacore.com> * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X replaced by Sync_Compare_And_Swap_X. (Lock_Free_Try_Write_64): Removed. * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous routine Atomic_Compare_Exchange_X. (Lock_Free_Read_64): Renaming of Atomic_Load_64. (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64. 2012-07-17 Vincent Celier <celier@adacore.com> * switch-m.adb (Normalize_Compiler_Switches): Recognize new switches -gnatn1 and -gnatn2. 2012-07-17 Vincent Pucci <pucci@adacore.com> * gnat_ugn.texi: GNAT dimensionality checking documentation updated with System.Dim.Mks modifications. 2012-07-17 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb: sloc of array init_proc is sloc of type declaration. 2012-07-17 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (get_call_site_action_for): Remove useless init expression for p. (get_action_description_for): Do not overwrite action->kind. 2012-07-17 Hristian Kirtchev <kirtchev@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr and Conversion_Added. Add local constant Typ. Retrieve the original attribute after the arithmetic check machinery has modified the node. Add a conversion to the target type when the prefix of attribute Max_Size_In_Storage_Elements is a controlled type. 2012-07-17 Gary Dismukes <dismukes@adacore.com> * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter of mode 'out' or 'in out' that denotes an entity, reset Last_Assignment on the entity so that any assignments to the corresponding formal in the inlining will not trigger spurious warnings about overwriting assignments. From-SVN: r189569
2012-07-17[multiple changes]Arnaud Charlet11-73/+118
2012-07-17 Tristan Gingold <gingold@adacore.com> * treepr.adb, treepr.ads: Revert previous patch, unneeded. 2012-07-17 Robert Dewar <dewar@adacore.com> * s-assert.ads: Fix comments to make it clear that this is used for all assertions, not just pragma Assert. 2012-07-17 Jerome Guitton <guitton@adacore.com> * par_sco.ads: Minor typo fix. 2012-07-17 Gary Dismukes <dismukes@adacore.com> * layout.adb (Layout_Type): In the case where the target is AAMP, use 32 bits (a single pointer) rather than 64 bits for an anonymous access-to-subprogram type if the type is library-level and Is_Local_Anonymous_Access is True. 2012-07-17 Jose Ruiz <ruiz@adacore.com> * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task, Initialize): Add comments explaining that the CPU affinity value that is passed to the run-time library can be either Unspecified_CPU, to indicate that the task inherits the affinity of its activating task, or a value in the range of CPU_Range but no greater than Number_Of_CPUs. 2012-07-17 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities. (Make_Tags): Add decoration of Ada.Tags entities. 2012-07-17 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Check_Statement_Sequence): When locating the last significant statement in a sequence, ignore iserted nodes that typically come from expansion of controlled operations. 2012-07-17 Tristan Gingold <gingold@adacore.com> * gnat_rm.texi: Document foreign exceptions. From-SVN: r189568
2012-07-17sem_prag.adb, treepr.ads: Minor reformatting.Robert Dewar3-3/+8
2012-07-17 Robert Dewar <dewar@adacore.com> * sem_prag.adb, treepr.ads: Minor reformatting. From-SVN: r189567
2012-07-17[multiple changes]Arnaud Charlet7-45/+102
2012-07-17 Robert Dewar <dewar@adacore.com> * exp_ch9.adb: Minor code reorganization. * exp_ch3.adb: Minor code improvement. 2012-07-17 Tristan Gingold <gingold@adacore.com> * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore on Windows 64 (+ SEH), as it is unused. 2012-07-17 Tristan Gingold <gingold@adacore.com> * treepr.ads (psloc): Declare. * treepr.adb (psloc): New debug procedure to print a sloc. (Print_Sloc): New procedure, from ... (Print_Node_Subtree): ... this. Call Print_Sloc. 2012-07-17 Javier Miranda <miranda@adacore.com> * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into CPP convention automatically. From-SVN: r189566
2012-07-16decl.c (intrin_return_compatible_p): Map Address to void *.Tristan Gingold2-0/+9
2012-07-16 Tristan Gingold <gingold@adacore.com> * decl.c (intrin_return_compatible_p): Map Address to void *. From-SVN: r189536
2012-07-16exp_ch9.adb (Ensure_Statement_Present): New subprogram.Thomas Quinot3-5/+53
2012-07-16 Thomas Quinot <quinot@adacore.com> * exp_ch9.adb (Ensure_Statement_Present): New subprogram. (Expand_N_Asynchronous_Select, Expand_N_Selective_Accept.Process_Accept_Alternative, Expand_N_Selective_Accept.Process_Delay_Alternative, Expand_N_Timed_Entry_Call): For an alternative with no trailing statements, introduce a null statement to carry the sloc of the initial special statement (accept, delay, or entry call) in the alternative, for coverage analysis purposes. 2012-07-16 Thomas Quinot <quinot@adacore.com> * sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar arguments. From-SVN: r189535
2012-07-16[multiple changes]Arnaud Charlet11-366/+284
2012-07-16 Robert Dewar <dewar@adacore.com> * a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb, sem_eval.adb, s-fileio.adb: Minor reformatting. 2012-07-16 Javier Miranda <miranda@adacore.com> * sem_prag.adb (Analyze_Pragma): Remove support for obsolescent pragma CPP_Class. * sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada derivations of CPP types. Found updating the tests affected by the removal of pragma CPP_Class. 2012-07-16 Thomas Quinot <quinot@adacore.com> * back_end.adb: Minor reformatting. 2012-07-16 Thomas Quinot <quinot@adacore.com> * exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative): Remove junk test that was always true. For the case of no statements following the ACCEPT, jump directly to End_Lab instead of introducing an intermediate jump. (Expand_N_Selective_Accept.Process_Delay_Alternative): Fix predicate testing for presence of statements following the DELAY. that was always true. For the case of no statements following the ACCEPT, jump directly to End_Lab instead of introducing an intermediate jump. (Expand_N_Selective_Accept): Fix incorrect insertion point for end label. From-SVN: r189534
2012-07-16[multiple changes]Arnaud Charlet4-85/+23
2012-07-16 Thomas Quinot <quinot@adacore.com> * gnat_rm.texi: Minor documentation improvements. 2012-07-16 Yannick Moy <moy@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre and Pre'Class aspects on the same declaration. * sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the same hierarchy of primitive operations. From-SVN: r189533
2012-07-16[multiple changes]Arnaud Charlet11-178/+255
2012-07-16 Thomas Quinot <quinot@adacore.com> * freeze.adb (Check_Component_Storage_Order): Do not reject a nested composite with different scalar storage order if it is byte aligned. 2012-07-16 Thomas Quinot <quinot@adacore.com> * gnat_rm.texi: Update documentation for Scalar_Storage_Order. 2012-07-16 Tristan Gingold <gingold@adacore.com> * a-exexpr.adb (Propagate_Exception): Adjust call to Exception_Traces procedures. * a-exexpr-gcc.adb (Setup_Current_Excep): Now a function that returns an access to the Ada occurrence. (Propagate_GCC_Exception): Adjust calls. * raise.h (struct Exception_Occurrence): Declare. * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception, Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add Excep parameter. * a-except.adb (Notify_Handled_Exception, Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add Excep parameter. (Process_Raise_Exception): Adjust calls. * a-except-2005.adb (Notify_Handled_Exception, Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add Excep parameter. (Raise_Exception): Calls Raise_Exception_Always. * raise-gcc.c (__gnat_setup_current_excep, __gnat_notify_handled_exception) (__gnat_notify_unhandled_exception): Adjust declarations. (PERSONALITY_FUNCTION): Adjust calls. (__gnat_personality_seh0): Remove warning. 2012-07-16 Javier Miranda <miranda@adacore.com> * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation. (Eval_Relational_Op): Adding documentation. From-SVN: r189532
2012-07-16[multiple changes]Arnaud Charlet13-258/+453
2012-07-16 Robert Dewar <dewar@adacore.com> * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting. 2012-07-16 Thomas Quinot <quinot@adacore.com> * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ. 2012-07-16 Tristan Gingold <gingold@adacore.com> * a-exexpr.adb (Propagate_Continue): New function replacing Raise_Current_Excep. (Allocate_Occurrence): New function. (Propagate_Exception): Add Excep parameter, remove call to Call_Chain. * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component is now aliased. (To_GCC_Exception): Convert from Address. (Allocate_Occurrence): Allocate an Unwind exception occurrence. (Setup_Current_Excep): Fill the machine occurrence in case of foreign exception. (Propagate_Exception): Add Excep parameter, remove call to Call_Chain. * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add Excep parameter. (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer): Adjust calls to the above procedures. (Raise_From_Signal_Handler, Raise_With_Location_And_Msg) (Rcheck_PE_Finalize_Raised_Exception): Likewise. * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg): add Excep parameter. (Propagate_Exception): Likewise. (Allocate_Occurrence): New function. (Raise_Current_Excep): Removed. (Complete_Occurrence): New function to save the call chain. (Complete_And_Propagate_Occurrence): New procedure. (Create_Occurrence_From_Signal_Handler): New function to build an occurrence without propagating it. (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but return the machine occurrence. (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler. (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer): Adjust calls to the above procedures. Allocate the occurrence at the beginning. (Raise_With_Location_And_Msg, Raise_With_Msg) (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise. (Reraise_Occurrence): Use Reraise_Occurrence_Always. (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer. (Reraise_Occurrence_No_Defer): Preserve machine occurrence. (Save_Occurrence): Do not save machine occurrence. * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence component. (Null_Occurrence): Consider it. * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add Excep parameter. 2012-07-16 Tristan Gingold <gingold@adacore.com> * seh_init.c (__gnat_map_SEH): New function extracted from __gnat_SEH_error_handler. * raise-gcc.c: __gnat_personality_seh0: Directly transforms Windows system exception into GCC one when possible, in order to save stack room (particularly useful when Storage_Error will be propagated). From-SVN: r189530
2012-07-16[multiple changes]Arnaud Charlet12-83/+226
2012-07-16 Robert Dewar <dewar@adacore.com> * a-direct.adb, g-dirope.adb: Minor reformatting. 2012-07-16 Tristan Gingold <gingold@adacore.com> * a-except.ads, a-except-2005.ads: Remove outdated comment. 2012-07-16 Robert Dewar <dewar@adacore.com> * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to conform to documentation. 2012-07-16 Ed Schonberg <schonberg@adacore.com> * gnat1drv.adb (Check_Library_Items): Removed, no longer used. 2012-07-16 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Array_Type_Declaration): if component type has invariants, the array type itself requires an invariant procedure. * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new procedure, to build a checking procedure that applies the invariant check on some type T to each component of an array of T's. Code is similar to the construction of the init_proc for an array, and handles multidimensional arrays by recursing over successive dimensions. 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com> * g-debpoo.adb: Revert previous change. 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Freeze_Entity): Insert the itype reference to a library-level class-wide subtype after the freeze node of the equivalent record type. From-SVN: r189526
2012-07-16s-crtl.ads (mkdir): New routine, support encoding.Pascal Obry7-23/+65
2012-07-16 Pascal Obry <obry@adacore.com> * s-crtl.ads (mkdir): New routine, support encoding. * adaint.h (__gnat_mkdir): Update spec to pass encoding. * mkdir.c (__gnat_mkdir): Add encoding parameter. * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding in form parameter. * g-dirope.adb (Make_Dir): Update to pass encoding parameter. 2012-07-16 Pascal Obry <obry@adacore.com> * adaint.c: Minor reformatting. From-SVN: r189525
2012-07-16system.h (dump_file): Do not define.Steven Bosscher3-1/+7
gcc/ * system.h (dump_file): Do not define. * tree-pass.h: Include dumpfile.h, which is a new file containing... (enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name, dump_file, dump_flags, dump_file_name, get_dump_file_info, struct dump_file_info): all of this, moved to... * dumpfile.h: Here, new file. * tree-dump.h: Include dumpfile.h, but not tree-pass.h. (dump_stmt): Remove prototype for C++ specific function. (dump_enumerated_decls): Move prototype from here... * tree-flow.h (dump_enumerated_decls): ... to here. (get_ref_base_and_extent) Move prototype from here ... * tree.h (get_ref_base_and_extent) ... to here. * tree-ssa-live.c: Do not inclde tree-pretty-print.h, because gimple-pretty-print.h is enough. Do not include tree-dump.h, include timevar.h and dumpfile.h instead. (struct numbered_tree_d, compare_decls_by_uid, dump_enumerated_decls_push, dump_enumerated_decls): Move from here ... * tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid, dump_enumerated_decls_push, dump_enumerated_decls):... to here. Do not include timevar.h. * tree.c: Do not include timevar.h. * tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and timevar.h. (dump_cfg_stats): Use current_function_name. (gimple_cfg2vcg): Likewise. (dump_function_to_file): Likewise. * df-scan.c: Do not include tree-pass.h and timevar.h. Include dumpfile.h. (df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not use print_current_pass. * df-problems.c: Include dumpfile.h. Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it leads to errors in the code not selected. (df_note_compute): Do not print_rtl_with_bb here. Fix compilation bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here. * lcm.c: Include dumpfile.h. Remove obsolete include of insn-attr.h. * dojump.c (do_compare_rtx_and_jump): Remove failure printing for missing probability notes. * stmt.c: Include dumpfile.h. (emit_case_decision_tree): Re-enable printing expand details only if TDF_DETAILS. * alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c, cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c, cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c, coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c, dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c, function.c, fwprop.c, gcse.c, gimple-fold.c, gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c, graphite-dependences.c, graphite-interchange.c, graphite-optimize-isl.c, graphite-poly.c, graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c, ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c, ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c, jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c, loop-unroll.c, loop-unswitch.c, lower-subreg.c, lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c, mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c, plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c, print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c, regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c, sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c, store-motion.c, tracer.c, trans-mem.c, tree-affine.c, tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c, tree-data-ref.c, tree-diagnostic.c, tree-dump.c, tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c, tree-mudflap.c, tree-nrv.c, tree-object-size.c, tree-optimize.c, tree-outof-ssa.c, tree-predcom.c, tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c, tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c, tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c, tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c, tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c, tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c, tree-ssa-uncprop.c, tree-ssa-uninit.c, tree-switch-conversion.c, tree-tailcall.c, tree-vect-data-refs.c, tree-vect-loop.c, tree-vect-loop-manip.c, tree-vectorizer.c, tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c, tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h only if needed. If tree-pass.h is included, do not include timevar.h and dumpfile.h. If tree-pass.h is not included but dump_file, or dump_flags, or the TDF_* flags are used, include dumpfile.h. If gimple-pretty-print.h is included, don't include tree-pretty-print.h. Remove assorted unnecessary includes. * config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c, config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c, config/spu/spu.c, config/mep/mep.c, config/i386/i386.c: Include dumpfile.h. * config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h. * arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep, spu/t-spu-elf: Fix dependencies. c-family/ * c-gimplify.c: Include dumpfile.h instead of tree-dump.h. * c-ada-spec.c: Likewise. * c-dump.c (dump_stmt): Move to cp/dump.c, the only user. c/ * c-decl.c: Include dumpfile.h instead of tree-dump.h. * Make-lang.in: Fix dependencies. cp/ * dump.c (dump_stmt): Moved here from c-dump.c. * optimize.c: Include dumpfile.h instead of tree-dump.h. * class.c: Likewise. * decl2.c: Likewise. * Make-lang.in: Fix dependencies. fortran/ * f95-lang.c: Include dumpfile.h instead of tree-dump.h. * Make-lang.in: Fix dependencies. java/ * java-gimplify.c Include dumpfile.h instead of tree-dump.h * Make-lang.in: Fix dependencies. lto/ * lto.c: Do not include timevar.h. * Make-lang.in: Fix dependencies. ada/ * gcc-interface/utils.c: Include timevar.h. * Make-lang.in: Fix dependencies. From-SVN: r189519
2012-07-16[multiple changes]Arnaud Charlet5-41/+142
2012-07-16 Vasiliy Fofanov <fofanov@adacore.com> * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2 switches. 2012-07-16 Bob Duff <duff@adacore.com> * sinfo.ads: Minor comment fix. 2012-07-16 Bob Duff <duff@adacore.com> * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to find pragmas Elaborate_All that may be found in the transitive closure of the dependences. From-SVN: r189517
2012-07-16exp_pakd.adb, [...]: Minor reformatting.Robert Dewar5-24/+32
2012-07-16 Robert Dewar <dewar@adacore.com> * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor reformatting. From-SVN: r189516
2012-07-12[multiple changes]Arnaud Charlet13-59/+250
2012-07-12 Vasiliy Fofanov <fofanov@adacore.com> * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches. 2012-07-12 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_aggr.adb (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing for reverse storage order aggregate. (Exp_Pakd.Byte_Swap): New utility routine used by... (Exp_Pakd.Expand_Bit_Packed_Element_Set, Expand_Packed_Element_Reference): For the case of a free-standing packed array with reverse storage order, perform byte swapping. (Rtsfind): Make new entities RE_Bswap_{16,32,64} available. (Freeze.Check_Component_Storage_Order): New utility routine to enforce legality rules for nested composite types whose enclosing composite has an explicitly defined Scalar_Storage_Order attribute. (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to array types as well. (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge for change of scalar storage order in assignments. The Lhs and Rhs now always have the same scalar storage order. 2012-07-12 Hristian Kirtchev <kirtchev@adacore.com> * g-debpoo.adb (Allocate): Add local constant No_Element. Initialize the allocated memory chunk to No_Element. 2012-07-12 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the case of an instance of a child unit where a formal derived type DT is an extension of a type T declared in a parent unit, and the actual in the instance of the child is the type T declared in the parent instance, and that actual is not a derived type. 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> Tristan Gingold <gingold@adacore.com> * system-hpux-ia64.ads: Enable ZCX by default. * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux. Change soext to .so. From-SVN: r189439
2012-07-12[multiple changes]Arnaud Charlet14-910/+1072
2012-07-12 Robert Dewar <dewar@adacore.com> * s-atopri.adb, s-atopri.ads: Minor reformatting. 2012-07-12 Robert Dewar <dewar@adacore.com> * ali.adb: Add circuitry to read new named form of restrictions lines. * debug.adb: Add doc for new -gnatd.R switch (used positional notation for output of restrictions data in ali file). * lib-writ.adb: Implement new named format for restrictions lines. * lib-writ.ads: Add documentation for new named format for restrictions in ali files. * restrict.adb, restrict.ads, sem_prag.adb: Update comments. * rident.ads: Go back to withing System.Rident * s-rident.ads: Add extensive comment on dealing with consistency checking. 2012-07-12 Thomas Quinot <quinot@adacore.com> * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements. From-SVN: r189438
2012-07-12[multiple changes]Arnaud Charlet7-206/+424
2012-07-12 Robert Dewar <dewar@adacore.com> * sem_disp.adb: Minor reformatting * s-bytswa.ads: Minor comment update. 2012-07-12 Vincent Pucci <pucci@adacore.com> * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N replaced by Lock_Free_Try_Write_N. Renaming of several local variables. For procedure, Expected_Comp declaration moved to the declaration list of the procedure. * rtsfind.ads: RE_Atomic_Compare_Exchange_8, RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32, RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8, RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8, RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64, RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16, RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added. * s-atopri.adb: New file. * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of parameters. Import primitive __sync_val_compare_and_swap_1. (Atomic_Compare_Exchange_16): Renaming of parameters. Import primitive __sync_val_compare_and_swap_2. (Atomic_Compare_Exchange_32): Renaming of parameters. Import primitive __sync_val_compare_and_swap_4. (Atomic_Compare_Exchange_64): Renaming of parameters. Import primitive __sync_val_compare_and_swap_8. (Atomic_Load_8): Ptr renames parameter X. (Atomic_Load_16): Ptr renames parameter X. (Atomic_Load_32): Ptr renames parameter X. (Atomic_Load_64): Ptr renames parameter X. (Lock_Free_Read_8): New routine. (Lock_Free_Read_16): New routine. (Lock_Free_Read_32): New routine. (Lock_Free_Read_64): New routine. (Lock_Free_Try_Write_8): New routine. (Lock_Free_Try_Write_16): New routine. (Lock_Free_Try_Write_32): New routine. (Lock_Free_Try_Write_64): New routine. From-SVN: r189437
2012-07-12[multiple changes]Arnaud Charlet13-359/+440
2012-07-12 Robert Dewar <dewar@adacore.com> * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor reformatting. 2012-07-12 Vincent Pucci <pucci@adacore.com> * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error msgs for elementary functions. 2012-07-12 Vincent Pucci <pucci@adacore.com> * sem_attr.adb (Eval_Attribute): Minor reformatting. 2012-07-12 Pascal Obry <obry@adacore.com> * prj-nmsc.adb (Check_Library_Attributes): Allow the same library project in different project tree (different aggregated projects). 2012-07-12 Thomas Quinot <quinot@adacore.com> * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further reorganization of byte swapping routines. 2012-07-12 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Context): Refine legality checks on tagg indeterminate calls to abstract operations, that appear in the context of other calls. From-SVN: r189436
2012-07-12[multiple changes]Arnaud Charlet8-209/+336
2012-07-12 Thomas Quinot <quinot@adacore.com> * s-bytswa.adb (Swapped2.Bswap16): Remove local function, no longer needed. 2012-07-12 Javier Miranda <miranda@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): For attributes 'access, 'unchecked_access and 'unrestricted_access, iff the current instance reference is located in a protected subprogram or entry then rewrite the access attribute to be the name of the "_object" parameter. 2012-07-12 Tristan Gingold <gingold@adacore.com> * raise.h: Revert previous patch: structure is used in init.c by vms. 2012-07-12 Vincent Celier <celier@adacore.com> * make.adb (Binding_Phase): If --subdirs was used, but not -P, change the working directory to the specified subdirectory before invoking gnatbind. (Linking_Phase): If --subdirs was used, but not -P, change the working directory to the specified subdirectory before invoking gnatlink. 2012-07-12 Vincent Pucci <pucci@adacore.com> * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): For a procedure, instead of replacing each Comp reference by a reference to Current_Comp, make a renaming Comp of Current_Comp that rewrites the original renaming generated by the compiler during the analysis. Move the declarations of the procedure inside the generated block. (Process_Stmts): Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body. (Process_Node): Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body. * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any non-elementary out parameters in protected procedures. 2012-07-12 Thomas Quinot <quinot@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Scalar_Storage_Order): Attribute applies to base type only. From-SVN: r189435
2012-07-12[multiple changes]Arnaud Charlet11-287/+561
2012-07-12 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Convert_To_Positional): Increase acceptable size of static aggregate when Static_Elaboration_Desired is requested. Add a warning if the request cannot be satisfied either because some components or some array bounds are non-static. 2012-07-12 Thomas Quinot <quinot@adacore.com> * exp_pakd.adb: Minor reformatting. 2012-07-12 Tristan Gingold <gingold@adacore.com> * tracebak.c: Fix warnings. * raise-gcc.c (__gnat_adjust_context): New function (__gnat_personality_seh0): Call __gnat_adjust_context to adjust PC in machine frame for exceptions that occur in the current function. 2012-07-12 Thomas Quinot <quinot@adacore.com> * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl: Move GNAT.Byte_Swapping to System (with a renaming under GNAT) so that it is usable in expanded code. 2012-07-12 Tristan Gingold <gingold@adacore.com> * s-osinte-hpux.ads: Increase alternate stack size on hpux. From-SVN: r189434
2012-07-12[multiple changes]Arnaud Charlet6-109/+119
2012-07-12 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Make_Neq_Body): Fix typo in comment. 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only if USE_LIBUNWIND_EXCEPTIONS is defined. * init.c: Further tweaks for IA-64/HP-UX. 2012-07-12 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments. (db_region_for): Second argument is ip. Do not recompute ip. (action_kind): Remove typedef, add unhandler enum const. (action_descriptor): Adjust type of kind field. (db_action_for): Second argument is ip, do not recompute it. (get_call_site_action_for): First argument is call_site, do not recompute it. Remove useless return. (is_handled_by): Now return enum action_kind. Handle GNAT_ALL_OTHERS first. Return unhandler for GNAT_UNHANDLED_OTHERS. (get_action_description_for): First argument is now ip, do not recompute it. Adjust code for call to is_handled_by. (__gnat_notify_unhandled_exception): Add prototype. (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls. Handle unhandler case. (__gnat_cleanupunwind_handler): Add comments, add ATTRIBUTE_UNUSED on arguments. (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define only once. * raise.h: Makes struct Exception_Data opaque. From-SVN: r189433
2012-07-12[multiple changes]Arnaud Charlet7-40/+273
2012-07-12 Robert Dewar <dewar@adacore.com> * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor reformatting. 2012-07-12 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Is_User_Defined_Equality): New subprogram. (Make_Neq_Body): New subprogram. (Make_Predefined_Primitive_Specs): Adding local variable Has_Predef_Eq_ Renaming to ensure that we enable the machinery which handles renamings of predefined primitive operators. From-SVN: r189432
2012-07-09[multiple changes]Arnaud Charlet3-9/+63
2012-07-09 Pascal Obry <obry@adacore.com> * prj.adb (For_Every_Project_Imported_Context): Make sure we callback with the project having sources. Minor reformatting. 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> * make.adb: Fix typo. From-SVN: r189385
2012-07-09Remove duplicate entries.Eric Botcazou1-3192/+0
From-SVN: r189381
2012-07-09[multiple changes]Arnaud Charlet12-45/+161
2012-07-09 Vincent Pucci <pucci@adacore.com> * sem_ch9.adb (Check_Node): Allow attributes that denote static function for lock-free implementation. (Is_Static_Function): New routine. 2012-07-09 Tristan Gingold <gingold@adacore.com> * tracebak.c: Adjust skip_frames on Win64. 2012-07-09 Tristan Gingold <gingold@adacore.com> * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux. * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call _Unwind_GetGR on hpux when using libgcc unwinder. Part of 2012-07-09 Vincent Pucci <pucci@adacore.com> * exp_attr.adb, sem_attr.adb: Minor reformatting. * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting considering that internal attribute names are not defined anymore in the main attribute names list. * snames.adb-tmpl (Get_Attribute_Id): Special processinf for names CPU, Dispatching_Domain and Interrupt_Priority. (Is_Internal_Attribute_Name): Minor reformatting. * snames.ads-tmpl: New list of internal attribute names. Internal attributes moved at the end of the attribute Id list. From-SVN: r189380
2012-07-09[multiple changes]Arnaud Charlet14-43/+72
2012-07-09 Robert Dewar <dewar@adacore.com> * freeze.adb: Minor code reorganization (use Ekind_In). * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb, sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb, sem_ch13.adb, snames.ads-tmpl: Minor reformatting. 2012-07-09 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Adjust previous patch. 2012-07-09 Vincent Celier <celier@adacore.com> * make.adb (Compilation_Phase): Do not build libraries in Codepeer mode (do not call Library_Phase). From-SVN: r189379
2012-07-09[multiple changes]Arnaud Charlet10-80/+89
2012-07-09 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Extend previous change to elementary types. 2012-07-09 Javier Miranda <miranda@adacore.com> * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse previous patch since unconditionally handling as renaming_as_body renamings of predefined dispatching equality and unequality operator cause visibility problems with private overridings of the equality operator (see ACATS C854001). 2012-07-09 Vincent Pucci <pucci@adacore.com> * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in case of internal attribute names (already rejected by the parser). * par-ch13.adb (P_Representation_Clause): Complain if an internal attribute name that comes from source occurs. * par-ch4.adb (P_Name): Complain if an internal attribute name occurs in the context of an attribute reference. * par-util.adb (Signal_Bad_Attribute): Don't complain about mispelling attribute with internal attributes. * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case of internal attribute names (already rejected by the parser). * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine. * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and Interrupt_Priority are marked as INT attributes since they don't denote real attribute and are only used internally in the compiler. (Is_Internal_Attribute_Name): New routine. From-SVN: r189378
2012-07-09[multiple changes]Arnaud Charlet17-291/+943
2012-07-09 Thomas Quinot <quinot@adacore.com> * einfo.adb (Set_Reverse_Storage_Order): Update assertion, flag is now valid for array types as well. 2012-07-09 Tristan Gingold <gingold@adacore.com> * tracebak.c: Implement __gnat_backtrace for Win64 SEH. 2012-07-09 Robert Dewar <dewar@adacore.com> * einfo.ads: Minor reformatting. 2012-07-09 Javier Miranda <miranda@adacore.com> * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as renaming_as_body renamings of predefined dispatching equality and unequality operators. 2012-07-09 Robert Dewar <dewar@adacore.com> * rident.ads: Do not instantiate r-ident.ads, this is now an independent unit. 2012-07-09 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging routine. * sem_disp.adb (Find_Dispatching_Time): Protect this routine against partially decorated entities. 2012-07-09 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Check_Size): Reject a size clause that specifies a value greater than Int'Last for a scalar type. 2012-07-09 Vincent Pucci <pucci@adacore.com> * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support atomic operation moved to the protected body case. No non-elementary out parameter moved to the protected declaration case. Functions have only one lock-free restriction. (Analyze_Protected_Type_Declaration): Issue a warning when Priority given with Lock_Free. 2012-07-09 Vincent Pucci <pucci@adacore.com> * sem_dim.adb: Grammar of aspect Dimension fixed. 2012-07-09 Vincent Pucci <pucci@adacore.com> * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid pushing and popping the scope stack whenever a delayed aspect occurs. 2012-07-09 Gary Dismukes <dismukes@adacore.com> * s-os_lib.ads: Remove pragma Elaborate_Body, as this is now unnecessary due to recently added pragma Preelaborate. 2012-07-09 Jose Ruiz <ruiz@adacore.com> * s-taprop-mingw.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: r189377
2012-07-09[multiple changes]Arnaud Charlet15-39/+69
2012-07-09 Robert Dewar <dewar@adacore.com> * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb, s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor reformatting. 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> * raise-gcc.c: Update comments. Fix typo. 2012-07-09 Thomas Quinot <quinot@adacore.com> * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute Scalar_Storage_Order can be defined or queried for array types as well as record types. From-SVN: r189376
2012-07-09[multiple changes]Arnaud Charlet11-52/+105
2012-07-09 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from raise-gcc.c * raise-gcc.c (__gnat_cleanupunwind_handler): Defined. Strictly follow the ABI convention on ia64. 2012-07-09 Gary Dismukes <dismukes@adacore.com> * a-ststio.ads: Add pragma Preelaborate, per AI05-0283. * i-cstrea.ads (max_path_len): Change from variable to deferred constant to allow it to be used as a bound in string component in type System.File_IO.Temp_File_Record. * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma Preelaborate. * s-fileio.adb (Get_Case_Sensitive): Move function inside procedure Open. (File_Names_Case_Sensitive): Move variable inside procedure Open, to avoid violation of Preelaborate restriction (due to call to Get_Case_Sensitive). 2012-07-09 Ed Schonberg <schonberg@adacore.com> * layout.adb (Set_Elem_Alignment): Protect against meaningless size clause, to prevent overflow in internal computation of alignment. From-SVN: r189375
2012-07-09[multiple changes]Arnaud Charlet6-26/+59
2012-07-09 Robert Dewar <dewar@adacore.com> * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor reformatting. 2012-07-09 Gary Dismukes <dismukes@adacore.com> * sem_cat.adb (Check_Categorization_Dependencies): Allow dependence of both Remote_Types and Remote_Call_Interface declarations (not just Remote_Types units) on preelaborated units, but require that the dependence be made via a private with_clause. Issue a specialized error message. From-SVN: r189371
2012-07-09prj-util.adb, [...] (For_Interface_Sources): New routine.Pascal Obry3-1/+156
2012-07-09 Pascal Obry <obry@adacore.com> * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine. From-SVN: r189370
2012-07-09[multiple changes]Arnaud Charlet7-44/+121
2012-07-09 Tristan Gingold <gingold@adacore.com> * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH, return for unknown exceptions. * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler. 2012-07-09 Joel Brobecker <brobecker@adacore.com brobecker> * exp_dbug.ads (No_Dollar_In_Label): Delete. 2012-07-09 Vincent Pucci <pucci@adacore.com> * sem_ch13.adb (Check_Overloaded_Name): New routine. 2012-07-09 Vincent Pucci <pucci@adacore.com> * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the components in a record type. 2012-07-09 Pascal Obry <obry@adacore.com> * prj-util.ads: Minor reformatting. From-SVN: r189369
2012-07-09[multiple changes]Arnaud Charlet4-95/+51
2012-07-09 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (db_indent): Simplify style, improve comments. Remove !IN_RTS part (dead). 2012-07-09 Robert Dewar <dewar@adacore.com> * usage.adb: Minor change to format of -gnatn line. 2012-07-09 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb: Reorder routine. From-SVN: r189368
2012-07-09[multiple changes]Arnaud Charlet23-185/+256
2012-07-09 Vincent Celier <celier@adacore.com> * lib-writ.ads: Add documentation for the Z lines (implicitly withed units) and Y lines (limited withed units). 2012-07-09 Robert Dewar <dewar@adacore.com> * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb, sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb, sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb, sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups. 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only lightly in the summary and more thoroughly in inlining section. (Performance Considerations): Document -gnatn[12] in inlining section. 2012-07-09 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure. (Unhandled_Others_Value): New const. * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define. (action_descriptor): Remove ttype_entry. (get_action_description_for): Do not assign ttype_entry. (is_handled_by): Consider GNAT_UNHANDLED_OTHERS. From-SVN: r189367
2012-07-03trans.c (Call_to_gnu): Robustify test for function case if the CICO ↵Eric Botcazou2-3/+7
mechanism is used. * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case if the CICO mechanism is used. From-SVN: r189204
2012-07-03utils2.c (build_simple_component_ref): Do not look through an extension if ↵Eric Botcazou2-1/+8
the type contains a placeholder. * gcc-interface/utils2.c (build_simple_component_ref): Do not look through an extension if the type contains a placeholder. From-SVN: r189202
2012-07-03exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on the ↵Eric Botcazou6-5/+92
designated subprogram type and also set... * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on the designated subprogram type and also set Is_Dispatch_Table_Entity. (Expand_Interface_Thunk): Propagate the convention on the thunk. (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on the internal view of the constructors. (Set_CPP_Constructors): Likewise. * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the convention on the function. * gcc-interface/gigi.h (is_cplusplus_method): Declare. * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall' calling convention (get_minimal_subprog_decl): Likewise. (is_cplusplus_method): New predicate. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an error on access to C++ constructor or member function. From-SVN: r189199
2012-07-03utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types attached to a TYPE_DECL.Eric Botcazou2-1/+11
* gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types attached to a TYPE_DECL. From-SVN: r189195
2012-06-26[multiple changes]Arnaud Charlet10-407/+433
2012-06-26 Vincent Pucci <pucci@adacore.com> * exp_ch3.adb (Build_Init_Statements): Don't check the parents in the Rep Item Chain of the task for aspects Interrupt_Priority, Priority, CPU and Dispatching_Domain. * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority, _CPU and _Domain are present in the corresponding record type only if the task entity has a pragma, attribute definition clause or aspect specification. (Make_Initialize_Protection): Don't check the parents in the Rep Item Chain of the task for aspects Interrupt_Priority, Priority, CPU and Dispatching_Domain. * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point call replaced by Analyze_Aspects_At_Freeze_Point. * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Renaming of Evaluate_Aspects_At_Freeze_Point. 2012-06-26 Yannick Moy <moy@adacore.com> * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a postcondition, and issue an error in such a case. 2012-06-26 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Minor editing. 2012-06-26 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Minor cleanup: remove unused prototype. * seh_init.c: Do not create an image wide unwind info to catch SEH when SEH unwind info are emitted by the compiler. From-SVN: r188995
2012-06-19target.def (output_ident): New hook.Steven Bosscher3-6/+11
gcc/ * target.def (output_ident): New hook. * targhooks.h (default_asm_output_ident_directive): Add prototype. * varasm.c (assemble_asm): Only prefix a tab if the string does not already start with one. (default_asm_output_ident_directive): New function to emit .ident as a top-level asm node while parsing, or directly to asm_out_file after parsing. * toplev.c (compile_file): Print a GCC .ident with targetm.asm_out.output_ident. * doc/tm.texi.in (ASM_OUTPUT_IDENT): Remove documentation for macro. (TARGET_ASM_OUTPUT_IDENT): Add @hook for this. * doc/tm.texi: Update. * config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/i386/djgpp.h (IDENT_ASM_OP): Remove. * config/i386/gas.h (ASM_OUTPUT_IDENT): Remove. * config/arm/aout.h (ASM_OUTPUT_IDENT): Remove. * config/sparc/sparc.h (IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/picochip/picochip.h (IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/cris/cris-protos.h (cris_asm_output_ident): Add prototype. * config/cris/cris.c (cris_asm_output_ident): New function. * config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove. * config/microblaze/microblaze-protos.h (microblaze_asm_output_ident): Add prototype. * config/microblaze/microblaze.c: Include cgraph.h for add_asm_node. (microblaze_asm_output_ident): Rewrite to work similar to default_asm_output_ident_directive for front-end .idents. * config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/mips/mips.h (ASM_OUTPUT_IDENT): Remove. * config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove. * config/rx/rx.c: Include cgraph.h for add_asm_node. (rx_asm_output_ident): New function, similar to default_asm_output_ident_directive, but handle AS100 syntax also, so that #ident also works for rx in AS100 syntax. (TARGET_ASM_OUTPUT_IDENT): Define. * config/rx/rx.h (IDENT_ASM_OP): Remove. * Makefile.in: Fix dependencies for c-family/c-lex.o. c-family/ * c-lex.c: Do not include output.h. (cb_ident): Try to put out .ident with targetm.asm_out.output_ident. Remove uses of ASM_OUTPUT_IDENT. ada/ * gcc-interface/trans.c: Include target.h. (gigi): Try to put out .ident with targetm.asm_out.output_ident. Remove uses of ASM_OUTPUT_IDENT. * gcc-interface/Make-lang.in: Fix dependencies. From-SVN: r188791
2012-06-15re PR ada/53592 (ICE on assignment to component of vector_type)Eric Botcazou4-19/+28
PR ada/53592 * gcc-interface/gigi.h (maybe_vector_array): Make static inline. * gcc-interface/utils.c (maybe_vector_array): Delete. * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the array object as addressable if it has vector type and is on the LHS. From-SVN: r188653
2012-06-15re PR middle-end/53590 (compiler fails to generate SIMD instruction for FP ↵Eric Botcazou2-0/+9
division) PR middle-end/53590 * common.opt (-fdelete-dead-exceptions): New switch. * doc/invoke.texi (Code Gen Options): Document it. * cse.c (count_reg_usage) <CALL_INSN>: Use !insn_nothrow_p in lieu of insn_could_throw_p predicate. Do not skip an insn that could throw if dead exceptions can be deleted. (insn_live_p): Likewise, do not return true in that case. * dce.c (can_alter_cfg): New flag. (deletable_insn_p): Do not return false for an insn that can throw if the CFG can be altered and dead exceptions can be deleted. (init_dce): Set can_alter_cfg to false for fast DCE, true otherwise. * dse.c (scan_insn): Use !insn_nothrow_p in lieu of insn_could_throw_ predicate. Do not preserve an insn that could throw if dead exceptions can be deleted. * function.h (struct function): Add can_delete_dead_exceptions flag. * function.c (allocate_struct_function): Set it. * lto-streamer-in.c (input_struct_function_base): Stream it. * lto-streamer-out.c (input_struct_function_base): Likewise. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark a statement that could throw as necessary if dead exceptions can be deleted. ada/ * gcc-interface/misc.c (gnat_init_options_struct): Set opts->x_flag_delete_dead_exceptions to 1. From-SVN: r188651
2012-06-14Make-lang.in (ada.install-common, [...]): Use the prefix specified with the ↵Jose Ruiz2-358/+113
--program-prefix configure option to... 2012-06-14 Jose Ruiz <ruiz@adacore.com> * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall): Use the prefix specified with the --program-prefix configure option to determine the install name of the Ada tools. (ada.all.cross): Use a for loop to iterate over the set of Ada tools instead of duplicate the same processing. Update dependencies. From-SVN: r188612