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.
* s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
pattern.
(Raise_Exception_If_No_More_Chars): Remove extra blank in exception
string.
(Raise_Exception): Ditto.
* g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
low level internal type definitions for distinct higher level
binding development activities (user type definitions and
operations).
* gnat_rm.texi: Document it.
* g-ssvety.ads: Use it.
* gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
* gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
for the "may_alias" attribute.
2009-07-23 Thomas Quinot <quinot@adacore.com>
* scos.ads: Minor typo fix
* gcc-interface/decl.c (validate_alignment): For the case of an
implicit array base type, look for alignment clause on first subtype.
Code clean up.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Units): Handle properly the case where a unit
in the context depends on the spec of the main unit, by delaying
processing of the main unit body until all other units have been
processed.
* a-convec.adb: Add comments about suspicious/subtle code.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* einfo.ads: Document use of Alias in private overriding
2009-07-23 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
an array type, propagate alignment from first subtype to implicit base
type so that other subtypes (such as the itypes for aggregates of the
type) also receive the expected alignment.
* g-comlin.ads: Minor documentation clarification/rewording.
* scos.ads: Minor comments update.
* lib-writ.ads: Minor reformatting
* exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
of a class-wide interface type that is a return object of a
build-in-place function, bypass the interface-related expansions into
renamings with displacement conversions, etc.
* exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
for the case where a renaming occurs in a build-in-place context, to
assert that the bypassing of the build-in-place treatment only occurs
in the case of a renaming that is an expansion of a return expression
that is itself a build-in-place function call.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
valid candidate interpretation in a prefixed view if it is hidden, but
overrides an inherited operation declared in the visible part.
2009-07-23 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
division operands to 64-bit at all in any circumstances.
re PR target/40832 (gfortran 4.4.0 generates invalid .s file on solaris-x86 using -march=k8 for 130.socorro)
PR target/40832
* config/i386/i386.c (output_387_ffreep): Rewrite to return
ASM_SHORT instead of .word.
* config/i386/i386.md (*tls_global_dynamic_64): Use ASM_SHORT
instead of .word in asm template.
* exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
checking ranges for mod/rem to see if conditional jump will be
generated.
(Analyze_N_Op_Rem): Don't try to check actual lower bounds for
generating special -1 test for rem, generate it whenever both
operands can be negative (match circuit in Sem_Res).
(Analyze_N_Op_Rem): Don't go to base type, no longer needed and
destroys memory of positive range.
* sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
checking ranges for mod/rem to see if conditional jump will be generated
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
scalar components has non-static bounds, the equivalent aggregate
cannot be built, even if the expression is static, because range checks
will be generated.
* gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2009-07-23 Javier Miranda <miranda@adacore.com>
* sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
(Entity/Set_Entity): not available in N_Null_Statement nodes
(Is_Scil_Node): renamed as Is_SCIL_Node
(Scil_Nkind): renamed as SCIL_Nkind
(Scil_Related_Node): renamed as SCIL_Related_Node
(Scil_Target_Prim): renamed as SCIL_Target_Prim
(Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
(Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
(Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
Update documentation
* exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
(Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
(New_Scil_Node): Renamed as New_SCIL_Node
* exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
(Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
(New_Scil_Node): Renamed as New_SCIL_Node
* exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2009-07-23 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
* snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
* einfo.adb: Minor reformatting
Robert Dewar [Thu, 23 Jul 2009 09:34:26 +0000 (09:34 +0000)]
checks.adb (Apply_Arithmetic_Overflow_Check): Add comments cross-referencing the new related code in...
2009-07-23 Robert Dewar <dewar@adacore.com>
* checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
cross-referencing the new related code in
Exp_Ch4.Expand_N_Type_Conversion.
* exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
* exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
Add comment.
Robert Dewar [Thu, 23 Jul 2009 09:10:58 +0000 (09:10 +0000)]
exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity check right away so it does not get skipped for early...
2009-07-23 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
check right away so it does not get skipped for early returns, e.g.
array assignments.
(Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
left-side unless we really know the value is valid.
* errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
reformatting. Minor code reorganization. Add comments.
* sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
with test of coverage, to allow specific type objects in extended
returns of class-wide functions. Remove now-unnecessary special-case
tests that allowed this in certain cases of expanded extended returns.
2009-07-23 Javier Miranda <miranda@adacore.com>
* sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
N_Null_Statements (for SCIL nodes).
(Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
(Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
(Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
nodes).
(Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
* exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
associated with dispatching call.
(Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
(Make_DT, Make_Tags): Add generation of SCIL nodes associated with
initialization of dispatch tables and initialization of tags.
(New_Scil_Node): New function that creates a new SCIL node.
(Build_Init_Procedure): Add generation of SCIL node associated with the
initialization of tags done in the IP subprogram.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* errout.adb (Error_Msg_NEL): If the entity in the initial message has
Warnings_Off, do not emit continuation messages.
* sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
spec.
2009-07-23 Emmanuel Briot <briot@adacore.com>
* ali.adb: Minor comment update
2009-07-23 Vasiliy Fofanov <fofanov@adacore.com>
* s-win32.ads (HANDLE): Define to be the same size as address type.
Fix copyright.
2009-07-23 Olivier Hainque <hainque@adacore.com>
* g-sse.ads: New file. Root of the SSE facilities trees, with
general description and common declarations.
* g-ssvety.ads: New file. Expose user level SSE vector types.
* impunit.adb (Non_Imp_File_Names_95): Register new units.
* gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.