summaryrefslogtreecommitdiffstats
path: root/gcc/ada/decl.c
Commit message (Collapse)AuthorAgeFilesLines
* Moved to gcc-interface.charlet2008-07-291-7648/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138260 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.ebotcazou2008-07-021-18/+19
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137350 138bc75d-0d04-0410-961f-82ee72b054a4
* * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fixghazi2008-06-271-1/+1
| | | | | | | | | | | | | | -Wc++-compat warnings. * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec, __gnat_locate_exec_on_path): Likewise. * decl.c (annotate_value): Likewise. * misc.c (gnat_handle_option): Likewise. * trans.c (gnat_to_gnu, extract_encoding, decode_name, post_error_ne_tree): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137192 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-13 Olivier Hainque <hainque@adacore.com>hainque2008-06-131-0/+36
| | | | | | | | | | | | | | | | ada/ * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0 if undefined. (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack realignment with force_align_arg_pointer attribute on foreign convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN. testsuite/ * gnat.dg/task_stack_align.adb: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136768 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of aebotcazou2008-06-121-44/+54
| | | | | | | | constrained subtype of a discriminated type, discard the fields that are beyond its limits according to its size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136707 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (components_to_record): Adjust the packedness for theebotcazou2008-06-091-1/+7
| | | | | | | | qualified union as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136583 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-06 Nicolas Setton <setton@adacore.com>hainque2008-06-061-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Olivier Hainque <hainque@adacore.com> * ada-tree.h (DECL_PARALLEL_TYPE): New language specific attribute, parallel descriptive type attached to another type for debug info generation purposes. * utils.c (add_parallel_type): New function, register parallel type to be attached to a type. (get_parallel_type): New function, fetch a registered parallel type, if any. (rest_of_record_type_compilation): Register the parallel type we make for variable size records. * gigi.h (add_parallel_type, get_parallel_type): Declare. * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the parallel debug types we make. * trans.c (extract_encoding, decode_name): New functions. (gigi): If the DWARF attribute extensions are available, setup to use them. * lang.opt: Register language specific processing request for -gdwarf+. * misc.c (gnat_dwarf_extensions): New global variable. How much do we want of our DWARF extensions. 0 by default. (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions. (gnat_post_options): Map gnat_dwarf_extensions to the common use_gnu_debug_info_extensions for later processing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136506 138bc75d-0d04-0410-961f-82ee72b054a4
* * gigi.h (mark_visited): Declare.ebotcazou2008-05-231-8/+10
| | | | | | | | | | | | | * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking only the topmost node of expressions. (elaborate_expression_1): Look deeper for read-only variable. * trans.c (add_decl_expr): Use mark_visited instead of marking by hand. (mark_visited): Move logic to mark_visited_r. Invoke walk_tree. (mark_visited_r): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135819 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-20 Tristan Gingold <gingold@adacore.com>charlet2008-05-201-3/+36
| | | | | | | | | | | | * decl.c: Do not emit a variable for a object that has an address representation clause whose value is known at compile time. When a variable has an address clause whose value is known at compile time, refer to this variable by using directly the address instead of dereferencing a pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135618 138bc75d-0d04-0410-961f-82ee72b054a4
* * utils2.c (known_alignment, contains_save_expr_p)tomby2008-05-121-1/+1
| | | | | | | | | | | | | | | | | | | (gnat_mark_addressable): Use CASE_CONVERT. * decl.c (annotate_value): Likewise. * trans.c (maybe_stabilize_reference): Likewise. * utils2.c (build_binary_op): Use CONVERT_EXPR_P. * utils.c (rest_of_record_type_compilation): Likewise. * trans.c (protect_multiple_eval, Attribute_to_gnu) (protect_multiple_eval): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135215 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (maybe_pad_type): Add ??? comment.ebotcazou2008-05-051-1/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134953 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (components_to_record): Zero the alignment of the qualifiedebotcazou2008-05-031-0/+1
| | | | | | | | union built for the variant part upon creating it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134917 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (maybe_pad_type): Try to get a form of the type with integralebotcazou2008-05-031-35/+41
| | | | | | | | | | | | | | | mode even if the alignment is not a factor of the original size. But make sure to create the inner field with the original size. Reorder. * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding record as always addressable. * utils.c (convert): Deal specially with conversions between original and packable versions of a record type. * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when recognizing an assignment between padded objects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134916 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (make_packable_type): Resize the last component to its RM sizeebotcazou2008-05-011-5/+14
| | | | | | | | | | only if it is of an aggregate type. * trans.c (call_to_gnu): Fix nit in comment. (gnat_to_gnu): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134848 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/36007ebotcazou2008-04-281-1/+2
| | | | | | | | | | * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment of aliased objects with an unconstrained nominal subtype. Cap the promotion to the effective alignment of the word mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134766 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment ofebotcazou2008-04-201-9/+12
| | | | | | | | | | | | | constant objects, but not exceptions. * trans.c (add_decl_expr): Use gnat_types_compatible_p for type compatibility test. * utils.c (create_var_decl_1): Likewise. * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of the type when copying to padded object and the source is a constructor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134483 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <object>: When trying to promote theebotcazou2008-04-191-3/+3
| | | | | | | | | alignment, reset it to zero if it would end up not being greater than that of the type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134461 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (maybe_pad_type): Only generate the XVS parallel type ifebotcazou2008-04-181-3/+4
| | | | | | | | the padded type has a variable size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134443 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return byebotcazou2008-04-181-5/+7
| | | | | | | | target pointer mechanism as soon as the size is not constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134433 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment ofebotcazou2008-04-171-2/+1
| | | | | | | | | | objects by default. * fe.h (Debug_Flag_Dot_A): Delete. * debug.adb (-gnatd.a): Update documentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134390 138bc75d-0d04-0410-961f-82ee72b054a4
* * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.ebotcazou2008-04-151-19/+22
| | | | | | | | | | | | | | | | | * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only if a size or alignment is specified. Do not take into account alignment promotions for the computation of the object's size. <type>: Call maybe_pad_type only if a size or alignment is specified. (maybe_pad_type): Really reuse the RM_Size of the original type if requested. * trans.c (Attribute_to_gnu): Fix a couple of nits. * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional statements. Use the padded view of the type when copying between padded objects of the same underlying type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134310 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-09 Doug Rupp <rupp@adacore.com>charlet2008-04-091-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * decl.c (validate_size): Set minimum size for fat pointers same as access types. Code clean ups. * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant * s-crtl.ads (malloc32) New function, alias for malloc (realloc32) New function, alias for realloc * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS * utils2.c (build_call_alloc_dealloc): Return call to short malloc if allocator size is 32 and default pointer size is 64. (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of lhs type if smaller, whatever the modes. * gigi.h (malloc32_decl): New macro definition * utils.c (init_gigi_decls): New malloc32_decl Various code clean ups. * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to Task_Address vice System.Address. * s-taspri-vms.ads: Import System.Aux_DEC (Task_Address): New subtype of System.Aux_DEC.Short_Address (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to Task_Address vice System.Address. * s-inmaop-vms.adb: Import System.Task_Primitives (To_Address): Unchecked convert to Task_Address vice System.Address * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay expires now. (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address (To_Address) Unchecked convert to Task_Address vice System.Address * s-tpopde-vms.adb: Remove unnecessary warning pragmas * g-socthi-vms.ads: Add 32bit size clauses on socket access types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134131 138bc75d-0d04-0410-961f-82ee72b054a4
* * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.ebotcazou2008-04-081-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | (fdesc_type_node): Define. (null_fdesc_node): Likewise. * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target uses descriptors for vtables and the type comes from a dispatch table, return the descriptor type. * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target uses descriptors for vtables and the type comes from a dispatch table, build a descriptor in the static case and copy the existing one in the non-static case. (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and the type is a pointer-to-subprogram coming from a dispatch table, return the null descriptor. <N_Unchecked_Type_Conversion>: If the target uses descriptors for vtables, the source type is the descriptor type and the target type is a pointer type, first build the pointer. * utils.c (init_gigi_decls): If the target uses descriptors for vtables build the descriptor type and the null descriptor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134101 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (prepend_attributes): Fix typo.ebotcazou2008-04-081-2/+2
| | | | | | | | | * trans.c (Pragma_to_gnu): Likewise. * utils.c (gnat_genericize): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134094 138bc75d-0d04-0410-961f-82ee72b054a4
* * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.ebotcazou2008-04-081-13/+16
| | | | | | | | | | | | | * decl.c (gnat_to_gnu_entity): Adjust for above change. <E_Record_Type>: Try to get a better form of the component for packing, even if it has an integral mode. <E_Record_Subtype>: Likewise. * trans.c (gnat_to_gnu): Do not require BLKmode for the special exception suppressing the final conversion between record types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134093 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizingebotcazou2008-04-081-8/+31
| | | | | | | | | | | | | | | | | alignment for space, promote the alignment of non-scalar variables with no size and alignment. * gigi.h (gnat_types_compatible_p): Declare. * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate. * trans.c (gnat_to_gnu): Revert revision 129339 change. Minor cleanup. * utils.c (gnat_types_compatible_p) : New predicate. (convert): Use it throughout to test for cases where a mere view conversion is sufficient. * utils2.c (build_binary_op): Minor tweaks. (build_unary_op): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134092 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (adjust_packed): Expand comment.ebotcazou2008-04-081-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134091 138bc75d-0d04-0410-961f-82ee72b054a4
* Removal of Return with Depressed Stack Pointer supportebotcazou2008-04-071-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h (TYPE_RETURNS_STACK_DEPRESSED): Delete. (ECF_SP_DEPRESSED): Likewise. (ECF_LIBCALL_BLOCK, ECF_NOVOPS): Adjust. * calls.c (emit_call_1): Do not test ECF_SP_DEPRESSED. (flags_from_decl_or_type): Do not test TYPE_RETURNS_STACK_DEPRESSED. (expand_call): Do not test ECF_SP_DEPRESSED. * dse.c (dse_step0): Do not test TYPE_RETURNS_STACK_DEPRESSED. * function.c (keep_stack_depressed): Delete. (handle_epilogue_set): Likewise. (update_epilogue_consts): Likewise. (emit_equiv_load): Likewise. (thread_prologue_and_epilogue_insns): Remove support for Return with Depressed Stack Pointer. * print-tree.c (print_node): Do not test TYPE_RETURNS_STACK_DEPRESSED. ada/ * gigi.h (create_subprog_type): Remove returns_with_dsp parameter. * decl.c (gnat_to_gnu_entity): Adjust for above new prototype. * utils.c (create_subprog_type): Remove returns_with_dsp parameter. * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with Return by Depressed Stack Pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133976 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (is_variable_size): Do not unconditionally return falseebotcazou2008-04-061-10/+9
| | | | | | | | on non-strict alignment platforms. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133961 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (rest_of_type_decl_compilation_no_defer): New local functionebotcazou2008-04-061-10/+37
| | | | | | | | | | | | used to process all the variants of the specified type. (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral types too. Call rest_of_type_decl_compilation_no_defer if undeferring. (rest_of_type_decl_compilation): Likewise. * utils.c (gnat_pushdecl): Propagate the name to all variants of type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133957 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <object>: For a constant object whoseebotcazou2008-04-021-5/+24
| | | | | | | | | | type has self-referential size, get the size from the initializing expression directly if it is also a constant whose nominal type has self-referential size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133831 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-nullebotcazou2008-03-311-2/+6
| | | | | | | | size if it has overflowed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133768 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flagebotcazou2008-03-271-1/+1
| | | | | | | | if the procedure is imported. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133650 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-26 Robert Dewar <dewar@adacore.com>charlet2008-03-261-3/+4
| | | | | | | | | | | | | | | | * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c, par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field removed, use Chars (Pragma_Identifier (.. instead, adjustments throughout to accomodate this change. * s-pooglo.ads, s-pooloc.ads: Minor comment updates * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not Einfo.Set_Needs_Debug_Info) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133587 138bc75d-0d04-0410-961f-82ee72b054a4
* Revertebotcazou2008-03-251-12/+0
| | | | | | | | | | | 2008-03-05 Eric Botcazou <ebotcazou@adacore.com> PR ada/35186 * decl.c (maybe_pad_type): Avoid padding an integral type when bumping its alignment is sufficient. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133526 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (maybe_pad_type): Use value_factor_p.ebotcazou2008-03-081-4/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133039 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do notebotcazou2008-03-081-2/+1
| | | | | | | | bother propagating the TYPE_USER_ALIGN flag when creating a JM type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133032 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not forceebotcazou2008-03-081-2/+3
| | | | | | | | | BIGGEST_ALIGNMENT when capping the alignment of records with strict alignment and size clause. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133031 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add supportebotcazou2008-03-081-0/+39
| | | | | | | | for scalar types with small alignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133027 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Addebotcazou2008-03-071-0/+5
| | | | | | | | | | comment for the packed array type case. * utils.c (build_template): Use a loop to strip padding or containing records for justified modular types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133014 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciouslyebotcazou2008-03-071-12/+46
| | | | | | | | | large alignments specified for types. (validate_alignment): Minor cleanup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133012 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.ebotcazou2008-03-071-89/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of the component for packing, if possible, as well as if a component size clause is specified. <E_Record_Subtype>: For an array type used to implement a packed array, get the component type from the original array type. Try to get a smaller form of the component for packing, if possible, as well as if a component size clause is specified. (round_up_to_align): New function. (make_packable_type): Add in_record parameter. For a padding record, preserve the size. If not in_record and the size is too large for an integral mode, attempt to shrink the size by lowering the alignment. Ditch the padding bits of the last component. Compute sizes and mode manually, and propagate the RM size. Return a BLKmode record type if its size has shrunk. (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT. Use Original_Array_Type to retrieve the type in case of an error. Adjust call to make_packable_type. (gnat_to_gnu_field): Likewise. (concat_id_with_name): Minor tweak. * trans.c (larger_record_type_p): New predicate. (call_to_gnu): Compute the nominal type of the object only if the parameter is by-reference. Do the conversion actual type -> nominal type if the nominal type is a larger record. (gnat_to_gnu): Do not require integral modes on the source type to avoid the conversion for types with identical names. (addressable_p): Add gnu_type parameter. If it is specified, do not return true if the expression is not addressable in gnu_type. Adjust recursive calls. * utils.c (finish_record_type): Remove dead code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133011 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/35186ebotcazou2008-03-061-2/+13
| | | | | | | | | * decl.c (maybe_pad_type): Avoid padding an integral type when bumping its alignment is sufficient. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132963 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (components_to_record): Improve comment.ebotcazou2008-01-261-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131858 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (components_to_record): Do not reuse the empty union typeebotcazou2008-01-221-3/+9
| | | | | | | | | if there is a representation clause on the record. * trans.c (addressable_p): Return true for INTEGER_CST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131733 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (gnat_to_gnu_entity) <object>: Process renamingsebotcazou2008-01-141-17/+20
| | | | | | | | | | before converting the expression to the type of the object. * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case. Stabilize constructors for special wrapping types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131531 138bc75d-0d04-0410-961f-82ee72b054a4
* * trans.c (call_to_gnu):Invoke the addressable_p predicate onlyebotcazou2008-01-131-10/+10
| | | | | | | | | | | | when necessary.  Merge some conditional statements.  Update comments. Rename unchecked_convert_p local variable to suppress_type_conversion. Do not suppress conversions in the In case. (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues into account on non strict-alignment platforms. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131510 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-12-07 Olivier Hainque <hainque@adacore.com>hainque2007-12-071-1/+2
| | | | | | | | | | | | | | | ada/ * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing the designated full view, only follow a second level Full_View link for Non_Limited_Views of from_limited_with references. testsuite/ * gnat.dg/tamdt*.ad?: Support for ... * gnat.dg/test_tamdt.adb: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130679 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-12-07 Olivier Hainque <hainque@adacore.com>hainque2007-12-071-1/+5
| | | | | | | | | | | | | | | PR ada/34173 * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if this is from an alignment clause on the GNAT entity. * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN to distinguish the case where we set it from the type's alignment. When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate whether this alignment was set from an explicit alignment clause. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130673 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (make_packable_type): Revert last change.ebotcazou2007-12-061-30/+27
| | | | | | | | | | (gnat_to_gnu_field): Avoid setting size and position multiple times. * utils.c (finish_record_type): Retrieve the real name of the type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130665 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud