Commit Graph

59475 Commits

Author SHA1 Message Date
Tobias Schlüter
e063a0486f re PR fortran/15963 (Error when comparing characters in restricted expression)
fortran/
PR fortran/15963
* expr.c (check_intrinsic_op): Allow comparison of characters.
Make logic easier.

testsuite/
PR fortran/15963
* gfortran.fortran-torture/execute/initialization_1.f90: New test.

From-SVN: r83859
2004-06-29 19:01:35 +02:00
Richard Henderson
97e73bd250 tree-sra.c: Rewrite from scratch.
* tree-sra.c: Rewrite from scratch.  Handle nested aggregates.
        * gcc.dg/tree-ssa/20040430-1.c: Expect zero if's.

From-SVN: r83858
2004-06-29 09:25:28 -07:00
Andrew Haley
ba60e4754a except.c (expand_start_java_handler): Push a new binding level.
2004-06-29  Andrew Haley  <aph@redhat.com>

        * except.c (expand_start_java_handler): Push a new binding level.
        Don't build a TRY_CATCH_EXPR now, we'll do it later.  Call
        register_exception_range() to register where we'll do it.
        (expand_end_java_handler): Remove old bogus code.  Replace with
        new logic that simply builds TRY_CATCH_EXPRs and inserts them at
        the top of the expression we're curently building.
        (maybe_end_try): Delete.
        * decl.c (binding_level.exception_range): New field.
        (clear_binding_level): Add field exception_range.  Reformat.
        (poplevel): Call expand_end_java_handler().
        (poplevel): Call java_add_stmt only if functionbody is false.
        (maybe_poplevels): Don't call maybe_end_try() from here.
        (end_java_method): Clear no longer used trees in function decl.
        (register_exception_range): New function.
        * java-tree.h (register_exception_range, struct eh_range): Declare.

From-SVN: r83857
2004-06-29 16:18:46 +00:00
Nathan Sidwell
9f6eb0f4db vec.h (VEC_T_safe_push, [...]): Tweak for when size_t is bigger than int.
* vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for when
	size_t is bigger than int.

From-SVN: r83855
2004-06-29 15:56:17 +00:00
Paul Brook
46e995e0e4 target-def.h (TARGET_CXX_GET_COOKIE_SIZE, [...]): Define.
gcc/
	* target-def.h (TARGET_CXX_GET_COOKIE_SIZE,
	TARGET_CXX_COOKIE_HAS_SIZE): Define.
	(TARGET_CXX): Use them.
	* target.h (struct gcc_target): Add cxx.get_cookie_size and
	cxx.cookie_has_size.
	* targhooks.c (default_cxx_get_cookie_size): New fucntion.
	* targhooks.h (default_cxx_get_cookie_size): Add prototype.
	* config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE,
	TARGET_CXX_COOKIE_HAS_SIZE): Define.
	(arm_get_cookie_size, arm_cookie_has_size): New functions.
	* Make-lang.in (cp/init.o): Add dependency on $(TARGET_H).
	* doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and
	TARGET_CXX_COOKIE_HAS_SIZE.
gcc/cp/
	* init.c: Include target.h.
	(get_cookie_size): Remove and replace with target hook.
	Update callers.
	(build_new_1): Store the element size in the cookie.
libstdc++-v3/
	* libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
	element size in the cookie.
testsuite/
	* g++.old-deja/g++.abi/arraynew.C: Handle ARM EABI cookies.
	* g++.old-deja/g++.abi/cxa_vec.C: Allocate larger cookies for AEABI.

From-SVN: r83854
2004-06-29 14:50:35 +00:00
Danny Smith
50a2de961f * lrealpath.c (lrealpath): Add _WIN32 support.
From-SVN: r83853
2004-06-29 11:37:20 +00:00
Nathan Sidwell
fe88415f1b re PR c++/16260 (ICE in template function)
cp:
        PR c++/16260
        * parser.c (cp_parser_template_declaration_after_export): Disable
        access checks here ...
        (cp_parser_class_specifier): ... not here.
testsuite:
        PR c++/16260
        * g++.dg/parse/crash15.C: New.

From-SVN: r83851
2004-06-29 11:10:11 +00:00
Nick Clifton
962fe3950f configure.ac (AC_CHECK_HEADERS): Add dirent.h configure: Regenerate.
configure.ac (AC_CHECK_HEADERS): Add dirent.h
configure: Regenerate.
mf-hooks2.c: Surround uses of dirent.h with #ifdef HAVE_DIRENT_H.
  Remove spurious inclusion of <strings.h>.

From-SVN: r83850
2004-06-29 10:27:15 +00:00
J"orn Rennecke
313329e13b cfglayout.c (fixup_reorder_chain): Don't do anything for e_fall->dest == EXIT_BLOCK_PTR.
* cfglayout.c (fixup_reorder_chain): Don't do anything for
	e_fall->dest == EXIT_BLOCK_PTR.

From-SVN: r83849
2004-06-29 11:19:42 +01:00
Nick Clifton
35a1e17e48 (pthread_join): Only apply the weak pragma if the function actually exists.
From-SVN: r83847
2004-06-29 09:53:50 +00:00
Richard Henderson
1eaba2f208 tree-cfg.c (verify_stmt): Add last_in_block parameter.
* tree-cfg.c (verify_stmt): Add last_in_block parameter.  Verify
        that eh stmts can throw.
        (verify_stmts): Update verify_stmt call.
        (tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New.
        * tree-eh.c (remove_stmt_from_eh_region): New.
        (lower_eh_constructs): Fix throw_stmt_table delete routine.
        (tree_could_trap_p): Match may_trap_p.
        (maybe_clean_eh_stmt): New.
        * tree-flow.h: Update decls.
        * tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts.
        (substitute_and_fold): Clean eh edges.
        * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle
        empty basic blocks.
        * tree-ssa-dom.c (need_eh_cleanup): New.
        (tree_ssa_dominator_optimize): Allocate it.  Cleanup eh edges.
        (optimize_stmt): Cleanup eh stmts; set need_eh_cleanup.

From-SVN: r83843
2004-06-28 23:59:35 -07:00
Alan Modra
afc066ef35 function.c (assign_parms): Don't abort with zero size stack parm failing the PARM_BOUNDARY check.
* function.c (assign_parms): Don't abort with zero size stack
	parm failing the PARM_BOUNDARY check.

From-SVN: r83840
2004-06-29 13:24:07 +09:30
Andrew Pinski
e440ec5747 pr14963.c: Remove the dg-warning as it is dected by the error already.
2004-06-28  Andrew Pinski  <apinski@apple.com>

        * gcc.dg/pr14963.c: Remove the dg-warning as it is dected
        by the error already.

From-SVN: r83839
2004-06-28 20:18:20 -07:00
Bryce McKinlay
b54937190e jacks.xfail: Remove 8.1.3-superclass-6.
* testsuite/libjava.jacks/jacks.xfail: Remove
	8.1.3-superclass-6.

From-SVN: r83838
2004-06-29 03:20:14 +01:00
Diego Novillo
ff2ad0f77f common.opt (ftree-fre): New flag.
* common.opt (ftree-fre): New flag.
	* flags.h (flag_tree_fre): Declare.
	* opts.c (decode_options): Set.
	* timevar.def (TV_TREE_FRE): Define.
	* tree-flow-inline.h (may_propagate_copy): Re-arrange for
	readability.  Handle destinations that are not SSA_NAMEs.
	* tree-flow.h (struct ptr_info_def): Move from tree.h
	(cprop_into_stmt, cprop_into_successor_phis): Remove.
	(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add
	vuse_optype parameter.
	* tree-pass.h (pass_fre): Declare.
	* tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c
	(cprop_into_stmt): Likewise.
	(cprop_into_successor_phis): Likewise.
	* tree-ssa-dom.c (eliminate_redundant_computations): Fix
	argument ordering in call to may_propagate_copy.
	* tree-ssa-pre.c (is_undefined_value): Assume hard registers
	to be always defined.
	(add_to_sets): New local function.
	(create_value_expr_from): New local function.
	(compute_avail): Call them.
	(eliminate): Don't ignore statements with virtual operands.
	(init_pre): New local function.
	(fini_pre): New local function.
	(execute_pre): Call them.
	Add argument DO_FRE.  Don't do insertion if DO_FRE is true.
	(do_pre): New function.
	(do_fre): New function.
	(gate_fre): New function.
	(pass_fre): Declare.
	* tree-ssa.c (init_tree_ssa): Don't call vn_init.
	(delete_tree_ssa): Don't call vn_delete.
	* tree-vn.c (val_expr_pair_d): Add documentation.
	(vn_compute): Add VUSES argument to incorporate in computing
	hash values.  Update all callers.
	(expressions_equal_p): Call operand_equal_p with
	OEP_PURE_SAME.
	(vn_add): Add VUSES argument.  Update all callers.
	(vn_lookup): Likewise.
	(vn_lookup_or_add): Likewise.
	* doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre.

From-SVN: r83837
2004-06-28 21:53:04 -04:00
Jerry Quinn
7b63e340d2 Expression.java: New file.
2004-06-28  Jerry Quinn  <jlquinn@optonline.net>

	* java/beans/Expression.java: New file.
	* java/beans/Statement.java: New file.
	* Makefile.am: Added new files.
	* Makefile.in: Re-generate.

From-SVN: r83836
2004-06-29 01:39:37 +00:00
GCC Administrator
b1fe2e047c Daily bump.
From-SVN: r83834
2004-06-29 00:16:15 +00:00
Bryce McKinlay
a0cc19cb18 * jcf-write.c (get_classfile_modifiers): Formatting fixes.
From-SVN: r83831
2004-06-29 00:48:33 +01:00
Steven Bosscher
5ad6fca5c3 m32r.c (m32r_sched_odd_word_p, [...]): Remove.
* config/m32r/m32r.c (m32r_sched_odd_word_p, m32r_adjust_cost,
	m32r_sched_init, m32r_sched_reorder, m32r_variable_issue): Remove.
	(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
	TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Don't define.
	* config/m32r/m32r.md: Rewrite the pipeline description as a DFA.

From-SVN: r83829
2004-06-28 22:39:21 +00:00
Richard Henderson
497be9785f tree.def (REALPART_EXPR, [...]): Change class to 'r'.
* tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'.
        * fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR,
        IMAGPART_EXPR.
        * tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and
        IMAGPART_EXPR explicitly.
        * tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR
        and IMAGPART_EXPR specially.
        * tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'.

From-SVN: r83825
2004-06-28 15:26:24 -07:00
Joern Rennecke
4aaf65cb63 Typo fix.
From-SVN: r83819
2004-06-28 23:14:48 +01:00
J"orn Rennecke
bf09b5123a * config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs.
From-SVN: r83818
2004-06-28 23:06:17 +01:00
Joseph Myers
f51af25f33 builtins.def (execl, [...]): Change to DEF_EXT_LIB_BUILTIN.
* builtins.def (execl, execlp, execle, execv, execvp, execve,
	fork): Change to DEF_EXT_LIB_BUILTIN.

From-SVN: r83817
2004-06-28 22:50:51 +01:00
Richard Kenner
909f21b39e decl.c: Remove calls to add_decl_expr...
* decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
	and rest_of_type_compilation; add arg to create_*_decl.
 	(annotate_decl_with_node): Deleted.
	(gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
	* gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
	(get_current_block_context, gnat_pushdecl): New declarations.
	(gnat_init_stmt_group): Likewise.
	(create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
	* misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
	(LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
	(gnat_init): Call gnat_init_stmt_group.
	* trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
	(gnu_pending_elaboration_list): Deleted.
	(mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
	(gigi): Rearrange initialization calls and move some to last above.
	(gnat_to_gnu): If statement and not in procedure, go into elab proc.
	Delete calls to add_decl_expr; add arg to create_*_decl.
	(gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
	(gnat_to_gnu, case N_Subprogram_Body): Move some code to
	begin_subprog_body and call it.
	Don't push and pop ggc context.
	(gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
	(add_stmt): Remove handling of DECL_EXPR from here.
	If not in function, mark visited.
	(add_decl_expr): Put global at top level.
	Check for cases of DECL_INITIAL we have to handle here.
	(process_type): Add extra arg to create_type_decl.
	(build_unit_elab): Rework to just gimplify.
	* utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
	(block_has_vars, mark_visited, add_pending_elaborations): Likewise.
	(get_pending_elaborations, pending_elaborations_p): Likewise.
	(push_pending_elaborations, pop_pending_elaborations): Likewise.
	(get_elaboration_location, insert_elaboration_list): Likewise.
	(gnat_binding_level): Renamed from ada_binding_level.
	(init_gnat_to_gnu): Don't clear pending_elaborations.
	(global_bindings_p): Treat as global if no current_binding_level.
	(set_current_block_context): New function.
	(gnat_pushdecl): Renamed from pushdecl; major rework.
	All callers changed.
	(create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
	(finish_record_type): Call call pushdecl for stub decl.
	(function_nesting_depth): Deleted.
	(begin_subprog_body): Delete obsolete code.
	* utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.

From-SVN: r83816
2004-06-28 17:37:16 -04:00
Roger Sayle
0b55e93214 expmed.c (expand_smod_pow2): New function to expand signed remainder by a constant power of 2, such as "x % 16".
* expmed.c (expand_smod_pow2): New function to expand signed
	remainder by a constant power of 2, such as "x % 16".
	(expand_divmod): Call new expand_smod_pow2 when appropriate.
	Minor corrections to comments, e.g. wrapping long lines.

From-SVN: r83815
2004-06-28 20:49:37 +00:00
Andrew Pinski
3b50d22e79 ptrmem4.C: Change to compile only test.
2004-06-28  Andrew Pinski  <apinski@apple.com>

        * g++.dg/opt/ptrmem4.C: Change to compile only test.

From-SVN: r83808
2004-06-28 12:20:08 -07:00
Richard Kenner
bce3da3294 Check-in change to this file that got left out of last check-in
From-SVN: r83807
2004-06-28 15:06:25 -04:00
Paolo Carlini
ff89096a6e cpp_type_traits.h: Move the additions to namespace __gnu_internal outside of namespace std...
2004-06-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/cpp_type_traits.h: Move the additions to
	namespace __gnu_internal outside of namespace std; trivial
	formatting fixes.

From-SVN: r83806
2004-06-28 19:04:03 +00:00
Benjamin Kosnik
4723805a61 safe_base.h (__gnu_debug::_Safe_sequence_base): Revert -Weffc++ changes that defined copy ctory and or assignment operator.
2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
	Revert -Weffc++ changes that defined copy ctory and or assignment
	operator.
	* libsupc++/tinfo.cc (__upcast_result): Same.

From-SVN: r83804
2004-06-28 18:31:18 +00:00
Ulrich Weigand
5afdc07a74 * Makefile.in (vec.o): Fix dependencies.
From-SVN: r83803
2004-06-28 18:27:02 +00:00
Andreas Tobler
8ead23b367 Makefile.in: Fix parallel make dependency problem on vec.o.
2004-06-28  Andreas Tobler <a.tobler@schweiz.ch>

	* Makefile.in: Fix parallel make dependency problem on vec.o.

From-SVN: r83802
2004-06-28 20:11:47 +02:00
Zack Weinberg
0cf614012f cp-demangle.h: Declare cplus_demangle_operators...
libiberty:
	* cp-demangle.h: Declare cplus_demangle_operators,
	cplus_demangle_builtin_types, cplus_demangle_mangled_name, and
	cplus_demangle_type as static if IN_GLIBCPP_V3.
libobjc:
	* encoding.c: Rename target_flags with a #define to avoid
	conflict with a prior declaration.

From-SVN: r83800
2004-06-28 17:52:45 +00:00
Ian Lance Taylor
5cd2906234 * testsuite/demangle-expected: Add test case.
From-SVN: r83799
2004-06-28 17:36:27 +00:00
Dhananjay Deshpande
6cdd27216a re PR target/14041 (H8300-elf unaligned word/longword access of zero initialized variables)
PR target/14041
        * config/h8300/h8300.h (ASM_OUTPUT_ALIGNED_BSS): Define.

       PR target/14041
        * gcc.dg/h8300-bss-align-1.c : New.

From-SVN: r83797
2004-06-28 10:23:02 -06:00
Nathan Sidwell
086e309519 cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK, [...]): Use appropriate TREE_CHECK macro.:qOR_FUNCTION_DECL_CHECK,
* cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK,
        VAR_FUNCTION_OR_PARM_DECL_CHECK, RECORD_OR_UNION_TYPE_CHECK,
        BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK): Use appropriate
        TREE_CHECK macro.:qOR_FUNCTION_DECL_CHECK,
        * tree.h (tree_check_failed): Make varadic.
        (tree_not_check_failed): New prototype.
        (tree_check2_failed, tree_check3_failed,
        tree_check4_failed, tree_check5_failed): Remove.
        (TREE_CHECK, TREE_CHECK2, TREE_CHECK3, TREE_CHECK4,
        TREE_CHECK5): Adjust.
        (TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4,
        TREE_NOT_CHECK5): New.
        (TREE_VEC_ELT_CHECK, PHI_NODE_ELT_CHECK, TREE_OPERAND_CHECK_CODE,
        TREE_RTL_OPERAND_CHECK): Adjust.
        * tree.c (tree_check_failed): Make varadic.
        (tree_not_check_failed): New.
        (tree_check2_failed, tree_check3_failed,
        tree_check4_failed, tree_check5_failed): Remove.
cp:
        * cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK,
        VAR_FUNCTION_OR_PARM_DECL_CHECK, RECORD_OR_UNION_TYPE_CHECK,
        BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK): Use appropriate
        TREE_CHECK macro.

From-SVN: r83796
2004-06-28 16:10:55 +00:00
Ian Lance Taylor
00a5aa9c30 re PR c++/16240 (g++ generates incorrect mangled name)
PR other/16240
	* cp-demangle.c (d_expr_primary): Check for a failure return from
	cplus_demangle_type.

From-SVN: r83791
2004-06-28 15:23:33 +00:00
Nathan Sidwell
3e1f1ba5dc cp-tree.h (struct deferred_access): Move to ...
* cp-tree.h (struct deferred_access): Move to ...
	* semantics.c (struct deferred_access): ... here. Adjust.
	(deferred_access_stack): Make a VEC(deferred_access),
	(deferred_access_free_list): Remove.
	(deferred_access_no_check): New.
	(push_deferring_access_checks, resume_deferring_access_checks,
	stop_deferring_access_checks, pop_deferring_access_checks,
	get_deferred_access_checks, pop_to_parent_deferring_access_checks,
	perform_deferred_access_checks, perform_or_defer_access_check): Adjust.

From-SVN: r83790
2004-06-28 15:06:06 +00:00
Arnaud Charlet
246d2ceb32 [multiple changes]
2004-06-28  Robert Dewar  <dewar@gnat.com>

	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
	mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
	mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
	mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
	a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting

	* exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
	deal with problem of inefficient slices on machines with strict
	alignment, when the slice is a component of a composite.

	* checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
	machines, we need the check there as well.

2004-06-28  Ed Schonberg  <schonberg@gnat.com>

	* exp_ch5.adb (Expand_Assign_Array): Use correct condition to
	determine safe copying direction for overlapping slice assignments
	when component is controlled.

	* sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
	formal derived type in the actual for a formal package are visible in
	the enclosing instance.

2004-06-28  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15600
	* sem_util.adb (Trace_Components): Diagnose properly an illegal
	circularity involving a private type whose completion includes a
	self-referential component.
	(Enter_Name): Use Is_Inherited_Operation to distinguish a source
	renaming or an instantiation from an implicit derived operation.

2004-06-28  Pascal Obry  <obry@gnat.com>

	* mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
	DLL.
	(Library_File_Name_For): Idem.

2004-06-28  Matthew Gingell  <gingell@gnat.com>

	* g-traceb.ads: Add explanatory note on the format of addresses
	expected by addr2line.

2004-06-28  Jerome Guitton  <guitton@act-europe.fr>

	* Makefile.in: Force debugging information on s-tasdeb.adb,
	a-except.adb and s-assert.adb needed by the debugger.

2004-06-28  Vincent Celier  <celier@gnat.com>

	* make.adb (Collect_Arguments_And_Compile): Change Flag1 to
	Need_To_Build_Lib.
	(Gnatmake): Ditto.

	* mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib

	* prj.adb: Minor reformatting
	(Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.

	* prj.ads: Comment updates
	Minor reformatting
	(Project_Data): Change Flag1 to Need_To_Build_Lib.
	Remove Flag2: not used.

	* prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
	declaration.

	* gnat_ugn.texi: Put a "null;" declaration in one project file example

	* gnat_rm.texi: Document Empty declarations "null;".

	* makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
	front of the linker options.
	(Link_Foreign): Put the global archives and the libraries in front of
	the linker options.

2004-06-28  Javier Miranda  <miranda@gnat.com>

	* rtsfind.adb: (Get_Unit_Name): Fix typo in comment
	(RTU_Loaded): Code cleanup
	(Set_RTU_Loaded): New procedure to register as *loaded* explicitly
	withed predefined units.

	* rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
	explicitly withed predefined units.
	Fix typo in comment

	* sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
	explicitly withed predefined units.

From-SVN: r83789
2004-06-28 16:37:05 +02:00
Ulrich Weigand
45da19e38e combine.c (can_combine_p): Do not prevent building insns that use and clobber the same fixed hard register.
* combine.c (can_combine_p): Do not prevent building insns that use
	and clobber the same fixed hard register.
	(reg_dead_at_p): Likewise.

From-SVN: r83785
2004-06-28 13:11:44 +00:00
Richard Kenner
03797ac58c tree-sra.c (is_sra_candidate_ref): Remove second arg; all callers changed.
* tree-sra.c (is_sra_candidate_ref): Remove second arg; all callers
	changed.
	(is_sra_candidate_complex_ref): New function.
	(scalarize_modify_expr): Call it and check for LHS also.

From-SVN: r83784
2004-06-28 08:12:51 -04:00
Richard Kenner
5f2dcbe1ff tree-pretty-print.c (dump_function_declaration): New.
* tree-pretty-print.c (dump_function_declaration): New.
	(dump_generic_node, case FUNCTION_TYPE): Call it.
	(dump_generic_node, case RECORD_TYPE): Don't output dup semicolon.
	(dump_generic_node, case DECL_EXPR): New case.
	(dump_generic_node, case PLACEHOLDER_EXPR): Handle.
	(print_declaration): Handle type and function declarations.

From-SVN: r83782
2004-06-28 08:08:20 -04:00
Richard Kenner
70883f7262 tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE.
* tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE.
	(convert_nonlocal_reference, convert_local_reference): Properly
	convert nest of handled component references.

From-SVN: r83781
2004-06-28 08:01:30 -04:00
Richard Kenner
d7fa922736 Add ChangeLog entry not commited due to typo in CVS command
From-SVN: r83780
2004-06-28 07:55:48 -04:00
Paolo Carlini
2d91a076cc localename.cc (locale::_Impl::_Impl): Slightly improve the algorithm used to name the categories.
2004-06-28  Paolo Carlini  <pcarlini@suse.de>

	* src/localename.cc (locale::_Impl::_Impl): Slightly improve
	the algorithm used to name the categories.

From-SVN: r83778
2004-06-28 11:18:03 +00:00
Paolo Bonzini
e4cb0c0441 Makefile.am: Give a .gch extension to the PCH files, not only to the directory.
2004-06-28  Paolo Bonzini  <bonzini@gnu.org>

	* include/Makefile.am: Give a .gch extension to
	the PCH files, not only to the directory.
	* include/Makefile.in: Regenerate.

From-SVN: r83777
2004-06-28 11:14:44 +00:00
Nathan Sidwell
644d195145 re PR c++/16174 (deducing top-level consts)
cp:
	PR C++/16174
	* call.c (build_temp): Declare.
	(check_constructor_callable): New.
	(reference_binding): Only set CHECK_COPY_CONSTRUCTOR if not for
	CONSTRUCTOR_CALLABLE.
	(convert_like_real, initialize_reference): Use
	check_constructor_callable.
	* cp-tree.h (LOOKUP_CONSTRUCTOR_CALLABLE): New.
	(LOOKUP_*): Renumber.
testsuite:
	* PR C++/16174
	* g++.dg/template/ctor4.C: New.

From-SVN: r83775
2004-06-28 11:07:23 +00:00
Nathan Sidwell
a301e965cc fix typo
From-SVN: r83774
2004-06-28 10:54:57 +00:00
Nathan Sidwell
0f2a66c9c7 friend.c (add_friend): Only perform access checks when context is a class.
* friend.c (add_friend): Only perform access checks when context
	is a class.
	* lex.c (cxx_make_type): Only create a binfo for aggregate types.
	* parser.c (cp_parser_class_specifier): Disable access checks here
	when parsing the body of a templated class.
	* semantics.c (perform_or_defer_access_checks): Reorder to allow
	NULL binfos when not checking access.

From-SVN: r83771
2004-06-28 10:41:19 +00:00
Nathan Sidwell
58c42dc283 Use vector API for vbase list.
* cp-tree.h: Include vec.h
	(DEF_VEC_P (tree)): New type.
	(struct lang_type_class): Change vbase's member type.
	(binfo_for_vbase): Declare.
	* class.c (determine_primary_base, base_derived_from,
	update_vtable_entry_for_fn, walk_subobject_offsets, end_of_class,
	warn_about_ambiguous_bases, dfs_accumulate_vtbl_inits,
	build_vtbl_initializer): Adjust.
	* decl.c (xref_basetypes): Adjust, accumulate upper bound of
	vbases.
	* init.c (sort_mem_initializers, expand_member_init,
	push_base_cleanups): Adjust.
	* method.c (do_build_copy_constructor): Adjust.
	* search.c (get_pure_virtuals, copied_binfo, original_binfo): Adjust.
	(binfo_for_vbase): New.
	* tree.c (copy_base_binfos): Adjust.

From-SVN: r83770
2004-06-28 10:34:42 +00:00
Nathan Sidwell
ada5515102 vec.h, vec.c: New, type safe vector API.
* vec.h, vec.c: New, type safe vector API.
	* Makefile.in (OBJS-common): Add vec.o.
	(vec.o): New target.
	(gengtype-lex.o): Depend on vec.h.

From-SVN: r83769
2004-06-28 10:30:21 +00:00