* prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
importing project does not end up in the list, in the case of extending
projects.
* make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
makeutl.ads, for better sharing with gprbuild.
2009-07-28 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Fix typo.
2009-07-28 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
derivation that renames some discriminants and constrain others.
* exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
prefix is a derived untagged type, convert to the root type to conform
to the signature of the protected operations.
2009-07-28 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Update comments.
* exp_attr.adb: Minor reformatting
Javier Miranda [Tue, 28 Jul 2009 08:46:39 +0000 (08:46 +0000)]
gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL nodes if we are not generating code.
2009-07-28 Javier Miranda <miranda@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
nodes if we are not generating code.
* frontend.adb (Check_SCIL_Node): New subprogram. Used to check
attribute SCIL_Related_Node of SCIL dispatching nodes.
(Check_SCIL_Nodes): New instantiation of Traverse_Proc.
* sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
(SCIL_Nkind,Set_SCIL_Nkind): Removed.
(SCIL_Entity): Update documentation.
(SCIL_Related_Node): Update documentation.
(SCIL_Controlling_Tag): New attribute.
(SCIL_Target_Prim): Update documentation.
(N_Null_Statement): Remove attributes associated with SCIL nodes.
(N_SCIL_Dispatch_Table_Object_Init): New node.
(N_SCIL_Dispatch_Table_Tag_Init): New node.
(N_SCIL_Dispatching_Call): New node.
(N_SCIL_Tag_Init): New node.
* sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
(SCIL_Nkind,Set_SCIL_Nkind): Removed.
(SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
(SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
(SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
(SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
N_SCIL_Dispatching_Call nodes.
* sem.adb (Analyze): No need to analyze SCIL nodes.
* sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
(Next_Non_SCIL_Node): New subprogram
* sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
dispatching nodes.
* sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
dispatching node.
* sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
dispatching node.
* exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
null statement nodes.
(Build_Init_Procedure): Generate new SCIL node.
* exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
node.
* exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
they are currently implemented as special N_Null_Statement nodes.
* exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
procedure call then check if some SCIL node references it and needs
readjustment.
* exp_disp.ads (SCIL_Node_Kind): Removed.
(Adjust_SCIL_Node): New subprogram.
(Find_SCIL_Node): New subprogram.
(Get_SCIL_Node_Kind): Removed.
(New_SCIL_Node): Removed.
* exp_disp.adb (Adjust_SCIL_Node): New subprogram
(Expand_Dispatching_Call): Generate new SCIL dispatching node including
decoration of its new controlling_tag attribute.
(Get_SCIL_Node_Kind): Removed.
(Find_SCIL_Node): New subprogram.
(Make_Secondary_DT): Generate new SCIL nodes.
(Make_Tags): Generate new SCIL nodes.
(New_SCIL_Node): Removed.
* exp_util.adb (Insert_Actions): Handle SCIL nodes.
(Remove_Side_Effects): Check if relocated nodes require readjustment
of some SCIL dispatching node.
* gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
* gnat_ugn.texi: Add section about gnatcheck rule exemption.
2009-07-28 Vadim Godunko <godunko@adacore.com>
* s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
not defined by limits.h.
* g-socket.adb (Receive_Vector): Use minimum length from user's vector
length and maximum supported length of data vector.
2009-07-28 Gary Dismukes <dismukes@adacore.com>
* usage.adb: Inhibit printing gcc-specific switches for AAMP target.
* make.adb: Call Get_Target_Parameters before calling Usage so that
VM_Target and AAMP_On_Target will be set.
* g-ssinty.ads: Remove, pointless and just confusing at this stage.
* gnat_rm.texi: Remove documentation.
* g-sse.ads: Minor reorg along the way.
* gcc-interface/Makefile.in: Remove processing for g-ssinty.
* g-ssvety.ads: Minor comment updates.
2009-07-28 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
for the new format of the report file.
Janus Weil [Mon, 27 Jul 2009 18:26:34 +0000 (20:26 +0200)]
re PR fortran/40848 (ICE with alternate returns)
2009-07-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/40848
* interface.c (gfc_compare_interfaces): Call 'count_types_test' before
'generic_correspondence', and only if checking a generic interface.
Jakub Jelinek [Mon, 27 Jul 2009 16:25:57 +0000 (18:25 +0200)]
dwarf2out.c (output_cfi_p): Removed.
* dwarf2out.c (output_cfi_p): Removed.
(output_cfis): New function.
(output_fde): New function, split from output_call_frame_info.
(output_call_frame_info): Use it.
(dwarf2out_switch_text_section): Use output_cfis.
* gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
rule definition the paragraph that explains that generic functions and
functions from generic packages are not checked.
2009-07-27 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
procedure when determining whether to set the Overridden_Operation
field of a subprogram overriding an inherited subprogram.
2009-07-27 Robert Dewar <dewar@adacore.com>
* a-except.adb, a-except-2005.ads: Minor reformatting
* exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
add some documentation explaining why the SCIL nodes must be generated
at that point.
2009-07-27 Olivier Hainque <hainque@adacore.com>
* a-except.adb: Bind to __builtin_longjmp directly.
* a-except-2005.ads: Provide direct binding to __builtin_longjmp
for sjlj variants.
* a-exexpr.adb: Use it.
* a-except-xi.adb: Likewise.
* raise.c (_gnat_builtin_longjmp): Remove and update comments.
* raise.h (_gnat_builtin_longjmp): Remove declaration.
Ed Schonberg [Mon, 27 Jul 2009 13:49:46 +0000 (13:49 +0000)]
[multiple changes]
2009-07-27 Ed Schonberg <schonberg@adacore.com>
* sem_eval.adb (Compile_Time_Compare): More precise handling of
Known_Valid flag, to prevent spurious range deductions when scalar
variables may be uninitialized. New predicate Is_Known_Valid_Operand.
* xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
alternate ali extension.
* xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
account Osint.ALI_Suffix.
* osint.ads (ALI_Suffix): Make visible.
* gnatfind.adb (Gnatfind): Add support for --ext= switch.
* gnat_ugn.texi: Document new gnatfind --ext= switch.
2009-07-27 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Items): If main unit is an instance body, do
its spec first.
2009-07-27 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
the dispatching call has is expanded.
Kai Tietz [Mon, 27 Jul 2009 13:34:29 +0000 (13:34 +0000)]
cygming.h (DWARF2_UNWIND_INFO): Error build when TARGET_BI_ARCH is specified without enabling SJLJ.
2009-07-24 Kai Tietz <kai.tietz@onevision.com>
* config/i386/cygming.h (DWARF2_UNWIND_INFO): Error build when
TARGET_BI_ARCH is specified without enabling SJLJ.
* config/i386/mingw32.h (MD_UNWIND_SUPPORT): Define MD_UNWIND_SUPPORT,
if TARGET_64BIT and TARGET_BI_ARCH aren't defined.
* exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
Is_Known_Valid flag on the temporary created for the value whose
validity is being checked.
* sem.adb (Do_Unit_And_Dependents): Further code reorganization to
handle properly main units that are package specifications.
2009-07-27 Geert Bosch <bosch@adacore.com>
* einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
* sem_aux.ads: Fix typo in comment
* sem_util.ads (Is_LHS): Adjust comment to match body
* sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
objects, since these are implicitly referenced by the return statement.
* sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
Is_Return_Object in this procedure, as return objects will never make
it here since they're now marked as Referenced.
2009-07-27 Robert Dewar <dewar@adacore.com>
* exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
* exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
* sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2009-07-27 Geert Bosch <bosch@adacore.com>
* checks.adb (Find_Check): Minor streamlining of logic.
* gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
* debug.adb: Document -gnatdX debug flag
* exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
list information about reads from scalar entities.
Also slightly simplify condition for Expand_Current_Value.
* sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
functions.
re PR fortran/40851 ([4.3/4.4/4.5] problem with deallocation of pointers)
2009-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40851
* resolve.c (resolve_symbol): Do not initialize pointer
* derived-types.
* trans-decl.c (init_intent_out_dt): Ditto.
(generate_local_decl): No need to set attr.referenced for DT pointers.
2009-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40851
* gfortran.dg/derived_init_3.f90: New test.
re PR libfortran/40863 (Build failure in libgfortran)
2009-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/40863
* c99_functions.c: Define complex I, if not defined.
Create prototypes for C99 functions to silence warnings.
* gfortran.map: Add missing functions to GFORTRAN_C99_1.0
and new GFORTRAN_C99_1.1.
re PR fortran/33197 (Fortran 2008: math functions)
2009-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/33197
* intrinsic.c (make_generic): Remove assert as "atan" can be
both ISYM_ATAN and ISYM_ATAN2.
(add_functions): Add two-argument variant of ATAN.
* intrinsic.h (gfc_check_atan_2): Add check for it.
* intrinsic.texi (ATAN2): Correct and enhance description.
(ATAN): Describe two-argument variant of ATAN.
2009-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/33197
* gfortran.dg/atan2_1.f90: New test
* gfortran.dg/atan2_2.f90: New test
Ira Rosen [Sun, 26 Jul 2009 07:00:23 +0000 (07:00 +0000)]
re PR tree-optimization/40801 (internal compiler error: in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:1096)
PR tree-optimization/40801
* tree-vect-stmts.c (vectorizable_call): Get previous copy
of vector operand from the previous copy of vector statement.
Pass the correct definition type value to
vect_get_vec_def_for_stmt_copy().
David Daney [Sat, 25 Jul 2009 20:28:57 +0000 (20:28 +0000)]
system.h (gcc_assert): Invoke __builtin_unreachable() instead of fancy_abort() if !ENABLE_ASSERT_CHECKING.
* system.h (gcc_assert): Invoke __builtin_unreachable() instead of
fancy_abort() if !ENABLE_ASSERT_CHECKING.
(gcc_unreachable): Invoke __builtin_unreachable() if
!ENABLE_ASSERT_CHECKING.
David Daney [Sat, 25 Jul 2009 20:25:18 +0000 (20:25 +0000)]
re PR rtl-optimization/40445 (g++ void f() { __builtin_unreachable(); })
2009-07-25 David Daney <ddaney@caviumnetworks.com>
PR rtl-optimization/40445
* emit-rtl.c (next_nonnote_insn_bb): New function.
* rtl.h (next_nonnote_insn_bb): Declare new function.
* cfgcleanup.c (try_optimize_cfg): Don't remove an empty block
with no successors that is the successor of the ENTRY_BLOCK.
Continue from the top after removing an empty fallthrough block.
* cfgrtl.c (get_last_bb_insn): Call next_nonnote_insn_bb instead
of next_nonnote_insn.
2009-07-25 David Daney <ddaney@caviumnetworks.com>
PR rtl-optimization/40445
* g++.dg/other/builtin-unreachable-1.C: New testcase.
Martin Jambor [Sat, 25 Jul 2009 18:09:42 +0000 (20:09 +0200)]
extend.texi (Labels as Values): Document need for noclone.
2009-07-25 Martin Jambor <mjambor@suse.cz>
* doc/extend.texi (Labels as Values): Document need for noclone.
(Function Attributes): Document noclone attribute.
* c-common.c (c_common_attribute_table): New element for noclone.
(handle_noclone_attribute): New function. Forward-declare.
* tree-inline.c (tree_versionable_function_p): Check for noclone
attribute.
* testsuite/gcc.c-torture/execute/pr17377.c: Add noclone attribute to
function y.
* testsuite/gcc.dg/ipa/noclone-1.c: New test.
target-supports.exp (check_effective_target_static): New procedure.
* lib/target-supports.exp (check_effective_target_static): New
procedure.
* gcc.dg/special/gcsec-1.c (dg-options): Use -static only when
supported.
* g++.old-deja/g++.law/weak.C: Require static effective target.
Richard Guenther [Sat, 25 Jul 2009 13:44:57 +0000 (13:44 +0000)]
re PR fortran/40005 (segfault in gt_ggc_mx_lang_tree_node)
2009-07-25 Richard Guenther <rguenther@suse.de>
PR fortran/40005
* trans-types.c (gfc_get_array_type_bounds): Use
build_distinct_type_copy with a proper TYPE_CANONICAL and
re-use the type-decl of the original type.
* trans-decl.c (build_entry_thunks): Signal cgraph we may not
garbage collect.
(create_main_function): Likewise.
(gfc_generate_function_code): Likewise.
* trans-expr.c (gfc_trans_subcomponent_assign): Do not use
fold_convert on record types.
Janus Weil [Sat, 25 Jul 2009 11:56:35 +0000 (13:56 +0200)]
re PR fortran/39630 ([F03] Procedure Pointer Components)
2009-07-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/39630
* decl.c (match_ppc_decl): Implement the PASS attribute for procedure
pointer components.
(match_binding_attributes): Ditto.
* gfortran.h (gfc_component): Add member 'tb'.
(gfc_typebound_proc): Add member 'ppc' and make 'pass_arg' const.
* module.c (MOD_VERSION): Bump module version.
(binding_ppc): New string constants.
(mio_component): Only use formal args if component is a procedure
pointer and add 'tb' member.
(mio_typebound_proc): Include pass_arg and take care of procedure
pointer components.
* resolve.c (update_arglist_pass): Add argument 'name' and take care of
optional arguments.
(extract_ppc_passed_object): New function, analogous to
extract_compcall_passed_object, but for procedure pointer components.
(update_ppc_arglist): New function, analogous to
update_compcall_arglist, but for procedure pointer components.
(resolve_typebound_generic_call): Added argument to update_arglist_pass.
(resolve_ppc_call, resolve_expr_ppc): Take care of PASS attribute.
(resolve_fl_derived): Check the PASS argument for procedure pointer
components.
* symbol.c (verify_bind_c_derived_type): Reject procedure pointer
components in BIND(C) types.
Jason Merrill [Sat, 25 Jul 2009 03:57:20 +0000 (23:57 -0400)]
Core issue 901
Core issue 901
* libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Handle NULL
dealloc.
* call.c (build_op_delete_call): If this is for a new-expression
and the op delete is deleted, do nothing.
Jakub Jelinek [Fri, 24 Jul 2009 23:30:39 +0000 (01:30 +0200)]
re PR rtl-optimization/34999 (Incorrect FDE entries with hot/cold code section splitting (partition_hot_cold_basic_blocks))
PR rtl-optimization/34999
* dwarf2out.c (struct dw_fde_struct): Add dw_fde_switch_cfi
and dw_fde_switched_cold_to_hot fields.
(output_cfi_p): New function.
(output_call_frame_info): If fde->dw_fde_switched_sections,
output 2 FDEs instead of one with corrupted header.
(dwarf2out_do_cfi_startproc): New function.
(dwarf2out_begin_prologue): Use it. Initialize fde->dw_fde_switch_cfi
and fde->dw_fde_switched_cold_to_hot.
(dwarf2out_switch_text_section): Compute
fde->dw_fde_switched_cold_to_hot. Switch to new text section here.
If dwarf2out_do_cfi_asm, emit .cfi_endproc before it and call
dwarf2out_do_cfi_startproc plus emit again currently active CFI insns.
Otherwise, compute fde->dw_fde_switch_cfi.
cfghooks.c (split_block): Copy discriminator to new block.
* cfghooks.c (split_block): Copy discriminator to new block.
* tree-cfg.c (assign_discriminator): Check location of last
instruction in block as well as first.
Joseph Myers [Fri, 24 Jul 2009 20:55:59 +0000 (21:55 +0100)]
cwchar (swprintf, vswprintf): Do not use if _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
* include/c_global/cwchar (swprintf, vswprintf): Do not use if
_GLIBCXX_HAVE_BROKEN_VSWPRINTF.
* testsuite/lib/libstdc++.exp (check_v3_target_swprintf): New.
* testsuite/lib/dg-options.exp (dg-require-swprintf): New.
* testsuite/21_strings/headers/cwchar/functions_std.cc,
testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc,
testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
Use dg-require-swprintf.
linux.c: Use fputs or putc instead of fprintf where appropriate.
* config/i386/linux.c: Use fputs or putc instead of fprintf
where appropriate.
* config/i386/gas.h: Ditto.
* config/i386/x86-64.h: Ditto.
* config/i386/att.h: Ditto.
Janus Weil [Fri, 24 Jul 2009 11:00:01 +0000 (13:00 +0200)]
re PR fortran/40822 (Internal compiler error when Fortran intrinsic LEN referenced before explicit declaration)
2009-07-24 Janus Weil <janus@gcc.gnu.org>
PR fortran/40822
* array.c (gfc_resolve_character_array_constructor): Use new function
gfc_new_charlen.
* decl.c (add_init_expr_to_sym,variable_decl,match_char_spec,
gfc_match_implicit): Ditto.
* expr.c (gfc_simplify_expr): Ditto.
* gfortran.h (gfc_new_charlen): New prototype.
* iresolve.c (check_charlen_present,gfc_resolve_char_achar): Use new
function gfc_new_charlen.
* module.c (mio_charlen): Ditto.
* resolve.c (gfc_resolve_substring_charlen,
gfc_resolve_character_operator,fixup_charlen,resolve_fl_derived,
resolve_symbol): Ditto.
* symbol.c (gfc_new_charlen): New function to create a new gfc_charlen
structure and add it to a namespace.
(gfc_copy_formal_args_intr): Make sure ts.cl is present
for CHARACTER variables.
* gfortran.dg/maxlocval_2.f90: New test.
* gfortran.dg/maxlocval_3.f90: New test.
* gfortran.dg/maxlocval_4.f90: New test.
* gfortran.dg/minlocval_1.f90: New test.
* gfortran.dg/minlocval_2.f90: New test.
* gfortran.dg/minlocval_3.f90: New test.
* gfortran.dg/minlocval_4.f90: New test.
Kai Tietz [Fri, 24 Jul 2009 06:24:40 +0000 (06:24 +0000)]
mingw-w64.h (STANDARD_INCLUDE_DIR): Remove and use default set in mingw32.h header.
2009-07-24 Kai Tietz <kai.tietz@onevision.com>
* config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR): Remove and
use default set in mingw32.h header.
* config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Use for 32-bit and
64-bit /mingw/include path.
(STANDARD_STARTFILE_PREFIX_1): Use for 32-bit and 64-bit /mingw/lib
path.
* config/i386/i386.c: Use ASM_LONG instead of .long. Concatenate
ASM_LONG, LPREFIX, MCOUNT_NAME and PROFILE_COUNT_REGISTER strings
with the rest of string where appropriate. Use fputs or putc
instead of fprintf where appropriate.
Jakub Jelinek [Thu, 23 Jul 2009 18:09:43 +0000 (20:09 +0200)]
re PR fortran/40839 (gfortran segmentation fault when a unit number is missing)
PR fortran/40839
* io.c (gfc_resolve_dt): Add LOC argument. Fail if
dt->io_unit is NULL. Return FAILURE after issuing error about
negative UNIT number.
(match_io_element): Don't segfault if current_dt->io_unit is NULL.
* gfortran.h (gfc_resolve_dt): Adjust prototype.
* resolve.c (resolve_code): Adjust caller.
* sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
done at the same time, guard against listing a body more than once.
2009-07-23 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb: Minor reformatting
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
static expression is known valid.
* sem_eval.adb (Compile_Time_Compare): Handle properly non-static
operands of a subtype with a single value.
* gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
misprint in rule description.
2009-07-23 Gary Dismukes <dismukes@adacore.com>
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
test that the object declaration is within an extended return statement
with direct test of whether the declared object associated with the
build-in-place call is a return object, since the enclosing function
might not even be a build-in-place function.
2009-07-23 Robert Dewar <dewar@adacore.com>
* freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
Minor code reorganization
2009-07-23 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
for static analysis, only packed arrays are causing troubles.
freeze.adb (Set_Small_Size): Remove extra space for consistency with other similar messages.
2009-07-23 Arnaud Charlet <charlet@adacore.com>
* freeze.adb (Set_Small_Size): Remove extra space for consistency with
other similar messages.
* sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
messages/implicit packing in CodePeer mode.
(Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
* errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
CodePeer mode.
Gary Dismukes [Thu, 23 Jul 2009 12:40:31 +0000 (14:40 +0200)]
sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the ancestor part is a call to a limited function with an...
2009-07-23 Gary Dismukes <dismukes@adacore.com>
* sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
ancestor part is a call to a limited function with an unconstrained
result subtype unless the aggregate has a null extension type.
* sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
the parent type declaration to avoid blowups on subtype cases.