Age | Commit message (Collapse) | Author | Files | Lines |
|
2005-02-09 Robert Dewar <dewar@adacore.com>
Thomas Quinot <quinot@adacore.com>
Javier Miranda <miranda@adacore.com>
Pascal Obry <obry@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Doug Rupp <rupp@adacore.com>
Gary Dismukes <dismukes@adacore.com>
Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* g-zstspl.ads: New file.
* a-chahan.ads, a-chahan.adb: Add declarations from AI-285
* a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
Ada 95 mode
Add definition of Wide_Wide_Space for AI-285
* impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
interface (to support Ada 95 and Ada 2005 units).
Add Unbounded_IO files
Add entries for Wide_Wide packages for AI-285
Add list of containers packages to Ada 2005 unit list
* a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
support new Unbounded_IO package cleanly.
* g-utf_32.ads, g-utf_32.adb: New files.
* Makefile.rtl: Add entry for g-utf_32
Add new files for Unbounded_IO
Adjust make file for new AI-285 wide wide packages
Add AI-302 containers to the run time.
* a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
subprograms for AI-301.
* a-stwiun.adb, a-stwiun.ads: Minor reformatting.
* a-stunau.ads: Minor comment correction
* rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
etc.
Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
(Check_RPC): Update to match changes in expanded code.
Clean up unused entity.
* exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
was not taken into account.
This includes proper initialization with Normalize_Scalars.
(Get_Simple_Init_Val): Major rewrite for initialize scalars and
normalize scalars cases (particularly the latter) to do a better job
of finding invalid representations.
* s-scaval.ads, s-scaval.adb: Add values for zero invalid values
* s-strops.ads, s-strops.adb: Remove string normalize routines, never
used
* exp_dist.adb: Add support for wide wide character type
(Expand_Receiving_Stubs_Bodies): For a package declaration that has a
private part, generate stub bodies at the end of the private part,
not the visible part.
(Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
PolyORB support.
(Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
generic wrapper to execute final processing after completing the
expansion of the RPC receiver for an RACW.
* snames.h, snames.ads, snames.adb: Add definitions for wide_wide
packages and attributes.
(Preset_Names): Addition of the new reserved words of Ada 2005,
that is interface, overriding and synchronized.
(Get_Pragma_Id): Give support to the use of the new reserved word
"interface" as a pragma name.
(Is_Pragma_Name): Give support to the use of the new reserved word
"interface" as a pragma name.
(Preset_Names): Add stream_size string for the Stream_Size Ada2005
attribute implementation.
* exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
checks to entities that are output parameters of Asm operations.
Handle the Stream_Size attribute.
Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
* exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
* sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
for second parameter being 0.0.
Add support for wide wide character type.
(Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
* s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
for wide wide character cases.
* cstand.adb: Create entities for Wide_Wide_Character and
Wide_Wide_String.
* i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
accordance with AI-258.
Add new declarations for 16/32 bit C character types (Part of AI285)
* einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
(Obsolescent_Warning): New field
(Rep_Clause): New local subprogram used to share code. Returns the rep
clause for which the name is given in parameter.
(Has_Stream_Size_Clause): New routine.
(Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
(Address_Clause): Implementation is now using Rep_Clause.
(Alignment_Clause): Idem.
(Size_Clause): Idem.
* lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
entity in non-Ada 2005 mode and generate warning.
* par-prag.adb: Add handling of one argument form for pragma Ada_05.
(Prag): Code cleanup. Remove old gnat pragma "overriding"
* sem_prag.adb: Add handling of one argument form for pragma Ada_05
(Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
on the named unit if the pragma is not in the current compilation unit,
so that elaboration calls in the current unit can set up an elaboration
dependency on the named unit, as needed.
(Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
subprogram as well as for subprograms declared within a package.
(Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
pragma overriding.
* krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
to z) to avoid some instances of duplication for Wide_Wide packages.
* namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
characters.
* scn.adb: Char_Literal_Value field is now a Uint
* scng.adb: Significant rewrite to handle new Ada 2005 features
allowing wide and wide wide characters in program text, e.g. for
identifiers, as described in AI-285.
(Set_Reserved): New procedure, makes setting up keywords cleaner.
(Initialize_Scanner): Register the new reserved words of Ada 2005.
(Scan): Give support to the new reserved words.
* par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
warning notifying that interface, overriding, and synchronized are
new reserved words.
(P_Pragma): Allow the use of the new reserved word "interface" as
a pragma name.
* gnatls.adb, gnatbind.adb,
ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
identifiers named "interface" to "SAL_Interface".
* bindgen.adb (Gen_Main_Ada): Add support for the new SEH
(Structured Exception handling).
(Gen_Main_C): Idem.
* bindgen.adb:
(Gen_Main_Ada): Set the default exit code if specified.
(Gen_Main_C): Likewise.
Part of *DC20-006.
(Gen_Output_File_C): Remove redundant output of gnat_exit_status.
Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
* switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
new -Xnnn switch.
* mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
has a collision with the new Ada 2005 "interface" reserved word.
* par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
generate a warning notifying that interface, overriding, and
synchronized are new reserved words.
* scans.ads (Token_Type): Addition of the tokens corresponding to the
new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
and Tok_Synchronized.
* sem_res.adb (Resolve_Actuals): Change error messages to refer to
"dispatching" rather than "primitive" operations, since dispatching
calls are now allowed to abstract formal subprograms (which are not
primitive).
Char_Literal_Value field is now a Uint
(Resolve_Slice): If the prefix is an access to an unconstrained array,
compute the actual subtype of the designated object to impose the proper
index constraints.
(Resolve_Selected_Component): Do not insert an access check if the
prefix is an access type: such a node is expanded into an explicit
dereference, on which the access check is performed anyway. Removes
expensive duplicate checks.
(Resolve_Call): Use new flag Is_Obsolescent and field
Obsolescent_Warning so that pragma Obsolescent works on library
subprograms.
Add support for wide wide character type
(Resolve_Allocator): Replace the error message on wrong null-exclusion
value by a warning message.
(Resolve_Type_Conversion): If the mixed-mode expression is interpreted
as fixed-point, and one of the operands is non-static and universal, it
can only be an illegal exponentiation operation, in which case there is
no real value to retrieve.
* exp_strm.adb: Add support for wide wide character type
(Build_Elementary_Input_Call): Compute the size of the stream element by
querying the rep chain to find the Stream_Attribute attribute value.
(Build_Elementary_Write_Call): Ditto.
* sem_aggr.adb: Char_Literal_Value field is now a Uint
Add support for wide wide character type
Replace the error messages on wrong null-exclusion value by warnings
as described in Ada 2005.
(Resolve_Extension_Aggregate): Document the fact that the error
message on class-wide expressions in extensions aggregates.
* sem_case.adb: Add support for wide wide character type
* sem_ch13.adb: Add support for wide wide character type
(Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
* sem_ch3.adb: Add support for wide wide character type
(Process_Subtype): If constraint is illegal for the type, set Ekind of
now-useless Itype, to prevent cascaded errors on a compiler built
without -gnatp.
* sem_ch8.adb: Add with and use of Sem_Disp.
(Analyze_Subprogram_Renaming): Replace unclean uses of
Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
of Corresponding_Spec to Empty).
(Attribute_Renaming): Replace use of Corresponding_Spec with
Corresponding_ Formal_Spec and simplify condition.
(Use_One_Package): Check that scope of homonym of identifier is defined,
before checking whether it is a wrapper package.
Add support for wide wide character type
* sem_eval.adb: Add support for wide wide character type.
(Eval_Arithmetic_Op): Check for compile time known signed integer
overflow in the non-static case.
(Subtypes_Statically_Match): A formal scalar type and its base type do
not statically match.
* sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
"not in" for test of N_Formal_Subprogram_Declaration (which is now a
subtype).
(Unit_Declaration_Node): Ditto.
(Is_Variable_Prefix): For the case of an indexed component whose prefix
has a packed array type, the prefix has been rewritten into a type
conversion. Determine variable-ness from the converted expression.
Handle wide wide character cases.
* stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
* stringt.ads, stringt.adb: Handle full UTF-32 range.
Remove ["0A"] from comment, since it can look like a line terminator.
Currently we don't permit this, but this is under discussion by the
ARG, and it is easy enough to use a different example.
* s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
handling UTF-32 encoding for wide wide character.
Implement new brackets coding ["hhhhhhhh"]
Add UTF-8 encodings for full UTF-32 range
* ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
* types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
bit range Add full UTF-32 support.
(RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
notify that constraint error will be raised at run-time
because a null value is assigned to a null-excluding object.
Remove some obsolete declarations and make Char_Code
unsigned.
* a-except.adb (Rcheck_30): New subprogram. Addition of the message
corresponding to CE_Null_Not_Allowed, and adjust the output of all the
Rcheck subprograms.
* checks.adb (Check_Null_Not_Allowed): Replace the error message on
wrong null-exclusion value by a warning message.
(Enable_Range_Check): Do range check if the prefix is an
explicit dereference whose designated object is an unconstrained array.
Current algorithm for removing duplicate checks is over-eager in this
case.
* sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
null-exclusion value by a warning message
* atree.h, atree.ads, atree.adb: Remove Char_Code field support
completely. Add support for Uint2 field
sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
exp_prag.adb: Char_Literal_Value field is now a Uint.
* exp_util.adb (Insert_Actions): Replace
N_Formal_Subprogram_Declaration by
N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
Char_Literal_Value field is now a Uint.
* sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
defined for subprogram renaming declarations. When set, the field
indicates the defining entity of a corresponding formal subprogram
when the renaming corresponds to a formal subprogram association in an
instantiation.
(Set_Corresponding_Formal_Spec): New procedure to return
Corresponding_Formal_Spec field.
Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
(which is now a subtype).
Char_Literal_Value field is now a Uint
* exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
pointer to the base of the dispatch table.
Minor changes to comments.
(Controlling_Type): New function for determining the tagged type
associated with a tagged primitive subprogram.
(Expand_Dispatching_Call): Add support for a controlling actual that is
directly a value of type Ada.Tag rather than a tagged object.
* i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
describing the new layout.
(Dispatch_Table): The expander computes the actual array size, allocates
the Dispatch_Table record accordingly, and generates code that displaces
the base of the record after the Typeinfo_Ptr component. The access to
these components is done by means of local functions.
(Offset_To_Top): New function.
(Typeinfo_Ptr): New function.
(Get_TSD): Modified to access the new position of the TSD.
(Set_TSD): Modified to save the TSD in its new position.
* par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
case of formal abstract subprograms. Add check and message for -gnat05.
Update comments.
* sem_ch12.adb: Add with and use for Sem_Disp.
(Analyze_Associations): Minor change from "=" to "in" for use of
N_Formal_Subtype_Declaration (which is now a subtype).
(Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
N_Formal_Subtype_Declaration (which is now a subtype).
(Analyze_Formal_Subprogram): Add handling for
N_Formal_Abstract_Subprogram, marking the formal as abstract and
dispatching, setting the controlling status of the formal parameters
and result, and issuing an error if there is no controlling type for
the formal subprogram.
(Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
which is an unclean use of that field, we set the new field
Corresponding_Formal_Spec to make the formal subprogram available to
processing in Analyze_Subprogram_Declaration.
(Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
Constrained, so that it is is does not statically match its anonymous
base type.
* sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
abstract formal subprograms in error check for functions returning
abstract types. Set scope of new designator for
a parameterless subprogram, so that it is available when checking the
body for nested subprograms, before full analysis of said body.
(Analyze_Subprogram_Body): Warn on inlining bodies with nested
subprogram only if inner one comes from source.
(Analyze_Function_Call): If the call is given in object notation, the
analysis of the name rewrites the node and analyzes it with the proper
argument list. After analyzing the name, if the call has been rewritten
and the result type is set, no further analysis is needed.
(Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
mark in function specification, in a context where the formals are
visible and hide outer homographs.
* sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
as the tagged type for the cases of abstract formal subprograms and
renamings of those. Clean up spec comments.
(Check_Dispatching_Context): Add error message to indicate "abstract
procedure", covering the case of a call to a formal abstract procedure
that has statically tagged operands.
(Check_Dispatching_Call): Check for the case of an actual given by
a tag-indeterminate function call whose type is an ancestor of the
containing call's associated tagged type. This situation can occur
for inherited primitives with function defaults. In this case we
use the tagged type's tag directly as the controlling argument for
the calls.
(Expand_Call): Name change on call to Expand_Dispatch_Call.
* sprint.adb (Sprint_Node_Actual): Split
N_Formal_Subprogram_Declaration into two alternatives for the new
cases N_Formal_Abstract_Subprogram_Declaration and
N_Formal_Concrete_Subprogram_Declaration.
Char_Literal_Value field is now a Uint.
* trans.c: Get rid of junk Uint2 reference.
Char_Literal_Value field is now a Uint.
(gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
(gigi): Correct third arg to gimplify_body.
* ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
(TYPE_LANG_FLAG_0): Check for record or union.
* treepr.adb: Char_Literal_Value field is now a Uint
* uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
UI_From_CC.
* widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
Add full UTF-32 support
Char_Code is now 32 bits
* sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
wide character UTF_32 line terminators.
Initialize Main_Source_File to avoid error when no main
source is loaded.
* errout.adb (Finalize): Do not check Num_SRef_Pragmas
(Main_Source_File) when no main source has been loaded, to avoid
potential crash.
From-SVN: r94809
|
|
2005-02-09 Doug Rupp <rupp@adacore.com>
* s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
From-SVN: r94808
|
|
2005-02-09 Doug Rupp <rupp@adacore.com>
* gnatchop.adb (dup, dup2),
g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
* gnatlbr.adb (mkdir),
mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
* s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
From-SVN: r94807
|
|
2005-02-09 Doug Rupp <rupp@adacore.com>
* g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
* g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
From-SVN: r94806
|
|
cpp invocation)
PR documentation/19309
* doc/cpp.texi: The __GNUC__ and related predefined macros
are also defined for the "standalone" cpp.
Some non-GCC compilers may also define __GNUC__.
From-SVN: r94805
|
|
PR c/19342
* c-typeck.c (common_type): New routine. Old common_type renamed
to...
(c_common_type): ...this.
(build_conditional_expr, build_binary_op): Use c_common_type instead
of common_type.
* gcc.c-torture/execute/20050119-1.c: New test.
From-SVN: r94803
|
|
From-SVN: r94800
|
|
PR c++/19811
* call.c (build_op_delete_call): Check COMPLETE_TYPE_P before
attempting name lookup.
PR c++/19811
* g++.dg/init/delete1.C: New test.
From-SVN: r94799
|
|
2005-02-10 Bryce McKinlay <mckinlay@redhat.com>
* testsuite/libjava.mauve/xfails: Updated to reflect current state
of mauve and libjava.
From-SVN: r94798
|
|
From-SVN: r94795
|
|
* gnu/java/net/protocol/jar/Connection.java (getJarFile): Open
jar file with OPEN_DELETE.
* java/util/zip/ZipFile.java (ZipFile): Call deleteOnExit when
OPEN_DELETE is used.
From-SVN: r94793
|
|
* java/util/zip/InflaterInputStream.java (markSupported):
Override.
(mark, reset): Likewise.
From-SVN: r94792
|
|
2005-02-09 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/18470
* g++.dg/template/static12.C: New test.
From-SVN: r94789
|
|
PR c++/19787
* call.c (initialize_reference): Robustify.
PR ++/19732
* decl.c (grokdeclarator): Check for invalid use of destructor
names.
PR c++/19762
* parser.c (cp_parser_unqualified_id): Avoid creating destructor
names with invalid types.
PR c++/19826
* parser.c (cp_parser_direct_declarator): Allow type-dependent
expressions as array bounds.
PR c++/19739
* parser.c (cp_parser_attributes_list): Allow empty lists.
PR c++/19787
* g++.dg/conversion/ambig1.C: New test.
PR c++/19739
* g++.dg/ext/attrib19.C: New test.
PR c++/19732
* g++.dg/parse/dtor5.C: New test.
PR c++/19762
* g++.dg/template/dtor3.C: New test.
PR c++/19826
* g++.dg/template/static11.C: New test.
* g++.dg/template/crash2.C: Remove dg-error marker.
From-SVN: r94788
|
|
gcc-3.4)
PR tree-optimization/18687
* tree-flow.h (find_loop_niter): Declare.
* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
Try using scev even for loops with more than one exit.
* tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
(struct ivopts_data): Added niters field.
(struct nfe_cache_elt): New.
(nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
functions.
(tree_ssa_iv_optimize_init): Initialize niters cache.
(determine_number_of_iterations): Removed.
(find_induction_variables): Do not call determine_number_of_iterations.
Access niters for single exit through niter_for_single_dom_exit.
(add_iv_outer_candidates): Access niters for single exit through
niter_for_single_dom_exit.
(may_eliminate_iv): Take data argument. Use niter_for_exit. Do not use
number_of_iterations_cond.
(iv_period): New function.
(determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
(may_replace_final_value): Take data argument. Use
niter_for_single_dom_exit.
(determine_use_iv_cost_outer): Pass data to may_replace_final_value.
(rewrite_use_compare): Pass data to may_eliminate_iv.
(rewrite_use_outer): Pass data to may_replace_final_value.
(free_loop_data): Clean up the niters cache.
(tree_ssa_iv_optimize_finalize): Free the niters cache.
(tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
* tree-ssa-loop-niter.c (find_loop_niter): New function.
(find_loop_niter_by_eval): Use tree_int_cst_lt.
(num_ending_zeros): Moved to tree.c.
* tree.h (num_ending_zeros): Declare.
* tree.c (num_ending_zeros): Moved from tree.c.
From-SVN: r94787
|
|
From-SVN: r94786
|
|
* builtins.c (DEF_BUILTIN): Add COND argument.
* tree.h (DEF_BUILTIN): Likewise.
* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
match.
(DEF_BUILTIN_STUB): New.
(BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
* c-common.c (DEF_BUILTIN): Add COND argument.
* tree.c (local_define_builtin): New.
(build_common_builtin_nodes): New.
ada/
* utils.c (gnat_define_builtin): Remove.
(gnat_install_builtins): Use build_common_builtin_nodes.
fortran/
* f95-lang.c (gfc_init_builtin_functions): Call
build_common_builtin_nodes; do not define any functions handled
by it.
java/
* builtins.c (initialize_builtins): Call build_common_builtin_nodes.
* decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
treelang/
* treetree.c (treelang_init_decl_processing): Call
build_common_builtin_nodes.
From-SVN: r94785
|
|
From-SVN: r94783
|
|
g++.old-deja/g++.mike/p10769a.C compilation failed to produce executable)
PR C++/18491
* g++.old-deja/g++.mike/p10769a.C: Remove.
From-SVN: r94780
|
|
point expression ignoring the sign of the...
* fold-const.c (fold_strip_sign_ops): New function to simplify a
floating point expression ignoring the sign of the result.
(fold) <ABS_EXPR>: Use it to simplify fabs(x).
(fold) <MULT_EXPR>: Use it to simplify x*x.
* tree.h (fold_strip_sign_ops): Prototype here.
* builtins.c (fold_builtin_copysign): Take an additional FNDECL
argument. Use fold_strip_sign_ops to simplify the first argument.
(fold_builtin_pow): Use fold_strip_sign_ops to simplify the
first argument when the second argument is an even integer
constant, but only with -funsafe_math_optimizations.
(fold_builtin_1): Update call to fold_builtin_copysign.
* gcc.dg/builtins-48.c: New test case.
* gcc.dg/builtins-49.c: New test case.
* gcc.dg/builtins-50.c: New test case.
* gcc.dg/builtins-51.c: New test case.
From-SVN: r94779
|
|
non-void function '...' being inlined)
PR middle-end/19583
* g++.dg/warn/Wreturn-type-3.C: New test.
From-SVN: r94778
|
|
non-void function '...' being inlined)
PR middle-end/19583
* gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
just check whether EH_FILTER_FAILURE falls through.
From-SVN: r94777
|
|
* allchblk.c (GC_allochblk_nth): Dont overlook available space if
GC disabled, correctly convert GC_finalizer_mem_freed to byte,
total_size to words.
* dyn_load.c (win32 GC_register_dynamic_libraries): Consider only
MEM_IMAGE regions.
* mach_dep.c (GC_with_callee_saves_pushed): separate into new function,
and indent appropriately.
* mark_rts.c (GC_approx_sp): Access stack.
* pthread_stop_world.c: (GC_suspend_handler): Explicitly push
callee-saves registers when appropriate.
(GC_stop_world): Handle EINTR from sem_wait (sync with Mono GC).
From-SVN: r94776
|
|
ready list in the next turn.
2005-02-09 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc/haifa-sched.c (schedule_block): Make queued sched group
insns return to ready list in the next turn.
From-SVN: r94775
|
|
2005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
PR middle-end/19402
* builtins.def: New __builtin_powi[lf].
* builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
(expand_builtin_powi): New function.
(expand_builtin): Dispatch to expand_builtin_powi.
* libgcc2.h: Add prototypes for __builtin_powi[lf].
* libgcc2.c: Add __builtin_powi[lf] implementation.
* mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
* optabs.h: Add powi_optab.
* optabs.c (init_optabs): Initialize powi_optab.
* doc/extend.texi: Document __builtin_powi[lf].
* gcc.dg/pr19402-1.c: New testcase.
* gcc.dg/pr19402-2.c: likewise.
From-SVN: r94774
|
|
* tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
exists.
From-SVN: r94768
|
|
2005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
* fold-const.c (try_move_mult_to_index): Remove redundant
type argument. Create ADDR_EXPR with correct type.
(fold): Update callers of try_move_mult_to_index. Convert
result to the appropriate type.
* g++.dg/tree-ssa/tmmti.C: New testcase.
From-SVN: r94767
|
|
PR target/19597
* config/avr/avr.c (default_rtx_costs): Delete.
(avr_operand_rtx_cost): New function.
(avr_rtx_costs): Completely rewrite.
From-SVN: r94766
|
|
From-SVN: r94765
|
|
* a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
library.
From-SVN: r94764
|
|
* java/net/URI.java (AUTHORITY_REGEXP): Handle case where user
name or port is missing.
(AUTHORITY_USERINFO_GROUP, AUTHORITY_HOST_GROUP,
AUTHORITY_PORT_GROUP): Updated.
From-SVN: r94760
|
|
PR c++/19733
* class.c (add_method): Don't set TYPE_HAS_DESTRUCTOR.
(check_bases): Give warnings about a base class with a
non-virtual destructor, even if it is implicit.
(finish_struct_bits): Don't copy TYPE_HAS_DESTRUCTOR.
(maybe_warn_about_overly_private_class): Don't use
TYPE_HAS_DESTRUCTOR.
(finish_struct_methods): Don't set TYPE_HAS_DESTRUCTOR.
(check_for_override): Give it external linkage.
(add_implicitly_declared_members): Generate destructors lazily.
(check_field_decls): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, not
TYPE_HAS_DESTRUCTOR.
(check_bases_and_members): Call check_methods before
check_field_decls.
(check_bases_and_members): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, not
TYPE_HAS_DESTRUCTOR.
(finish_struct_1): Do not use TYPE_HAS_DESTRUCTOR.
* cp-tree.def (PSEUDO_DTOR_EXPR): Document.
* cp-tree.h (TYPE_HAS_DESTRUCTOR): Remove.
(lang_type_class): Add lazy_destructor.
(CLASSTYPE_LAZY_DESTRUCTOR): New macro.
(CLASSTYPE_DESTRUCTORS): Robustify.
(TYPE_HAS_DESTRUCTOR): Remove.
(check_for_override): Declare.
(build_vbase_delete): Remove.
* cvt.c (convert_to_void): Issue errors about pseudo-destructor
expressions.
* decl.c (cxx_maybe_build_cleanup): Remove dead code.
* except.c (dtor_nothrow): Lazily create destructors if necessary.
(build_throw): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR.
* init.c (build_delete): Lazily create destructors, if necessary.
(build_vbase_delete): Remove.
* method.c (locate_dtor): Simplify.
(implicitly_declare_fn): Add support for destructors.
* parser.c (cp_parser_lookup_name): Lazily create destructors, if
necessary.
* pt.c (check_explicit_specialization): Don't use
TYPE_HAS_DESTRUCTOR.
(instantiate_class_template): Likewise.
* ptree.c (cxx_print_type): Don't print TYPE_HAS_DESTRUCTOR.
* rtti.c (emit_support_tinfos): Robustify.
* search.c (lookup_fnfields_1): Lazily create destructors.
* typeck.c (build_class_member_access_expr): Remove
PSEUDO_DTOR_EXPR handling.
(lookup_destructor): Likewise.
PR c++/19733
* g++.dg/parse/crash23.C: New test.
* g++.dg/warn/Weff1.C: New test.
From-SVN: r94759
|
|
From-SVN: r94757
|
|
PR target/19799
* gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c: XFAIL on hppa*64*-*.
From-SVN: r94756
|
|
* files.c (pchf_adder): Remove.
(struct pchf_adder_info): Likewise.
(_cpp_save_file_entries): Write out all files so that #import works.
From-SVN: r94755
|
|
From-SVN: r94754
|
|
From-SVN: r94752
|
|
* configure: Rebuilt.
* configure.ac: Reduce number of calls to AC_CHECK_FUNCS and
AC_CHECK_HEADERS.
From-SVN: r94748
|
|
2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
* src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
From-SVN: r94747
|
|
what htab_find_slot() is expecting.
2005-02-08 Marcin Dalecki <martin@dalecki.de>
* expr.c (add_type_assertion): Use the proper enumeration type,
since this is what htab_find_slot() is expecting.
From-SVN: r94743
|
|
* java/lang/natRuntime.cc (insertSystemProperties): Set
sun.boot.class.path earlier.
From-SVN: r94740
|
|
From-SVN: r94739
|
|
gcc.c-torture/execute/20001130-1.c compilation, -O0)
PR target/19806
* config/cris/cris.c (in_code): New variable.
(cris_output_addr_const): Now a static function, a wrapper for
output_addr_const.
(cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
case from old cris_output_addr_const.
(cris_asm_output_label_ref): Similar for LABEL_REF.
(cris_output_addr_const_extra): Similar for UNSPEC.
* config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
(ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
* config/cris/cris-protos.h (cris_output_addr_const): Remove
declaration.
(cris_asm_output_symbol_ref, cris_output_addr_const_extra)
(cris_asm_output_label_ref): Declare.
From-SVN: r94738
|
|
2005-02-08 Paolo Bonzini <bonzini@gnu.org>
PR preprocessor/19801
* doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
filenames that changed when libcpp was moved to the toplevel.
From-SVN: r94737
|
|
* cxx-pretty-print.c, cxx-pretty-print.h, decl.h: Update
copyright.
From-SVN: r94736
|
|
fortran/
* expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
EXPR_SUBSTRING.
(gfc_is_constant_expr): Check 'ref' to determine if substring
reference is constant.
(gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
(check_init_expr, check_restricted): Check 'ref' instead of 'op1'
and 'op2'.
* module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.
testsuite/
* gfortran.dg/substr_1.f90: New test.
From-SVN: r94735
|
|
variables.
* parser.c (cp_lexer_start_debugging): Avoid arithmetic operations
on boolean variables.
(cp_lexer_stop_debugging): Likewise.
From-SVN: r94731
|
|
extensions of BImode operands.
* simplify-rtx.c (simplify_relational_operation_1): Avoid creating
zero extensions of BImode operands. Call lowpart_subreg instead
of gen_lowpart_common and gen_lowpart_SUBREG.
From-SVN: r94730
|
|
From-SVN: r94725
|
|
PR ada/19489
* libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
* configure.ac: Set cc_for_cross_gnattools.
* configure: Regenerate.
From-SVN: r94720
|