* name-lookup.c (struct scope_binding): New.
(EMPTY_SCOPE_BINDING): New.
(lookup_using_namespace): Take a scope_binding instead of a
cxx_binding.
(qualified_lookup_using_namespace): Likewise.
(cxx_binding_clear): Delete.
(do_nonmember_using_decl): Use a scope_binding instead of a
cxx_binding.
(lookup_tag): Don't call select_decl.
(ambiguous_decl): Don't return anything (and change callers to match).
Take a scope_binding as the second parameter.
(lookup_namespace_name): Use a scope_binding instead of a
cxx_binding.
(unqualified_namespace_lookup): Likewise.
(lookup_qualified_name): Likewise.
(select_decl): Take a scope_binding instead of a cxx_binding.
Use macros rather than hand-coding tests for type-ness.
From-SVN: r81864
PR opt/14472
* tree-tailcall.c (process_assignment): Use STRIP_NOPS to
ignore type conversions that do not inhibit tail calling.
(find_tail_calls): Likewise.
From-SVN: r81855
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
so that it picks up more opportunities to eliminate ABS expressions
or turn them into negations.
* gcc.dg/tree-ssa/20040514-2.c: New test.
From-SVN: r81853
2004-05-14 Andrew Pinski <pinskia@physics.uc.edu>
PR optimization/14466
* tree-complex.c (make_temp): Remove.
(gimplify_val): Replace make_temp with make_rename_temp
and add NULL as the second argument.
(expand_complex_div_wide): Likewise.
* tree-dfa.c (make_rename_temp): New function.
* tree-flow.h (make_rename_temp): Declare.
* tree-sra.c (make_temp): Remove.
(lookup_scalar): Replace make_temp with make_rename_temp.
(create_scalar_copies): Likewise.
* tree-ssa-phiopt.c (conditional_replacement): When we
get non gimple create a temporary variable to hold the
casted expression.
2004-05-14 Andrew Pinski <pinskia@physics.uc.edu>
PR optimization/14466
* gcc.dg/tree-ssa/20040514-1.c: New test.
From-SVN: r81847
fortran:
* parse.c (gfc_statement_next_fixed): (Change from Andy's tree)
Detect bad continuation line in fixed form sources.
testsuite:
* gfortran.fortran-torture/compile/noncontinuation_1.f90: New
test.
From-SVN: r81845
2004-05-14 Robert Dewar <dewar@gnat.com>
* gnat_ugn.texi: Minor change to -gnatS documentation
* sprint.adb: Remove some instances of Assert (False) and for this
purpose replace them by output of a ??? string.
* checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
Assert (False).
* lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
flag processing. This was suppressing required dependencies in
No_Run_Time mode and is not needed since the binder does not generate
references for things in libgnat anyway.
* sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
warning.
2004-05-14 Thomas Quinot <quinot@act-europe.fr>
* gnat_ugn.texi: Document AIX-specific issue with initialization of
resolver library.
* exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
action for the case of an actual parameter in an init proc call.
2004-05-14 Ed Schonberg <schonberg@gnat.com>
* sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
subtype, check visible entities in base type.
* exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
actions if the object is a renaming.
* sem_ch12.adb (Same_Instantiated_Entity): Predicate for
Check_Formal_Package_Instance, to determine more precisely when the
formal and the actual denote the same entity.
2004-05-14 Javier Miranda <miranda@gnat.com>
* par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
* sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
corresponding to a private_with must be removed from visibility; it
will be made visible later, just before we analyze the private part of
the package.
(Check_Private_Child_Unit): Allow private_with clauses in public
siblings.
(Install_Siblings): Make visible the private entities of private-withed
siblings.
(Install_Withed_Unit): Do not install the private withed unit if we
are compiling a package declaration and the Private_With_OK flag was
not set by the caller. These declarations will be installed later,
just before we analyze the private part of the package.
* sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
during the evaluation of the expression that initializes the object,
decorate it with the expected type to avoid cascade errors.
Code cleanup.
* sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
subprogram we have to install the private_with clauses after its
specification has been analyzed (as documented in AI-262.TXT).
* sem_ch8.adb (Has_Private_With): New function. Determines if the
current compilation unit has a private with on a given entity.
(Find_Direct_Name): Detect the Beaujolais problem described in
AI-262.TXT
* sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
provides the functionality of the function Is_Ancestor that was
previously available in sem_ch10. It has been renamed to avoid
overloading.
* sprint.adb (Sprint_Node_Actual): Print limited_with clauses
2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* utils.c (build_vms_descriptor): Use SImode pointers.
2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
* gnat_ugn.texi: Revised chapter "GNAT and Libraries".
2004-05-14 GNAT Script <nobody@gnat.com>
* Make-lang.in: Makefile automatically updated
From-SVN: r81844
PR fortran/15205
* iresolve.c (gfc_resolve_nearest): Add new function.
* intrinsic.h: ... declare it here.
* intrinsic.c (add_functions): ... add it as resolving function
for NEAREST.
From-SVN: r81843
fortran:
PR fortran/14066
* match.c (gfc_match_do): Allow infinite loops with
label-do-stmt. Do not enforce space after comma.
testsuite:
PR fortran/14066
* gfortran.fortran-torture/compile/do_1.f90: New test.
Also fixed date on previous ChangeLog entries.
From-SVN: r81842
PR fortran/15149
* gfortran.fortran-torture/execute/random_init.f90: New test.
* libgfortan.h,intrinsics/random.c: Made random_seed visible.
* runtime/main.c(init): Call random_seed as part of MAIN init.
From-SVN: r81836
* tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
variables. Simplify slightly by using USE_OP/DEF_OP instead
of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
From-SVN: r81832
* tree.def (documentation): Remove mention of class 'b'.
(BLOCK): Now in class 'x'.
* c-common.c (verify_tree): Remove case 'b'.
* c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
* calls.c (calls_function_1): Control cannot get past the switch
when exp is a BLOCK.
* print-tree.c (print_node): Move code for class 'b' to the class
'c'/'x' switch, as case BLOCK.
* tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
(unsafe_for_reeval, substitute_placeholder_in_expr)
(stabilize_reference_1): Remove case 'b'.
* tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
of something being 'b' to tests for TREE_CODE of something being
BLOCK.
* tree-ssa-operands.c (get_expr_operands): Likewise.
ada:
* trans.c (gnat_stabilize_reference_1): Remove case 'b'.
From-SVN: r81831
2004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
* tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
idfs_cache at the end of the function.
From-SVN: r81815
* tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
rather than iterating through the blocks testing each bit in
livein to initialize the worklist.
(mark_def_sites): Remove useless checks of KILLS for virtual
operands.
From-SVN: r81811
* tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
new parameters for the statement and variable worklist as well
as a bitmap of interesting SSA_NAMEs. Walk over the statement
worklist recording interesting variables in the variable worklist
and bitmap. Handle casts between integral and boolean types.
(substitute_single_use_vars): Accept new parameters for the statement
and variable worklist. When a substitution is made add a new
entry to the statement worklist. Handle casts between integral
and boolean types.
(tree_ssa_forward_propagate_single_use_vars): Rework to pass
worklists to children. Iterate until the statement worklist
is empty.
* gcc.dg/tree-ssa/20040513-1.c: New test.
* gcc.dg/tree-ssa/20040513-2.c: New test.
From-SVN: r81803