* exp_dbug.ads: Update documentation to reflect simpler encoding for
protected operations.
* exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
generated name, it complicates decoding in gdb and hinders debugging
of protected operations.
(Build_Barrier_Function_Specification): Set the Needs_Debug_Info
flag for the protected entry barrier function.
(Build_Protected_Entry_Specification): Set the Needs_Debug_Info
flag for the protected entry function.
From-SVN: r90907
* exp_ch4.adb (Expand_N_Selected_Component): If the component is the
discriminant of a constrained subtype, analyze the copy of the
corresponding constraint, because in some cases it may be only
partially analyzed.
Removes long-lived ??? comments.
* exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
handled controlled or secondary-stack expressions within the
iteration_scheme of a loop.
* sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
bounds that may contain functions calls, to prevent memory leaks when
the bound contains a call to a function that uses the secondary stack.
(Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
generate temporaries for loop bounds that might contain function calls
that require secondary stack and/or finalization actions.
* sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
selected component and the selector is overloadable (not just a
function) treat as function call, Analyze_Call will disambiguate if
necessary.
(Analyze_Selected_Component): Do not generate an actual subtype for the
selected component if expansion is disabled. The actual subtype is only
needed for constraint checks.
(Analyze_Allocator): If restriction No_Streams is set, then do
not permit objects to be declared of a stream type, or of a
composite type containing a stream.
* restrict.ads: Remove the a-stream entry from Unit_Array, since
No_Streams no longer prohibits with'ing this package.
* sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
discriminants, but the parent base has unknown discriminants, there is
no discriminant constraint to inherit. Such a discrepancy can arise
when the actual for a formal type with unknown discriminants is a
similar private type whose full view has discriminants.
(Analyze_Object_Declaration): If restriction No_Streams is set, then
do not permit objects to be declared of a stream type, or of a
composite type containing a stream.
From-SVN: r90906
* errout.ads, errout.adb: (First_Sloc): New function
* par-ch5.adb (P_Condition): Check for redundant parens is now a style
check (-gnatyx) instead of being included as a redundant construct
warning.
* sem_ch6.adb: Change name Style_Check_Subprogram_Order to
Style_Check_Order_Subprograms.
* style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
stylesw.adb: Add Style_Check_Xtra_Parens
* usage.adb: Add line for -gnatyx (check extra parens)
* vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
From-SVN: r90905
* einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
(Has_Rep_Pragma): New function
(Has_Attribute_Definition_Clause): New function
(Record_Rep_Pragma): Moved here from sem_ch13.adb
(Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
* sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
* exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
(Expand_Pragma_Psect_Object): New procedure
These procedures contain the revised and cleaned up processing for
these two pragmas. This processing was formerly in Sem_Prag, but
is more appropriately moved here. The cleanup involves making sure
that the pragmas are properly attached to the tree, and that no
nodes are improperly shared.
* sem_prag.adb: Move expansion of Common_Object and Psect_Object
pragmas to Exp_Prag, which is more appropriate.
Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
check for duplicates Remove use of Is_Psected flag, no longer needed.
Use new Make_String_Literal function with string.
* exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
that are functions return universal values, that have to be converted
to the context type.
Use new Make_String_Literal function with string.
(Get_Stream_Convert_Pragma): New function, replaces the use of
Get_Rep_Pragma, which had to be kludged to work in this case.
* freeze.adb: Use new Has_Rep_Pragma function
* exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
function with string.
Use new Has_Rep_Pragma function.
* tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
string argument.
From-SVN: r90904
* exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
procedures factors the common processing for building an RPC receiver
for an RCI package or an RACW type.
Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
(Get_PCS_Name): New subprogram. Returns the name of the PCS currently
in use.
(Specific_Add_RACW_Features): New subprogram. PCS-specific part of
Add_RACW_Features.
(Specific_Add_RAST_Features): New subprogram. PCS-specific part of
Add_RAST_Features.
(Assign_Subprogram_Identifier): New subprogram. Provision for assigning
distribution subprogram identifiers that are either subprogram numbers
or strings.
(Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
string distribution identifiers assigned to a given subprogram.
(Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
(Add_RAS_Dereference_TSS): Add comments.
(Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
is not referenced yet because it will be used by the PolyORB DSA
implementation.
(Insert_Partition_Check): Remove fossile code.
(First_RCI_Subprogram_Id): Document this constant.
(Add_RAS_Access_TSS): Correct the setting of the Etype of the
RAS_Access TSS.
(Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
replaced with calls to Get_Library_Unit_Name_String. Previously there
were several instances of the same code in different locations in the
compiler; this checkin completes the replacement of all of these
instances with calls to a common subprogram.
Minor reformatting.
* sem_dist.adb: Remove comment noting that RPC receiver generation
should be disabled for RACWs that implement RASs.
(Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
* sem_util.ads, sem_util.adb (Has_Stream): New function
(Get_Library_Unit_Name_String): New subprogram to retrieve the fully
qualified name of a library unit into the name buffer.
(Note_Possible_Modification): Generate a reference only
if the context comes from source.
* snames.ads (PCS_Names): New subtype corresponding to names of
supported implementations of the Partition Communication Subsystem
(PCS) (i.e. the runtime library support modules for the distributed
systems annex).
From-SVN: r90903
* a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
address of which may be used to represent "others" and "all others"
choices in exception tables, instead of the current harcoded
(void *)0 and (void *)1.
(Setup_Exception): Do nothing in the GNAT SJLJ case.
* gigi.h (others_decl, all_others_decl): New decls representing the
new Others_Value and All_Others_Value objects.
(struct attrib): Rename "arg" component as "args", since GCC expects a
list of arguments in there.
* raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
corresponding objects exported by a-exexpr, instead of hardcoded dummy
addresses.
* trans.c (Exception_Handler_to_gnu_zcx): Use the address of
others_decl and all_others_decl instead of hardcoded dummy addresses
to represent "others" and "all others" choices, which is cleaner and
more flexible with respect to the possible eh pointer encoding policies.
* utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
(process_attributes): Account for the naming change of the "args"
attribute list entry component.
* decl.c (build_attr_list): Rename into prepend_attributes to allow
cumulating attributes for different entities into a single list.
(gnat_to_gnu_entity): Use prepend_attributes to build the list of
attributes for the current entity and propagate first subtype
attributes to other subtypes.
<E_Procedure>: Attribute arguments are attr->args and not
attr->arg any more.
(build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
argument provided, as this is what GCC expects. Use NULL_TREE instead
of 0 for trees.
From-SVN: r90900
(__gnat_portable_spawn): Fix cast of spawnvp third parameter
to avoid warnings.
Add also a cast to kill another warning.
(win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
parameter with the priority class of the parent process instead of
always using the NORMAL_PRIORITY_CLASS.
(__gnat_dup): New function.
(__gnat_dup2): New function.
(__gnat_is_symbolic_link): Enable the effective body of this
function when __APPLE__ is defined.
* g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
Update comments.
From-SVN: r90899
config/stormy16/stormy16.c (combine_bnp): Add code to handle zero_extension and
lshiftrt insns.
Replace uses of XEXP(...) with either SET_DEST() or SET_SRC() where
appropriate.
config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns to handle bp and bn
insn patterns with a zero_extend rtx inside them.
From-SVN: r90898
* integrate.c (has_func_hard_reg_initial_val,
get_func_hard_reg_initial_val): Make them static.
* integrate.h: Remove the corresponding prototypes.
From-SVN: r90895
* config/arm/arm.c (const_double_needs_minipool): New function to
determine if a CONST_DOUBLE should be pushed to the minipool.
(note_invalid_constants): Use it.
From-SVN: r90881
2004-11-18 Robert Schuster <address@bogus.example.com>
Complete 1.4 support
* java/beans/PropertyDescriptor.java:
(setReadMethod): New method
(setWriteMethod): New method
(equals): Implemented (1.4)
(checkMethods): operates on arguments now (private)
From-SVN: r90876
2004-11-18 Mattias Rehnberg <Mattias.Rehnberg@home.se>
* java/net/Inet6Address.java (getHostAddress): Fix textual
representation of IPv6 address with embedded zeroes
to conform to RFC 2373.
From-SVN: r90874
2004-11-18 Jeroen Frijters <address@bogus.example.com>
* java/lang/StackTraceElement.java: Made final.
* java/nio/channels/Channels.java: Added private constructor.
* java/rmi/Naming.java: Added private constructor.
* java/rmi/registry/LocateRegistry.java: Added private constructor.
* java/rmi/server/RMIClassLoader.java: Added private constructor.
* java/security/KeyPairGeneratorSpi.java
(clone): Made protected and simplified implementation.
* java/text/DateFormat.java
(allFields): Made package accessible.
* java/text/DecimalFormat.java
(formatInternal): Made private.
* java/text/Format.java
(formatInternal): Made private.
* java/util/logging/Handler.java: Made constructor protected.
* java/util/regex/Matcher.java: Made final.
* java/util/regex/Pattern.java: Made final.
* javax/crypto/CipherInputStream.java
(mark): Corrected mark parameter type (from long to int).
* javax/crypto/ExemptionMechanism.java
(finalize): Added.
* javax/crypto/Mac.java
(getMacLength): Made final.
(clone): Made final.
* javax/imageio/ImageIO.java: Added private constructor.
* javax/imageio/stream/ImageInputStreamImpl.java
(checkClosed): Made final.
* javax/net/ssl/SSLPermission.java: Made final.
* javax/print/DocFlavor.java
(hostEncoding): Added work-around to prevent the field from being
a compile time constant.
* javax/print/attribute/AttributeSetUtilities.java: Added private
constructor.
(UnmodifiableDocAttributeSet): Made private.
(UnmodifiablePrintJobAttributeSet): Made private.
(UnmodifiablePrintRequestAttributeSet): Made private.
(UnmodifiablePrintServiceAttributeSet): Made private.
(SynchronizedAttributeSet): Made private.
(SynchronizedDocAttributeSet): Made private.
(SynchronizedPrintJobAttributeSet): Made private.
(SynchronizedPrintRequestAttributeSet): Made private.
(SynchronizedPrintServiceAttributeSet): Made private.
* javax/security/auth/PrivateCredentialPermission.java: Made final.
From-SVN: r90866
2004-11-18 Andrew Pinski <pinskia@physics.uc.edu>
* ifcvt.c (find_if_block): Move the check for the number of edges
above the loops checking for complex edges.
Remove the counting of edges as we use EDGE_COUNT now.
From-SVN: r90865
2004-11-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
If the failbit is set, don't set it again.
(money_get<>::_M_extract): Minor stylistic tweak: consistently
with the other functions, take care of eofbit at the end.
From-SVN: r90861
2004-11-18 Paolo Carlini <pcarlini@suse.de>
DR 434. bitset::to_string() hard to use [Ready]
* include/std/std_bitset.h (to_string): Add three overloads, taking
fewer template arguments.
* docs/html/ext/howto.html: Add an entry for DR 434.
* testsuite/23_containers/bitset/to_string/1.cc: New.
From-SVN: r90854