2009-07-24 Kai Tietz <kai.tietz@onevision.com>
* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: New Win32
specific implementation.
From-SVN: r150048
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.
2009-07-24 Janus Weil <janus@gcc.gnu.org>
PR fortran/40822
* gfortran.dg/char_length_16.f90: New.
From-SVN: r150047
PR libffi/40807
* src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
return types for X86_WIN32.
* src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
(_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
_ffi_closure_STDCALL): Likewise.
* src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
(dlmmap, dlmunmap): Also use these functions on Cygwin.
From-SVN: r150042
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.
From-SVN: r150040
* 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.
From-SVN: r150030
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.
* gfortran.dg/pr40839.f90: New test.
From-SVN: r150021
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* 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.
From-SVN: r150009
2009-07-23 Sergey Rybin <rybin@adacore.com>
* 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.
From-SVN: r150007
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.
From-SVN: r150005
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.
From-SVN: r150002
* 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.
From-SVN: r149994
2009-07-23 Olivier Hainque <hainque@adacore.com>
* 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.
From-SVN: r149993
2009-07-23 Arnaud Charlet <charlet@adacore.com>
* 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
From-SVN: r149991
2009-07-23 Gary Dismukes <dismukes@adacore.com>
* 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.
From-SVN: r149990
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.
From-SVN: r149988
2009-07-23 Robert Dewar <dewar@adacore.com>
* 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.
From-SVN: r149987
2009-07-23 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
division operands to 64-bit inside a conversion if 64-bit division not
available.
From-SVN: r149985
2009-07-23 Sergey Rybin <rybin@adacore.com>
* 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
From-SVN: r149984
2009-07-23 Olivier Hainque <hainque@adacore.com>
* gnat_rm.texi: Document the GNAT.SSE units.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
not null return if it appears on a subunit.
From-SVN: r149979
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.
From-SVN: r149978
2009-07-23 Gary Dismukes <dismukes@adacore.com>
* 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.
2009-07-23 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Wordsmithing.
From-SVN: r149974