summaryrefslogtreecommitdiffstats
path: root/gcc/ada/gcc-interface
Commit message (Collapse)AuthorAgeFilesLines
...
* * gcc-interface/decl.c (validate_size): Reorder, remove obsolete testebotcazou2010-04-151-44/+34
| | | | | | | | and warning. (set_rm_size): Reorder and remove obsolete test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158368 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h: Reorder declarations and tweak comments.ebotcazou2010-04-144-31/+63
| | | | | | | | | | | | | | | (gigi): Adjust ATTRIBUTE_UNUSED markers. * gcc-interface/gadaint.h: New file. * gcc-interface/trans.c: Include it in lieu of adaint.h. Reorder. (__gnat_to_canonical_file_spec): Remove declaration. (number_names): Delete. (number_files): Likewise. (gigi): Adjust. * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to above change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158296 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fixebotcazou2010-04-142-52/+53
| | | | | | | | | | | comment. * gcc-interface/trans.c (process_freeze_entity): Use local copy of Ekind. Return early for class-wide types. Do not compute initializer unless necessary. Reuse the tree for an associated class-wide type only if processing its root type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158295 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove lang_eh_type_covers, which is dead, and the correspondingbaldrick2010-04-132-22/+1
| | | | | | | Ada routine gnat_eh_type_covers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158258 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.ebotcazou2010-04-134-5/+44
| | | | | | | | | | | | | (parent_name_id): New macro. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it. * gcc-interface/trans.c (gigi): Initialize it. (lvalue_required_p) <N_Type_Conversion>: New case. <N_Qualified_Expression>: Likewise. <N_Allocator>: Likewise. * gcc-interface/utils.c (convert): Try to properly upcast tagged types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158255 138bc75d-0d04-0410-961f-82ee72b054a4
* * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pureebotcazou2010-04-136-99/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rvalue on the RHS if the LHS is of a non-renamable type. * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result. ada/ * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete. (DECL_CONST_ADDRESS_P): New macro. (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise. (SAME_FIELD_P): Likewise. * gcc-interface/decl.c (constructor_address_p): New static function. (gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to the return value of above function. (gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types passed by reference. <E_Record_Subtype>: Likewise. Set TREE_ADDRESSABLE on the type if it passed by reference. (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD. (create_field_decl_from): Likewise. (substitute_in_type): Likewise. (purpose_member_field): Use SAME_FIELD_P. * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE. * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT parameter and adjust recursive calls. <N_Explicit_Dereference>: New case. <N_Object_Declaration>: Return 1 if the object is of a class-wide type. Adjust calls to lvalue_required_p. Do not return the initializer of a DECL_CONST_ADDRESS_P constant if an lvalue is required for it. (call_to_gnu): Delay issuing error message for a misaligned actual and avoid the associated back-end assertion. Test TREE_ADDRESSABLE. (gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors. * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the type is passed by reference. (convert) <CONSTRUCTOR>: Convert in-place in more cases. * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P. (build_simple_component_ref): Use SAME_FIELD_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158254 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.ebotcazou2010-04-122-103/+64
| | | | | | | | | | | | | (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling front-end's predicate Is_By_Reference_Type. Use consistent order and remove ??? comment. Use original conversion in all cases, if any. * gcc-interface/utils.c (make_dummy_type): Minor tweak. (convert): Use local copy in more cases. <INDIRECT_REF>: Remove deactivated code. (unchecked_convert): Use a couple of local copies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158216 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (lvalue_required_for_attribute_p): New staticebotcazou2010-04-113-18/+55
| | | | | | | | | | | | | | | function. (lvalue_required_p) <N_Attribute_Reference>: Call it. (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from folding the result only if lvalue_required_for_attribute_p is true. * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly typed constant to build_component_ref. (unchecked_convert): Likewise. * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise. (build_allocator): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158202 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils2.c (build_cond_expr): Take the address andebotcazou2010-04-111-3/+5
| | | | | | | dereference if the result type is passed by reference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158201 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.ebotcazou2010-04-111-4/+19
| | | | | | | | (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a goto to the next statement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158200 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (maybe_variable): Delete.ebotcazou2010-04-095-326/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (protect_multiple_eval): Likewise. (maybe_stabilize_reference): Likewise. (gnat_save_expr): Declare. (gnat_protect_expr): Likewise. (gnat_stabilize_reference): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use gnat_stabilize_reference. (maybe_variable): Delete. (elaborate_expression_1): Use gnat_save_expr. * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr. (call_to_gnu): Pass NULL to gnat_stabilize_reference. (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr. <N_Slice>: Use gnat_protect_exp. <N_Selected_Component>: Pass NULL to gnat_stabilize_reference. <N_In>: Use gnat_protect_expr. Pass NULL to gnat_stabilize_reference. (build_unary_op_trapv): Use gnat_protect_expr. (build_binary_op_trapv): Likewise. (emit_range_check): Likewise. (emit_index_check): Likewise. (convert_with_check): Likewise. (protect_multiple_eval): Move to utils2.c file. (maybe_stabilize_reference): Merge into... (gnat_stabilize_reference): ...this. Move to utils2.c file. (gnat_stabilize_reference_1): Likewise. * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr instead of protect_multiple_eval. * gcc-interface/utils2.c (compare_arrays): Likewise. (nonbinary_modular_operation): Likewise. (maybe_wrap_malloc): Likewise. (build_allocator): Likewise. (gnat_save_expr): New function. (gnat_protect_expr): Rename from protect_multiple_eval. Early return in common cases. Propagate TREE_READONLY onto dereferences. (gnat_stabilize_reference_1): Move from trans.c file. (gnat_stabilize_reference): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158159 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.ebotcazou2010-04-095-283/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF node. Use the type of the operand to set TREE_READONLY. * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on _REF node. Do not overwrite TREE_READONLY. (call_to_gnu): Rename local variable and fix various nits. In the copy-in/copy-out case, build the SAVE_EXPR manually. (convert_with_check): Call protect_multiple_eval in lieu of save_expr and fold the computations. (protect_multiple_eval): Always save entire fat pointers. (maybe_stabilize_reference): Minor tweaks. (gnat_stabilize_reference_1): Likewise. Do not deal with tcc_constant, tcc_type and tcc_statement. * gcc-interface/utils.c (convert_to_fat_pointer): Call protect_multiple_eval in lieu of save_expr. (convert): Minor tweaks. (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node. (builtin_type_for_size): Call gnat_type_for_size directly. * gcc-interface/utils2.c (contains_save_expr_p): Delete. (contains_null_expr): Likewise (gnat_build_constructor): Do not call it. (compare_arrays): Deal with all side-effects, use protect_multiple_eval instead of gnat_stabilize_reference to protect the operands. (nonbinary_modular_operation): Call protect_multiple_eval in lieu of save_expr. (maybe_wrap_malloc): Likewise. (build_allocator): Likewise. (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node. (gnat_mark_addressable): Rename parameter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158156 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (TREE_ADDRESSABLE): Document its effect for function types.ebotcazou2010-04-086-505/+250
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * calls.c (expand_call): Pass the function type to aggregate_value_p. * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the function type instead. Reorder and simplify checks. * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case. ada/ * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into. (TYPE_RETURN_UNCONSTRAINED_P): ...this. (TYPE_RETURNS_BY_REF_P): Rename into. (TYPE_RETURN_BY_DIRECT_REF_P): ...this. (TYPE_RETURNS_BY_TARGET_PTR_P): Delete. * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names. (build_return_expr): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Rename local variables. If the return Mechanism is By_Reference, pass return_by_invisible_ref_p to create_subprog_type instead of toggling TREE_ADDRESSABLE. Test return_by_invisible_ref_p in order to annotate the mechanism. Use regular return for contrained types with non-static size and return by invisible reference for unconstrained return types with default discriminants. Update comment. * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function returns by invisible reference, turn the RESULT_DECL into a pointer. Do not handle DECL_BY_REF_P in the CICO case here. (call_to_gnu): Remove code handling return by target pointer. For a function call, if the return type has non-constant size, generate the assignment with an INIT_EXPR. (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case. If the function returns by invisible reference, build the copy return operation manually. (add_decl_expr): Initialize the variable with an INIT_EXPR. * gcc-interface/utils.c (create_subprog_type): Adjust parameter names. Adjust for renaming of macros. Copy the node only when necessary. (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return type, only change DECL_BY_REFERENCE on the RETURN_DECL. (convert_from_reference): Delete. (is_byref_result): Likewise. (gnat_genericize_r): Likewise. (gnat_genericize): Likewise. (end_subprog_body): Do not call gnat_genericize. * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case. (build_return_expr): Adjust parameter names, logic and comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158139 138bc75d-0d04-0410-961f-82ee72b054a4
* * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular typeebotcazou2010-04-072-36/+53
| | | | | | | | | | | | | | if the size is small enough. Propagate the alignment if there is an alignment clause on the original array type. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype> Deal with under-aligned packed array types. Copy the size onto the justified modular type and don't lay it out again. Likewise for the padding type built for other under-aligned subtypes. * gcc-interface/utils.c (finish_record_type): Do not set a default mode on the type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158056 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set defaultebotcazou2010-04-071-0/+3
| | | | | | | alignment on the RETURN type built for the Copy-In Copy-Out mechanism. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158054 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr caseebotcazou2010-04-071-41/+22
| | | | | | | | | | do not set the result type if there is a specified target and do not convert the result in any cases. (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR. (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158053 138bc75d-0d04-0410-961f-82ee72b054a4
* * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, steven2010-04-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h, collect2.h, config/alpha/alpha.c, config/alpha/alpha.md, config/alpha/predicates.md, config/arm/arm.md, config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml, config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c, config/darwin9.h, config/darwin.c, config/darwin.h, config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h, config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c, config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c, config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c, config/mips/mips.md, config/mn10300/mn10300.c, config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md, config/rs6000/aix.h, config/rs6000/dfp.md, config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c, config/rs6000/vector.md, config/rtems.h, config/rx/rx.md, config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h, config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md, config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c, config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in, c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c, diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi, doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi, doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c, fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h, gensupport.c, gimple.h, gimple-iterator.c, graphite.c, graphite-clast-to-gimple.c, graphite-clast-to-gimple.h, graphite-dependences.c, graphite-poly.c, graphite-poly.h, graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c, graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c, intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h, ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c, ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c, loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c, objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk, opt-functions.awk, opth-gen.awk, params.def, passes.c, postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h, rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h, store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c, tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h, tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c, tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c, tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c, unwind-dw2-fde-darwin.c, varpool.c: Update copyright years. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157950 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.ebotcazou2010-03-101-1/+1
| | | | | | | | | * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus. ada/ * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157372 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/42253ebotcazou2010-02-271-29/+31
| | | | | | | | | * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat pointer base types are variant of each other. Apply special treatment for null to fat pointer types in all cases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157107 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-26 Robert Dewar <dewar@adacore.com>charlet2010-01-261-4/+54
| | | | | | | | | | | | | | | | | | | | | * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb, s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor reformatting. 2010-01-26 Vasiliy Fofanov <fofanov@adacore.com> * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure that allows to iterate over all subkeys of a key. 2010-01-26 Ed Falis <falis@adacore.com> * sysdep.c: enable NFS for VxWorks MILS * env.c: enable __gnat_environ for VxWorks MILS * gcc-interface/Makefile.in: Add VxWorks MILS target pairs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156233 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.ebotcazou2010-01-181-3/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156018 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/42068hubicka2010-01-181-7/+8
| | | | | | | (create_var_decl_1): Do not set COMMON flag for unit local variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156010 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-17 Laurent GUERBY <laurent@guerby.net>guerby2010-01-171-1/+1
| | | | | | | | | * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155993 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.ebotcazou2010-01-111-1/+36
| | | | | | | * system-linux-armeb.ads, system-linux-armel.ads: New files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155808 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/42626ebotcazou2010-01-091-1/+1
| | | | | | | | * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing end-quote. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155780 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Add install-html to target_list for Make-hooks.andrewjenner2010-01-041-1/+3
| | | | | | | | | | | | | | | | | | | | * configure: Regenerate. * fortran/Make-lang.in (F95_HTMLFILES): New. (fortran.html): Use it. (fortran.install-html): New. * Makefile.in (install-html): Add lang.install-html. * java/Make-lang.in (JAVA_HTMLFILES): New. (java.html): Use it. (java.install-html): New. * objc/Make-lang.in (objc.install-html): New. * objcp/Make-lang.in (obj-c++.install-html): New. * cp/Make-lang.in (c++.install-html): New. * ada/gcc-interface/Make-lang.in (ada.install-html): New. * lto/Make-lang.in (lto.install-html): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155602 138bc75d-0d04-0410-961f-82ee72b054a4
* * s-linux-sparc.ads: New file.ebotcazou2009-12-101-1/+1
| | | | | | | * gcc-interface/Makefile.in (SPARC/Linux): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155144 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (add_decl_expr): At toplevel, mark theebotcazou2009-12-041-1/+17
| | | | | | | | | | | TYPE_ADA_SIZE field of records and unions. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Set the source location of the node onto the comparison expression if it is not cached. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154978 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-01 Thomas Quinot <quinot@adacore.com>charlet2009-12-011-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * g-sechas.ads (GNAT.Secure_Hashes.H."=" on Context): Make abstract. 2009-12-01 Matthew Gingell <gingell@adacore.com> * adadecode.c: Allow compilation when building the run time in the gnat runtime. (__gnat_decode): Strip the .nnnn suffix from names of nested functions. * gcc-interface/Makefile.in: Ada adadecode to LIBGNAT_SRCS and LIBGNAT_OBJS. 2009-12-01 Vincent Celier <celier@adacore.com> * gnatcmd.adb (Check_Files): Quote the path names as they may include spaces. 2009-12-01 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): If the defining identifier has already been declared, it may have been rewritten as a renaming declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154870 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longercharlet2009-11-301-43/+0
| | | | | | | needed git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154813 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-30 Tristan Gingold <gingold@adacore.com>charlet2009-11-301-1/+7
| | | | | | | | * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154799 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-30 Vincent Celier <celier@adacore.com>charlet2009-11-302-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o with Only_If_No_Suffix set to True. * osint.adb (Executable_Name): Do not add executable suffix if there is already a suffix and Only_If_No_Suffix is True. * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix, defaulted to False. 2009-11-30 Javier Miranda <miranda@adacore.com> * exp_atag.adb (Build_TSD): Change argument name because the actual is now the address of a tag (instead of the tag). Update implementation accordingly. (Build_CW_Membership): New implementation. Converted into a procedure because it has an additional out mode parameter. Its implementation has been rewritten to improve the generated code but also to facilitate referencing the relocated object node in the caller. * exp_atag.ads (Build_CW_Membership): Update profile and documentation. * sinfo.ads (N_SCIL_Membership_Test) New_Node. (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes. (Is_Syntactic_Field): Add entry of new node. (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms. * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to handle N_SCIL_Membership_Test nodes. (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms. * sem.adb (Analyze): Add null management for new node. * sem_scil.adb (Find_SCIL_Node): Add null management for new node. (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes. * exp_ch4.adb (Tagged_Membership): Change profile from function to procedure. Add generation of SCIL node associated with class-wide membership test. (Expand_N_In): Complete decoration of SCIL nodes. * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to Build_CW_Membership because its profile has been changed. * exp_util.adb (Insert_Actions): Add null management for new node. * sprint.adb (Sprint_Node_Actual): Handle new node. * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test nodes. * gcc-interface/Make-lang.in: Update dependencies. 2009-11-30 Ed Schonberg <schonberg@adacore.com> * opt.ads: New flags Init_Or_Norm_Scalars_Config, Initialize_Scalars_Config, to capture the presence of the corresponding pragmas in a configuration file. * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches): handle new flags so that they are restored for each compilation unit. * frontend.adb: At the end of compilation, scan the context of the main unit to recover occurrences of pragma Initialize_Scalars, to annotate the ALI file accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154792 138bc75d-0d04-0410-961f-82ee72b054a4
* Update dependencies.charlet2009-11-301-15/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154788 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Fix typo.charlet2009-11-301-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154787 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-30 Thomas Quinot <quinot@adacore.com>charlet2009-11-302-94/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change return type to Interfaces.C.Strings.chars_ptr to eliminate need for dubious unchecked conversion at call sites. * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting): Remove obsolete, unused runtime unit. * gcc-interface/Make-lang.in: Update dependencies. * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not required anymore. 2009-11-30 Vincent Celier <celier@adacore.com> * gnatlink.adb: Delete an eventual existing executable file, in case it is a symbolic link, to avoid modifying the target of the symbolic link. 2009-11-30 Bob Duff <duff@adacore.com> * socket.c: Add accessor functions for struct servent. * g-sothco.ads (Servent): Declare interfaces to C accessor functions for struct servent. * g-socket.adb (To_Service_Entry): Use accessor functions for struct servent. 2009-11-30 Robert Dewar <dewar@adacore.com> * g-arrspl.adb: Minor reformatting * g-dyntab.adb: Add missing pragma Compiler_Unit git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154769 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (copy_type): Unshare the language-specific dataebotcazou2009-11-261-0/+17
| | | | | | | and the contents of the language-specific slot if needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154678 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source locationebotcazou2009-11-261-16/+18
| | | | | | | of the operator on both branches of the test in the generic case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154677 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...ebotcazou2009-11-251-9/+11
| | | | | | | | (unchecked_conversion_nop): ...this. Handle actual parameters. (gnat_to_gnu): Adjust for above renaming. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154659 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:ebotcazou2009-11-251-12/+14
| | | | | | | Translate regular boolean types into BOOLEAN_TYPEs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154658 138bc75d-0d04-0410-961f-82ee72b054a4
* * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,ebotcazou2009-11-244-94/+91
| | | | | | | | | | | | | | | | | | | | | | | | also set the flag on the Equivalent_Type. * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE parameter with DEBUG_INFO_P. Rename FIELDLIST into FIELD_LIST. (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST. (build_vms_descriptor32): Adjust call to finish_record_type. (build_vms_descriptor): Likewise. (build_unc_object_type): Likewise. * decl.c (gnat_to_gnu_entity): Adjust calls to finish_record_type and components_to_record. (make_packable_type): Adjust call to finish_record_type. (maybe_pad_type): Likewise. Tweak condition. (components_to_record): Likewise. Replace DO_NOT_FINALIZE parameter with MAYBE_UNUSED. Adjust recursive call. (create_variant_part_from): Adjust call to finish_record_type. Do not call rest_of_record_type_compilation on the new record types. * trans.c (gigi): Adjust call to finish_record_type. * gigi.h (finish_record_type): Adjust prototype and comment. (rest_of_record_type_compilation): Adjust comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154515 138bc75d-0d04-0410-961f-82ee72b054a4
* * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type asebotcazou2009-11-242-8/+4
| | | | | | | | | | | | | | | | | | | | | | frozen for targets that do not require front-end layout. (New_Class_Wide_Subtype): Always reset the freezing status to False. * exp_ch8.adb: Do not 'with' Targparm. (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide subtype that has been built from the expression. * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is class wide, freeze the implicit type that has been built from the expression at the dereference point. * freeze.adb (Freeze_Entity): Adjust comment. * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>: Remove useless test. * gcc-interface/trans.c (process_freeze_entity): Do not special-case class-wide subtypes. * s-osinte-aix.adb (clock_gettime): Fix comment. * s-osinte-darwin.adb (clock_gettime): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154514 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the listebotcazou2009-11-232-5/+7
| | | | | | | | | of attributes when building the corresponding variable of a constant. * gcc-interface/utils.c (create_var_decl_1): Do not process attributes for constants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154458 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (make_packable_type): Fix oversight.ebotcazou2009-11-081-46/+24
| | | | | | | | | (gnat_to_gnu_field): Do not attempt to change the form of the type if the field requires strict alignment. Always change the form of the type if the specified size is smaller than its size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154009 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.ebotcazou2009-11-051-6/+18
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153949 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:ebotcazou2009-11-051-11/+17
| | | | | | | New case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153948 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.ebotcazou2009-10-302-23/+16
| | | | | | | | | (create_field_decl): Update description. In a packed record, round the size up to a byte boundary only if the field's type has BLKmode. * gcc-interface/gigi.h (create_field_decl): Update description. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153755 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do notebotcazou2009-10-291-0/+4
| | | | | | | create integer types with precision 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153722 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (array_type_has_nonaliased_component): Swapebotcazou2009-10-291-10/+54
| | | | | | | | | | parameters and rewrite comments. For a derived type, return the setting of its parent type. (gnat_to_gnu_entity): Do an alias set copy for derived types if they are composite. Adjust calls to above function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153721 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do notebotcazou2009-10-291-13/+13
| | | | | | | return the RM size for padded types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153720 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Update dependencies.charlet2009-10-281-223/+228
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153660 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud