* cp-tree.h (unemitted_tinfo_decls): Make a VEC(tree).
* decl2.c (cp_finish_file): Adjust tinfo decl emission loop.
* rtti.c (unemitted_tinfo_decls): Make a VEC(tree).
(init_rtti_processing): Initialize it to something realistic.
(get_tinfo_decl): Adjust pushing the new decl.
From-SVN: r87872
2004-09-22 P.J. Darcy <darcypj@us.ibm.com>
* config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
* config/s390/s390.c (s390_emit_tpf_eh_return): New function.
* config/s390/s390.h (TARGET_TPF): New macro.
* config/s390/s390.md ("eh_return"): New expander.
* config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c.
(LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
* config/s390/tpf.h (TARGET_TPF): Define to 1.
(STACK_POINTER_OFFSET): Increase to 448.
(TARGET_DEFAULT): Set -mtpf-trace on as default.
(TPF_LOC_DIFF_OFFSET): New macro.
(ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
encoding.
(__isPATrange): Add prototype.
(MD_FALLBACK_FRAME_STATE_FOR): Define.
* config/s390/tpf-eh.c: New file.
From-SVN: r87857
* fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
operands in an integer comparison.
* tree-cfg.c (find_taken_edge): Call fold() to determine
whether the predicate is known.
From-SVN: r87855
gcc/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
* configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
Create build and doc directories along with the language directories.
Don't create doc directory separately.
* configure: Regenerate.
* Makefile.in: Create all object and executables files built
with the build compiler in a build/ directory.
(genobjnames): Add missing build objects.
(STAGESTUFF): Don't stage the gen* programs.
(ggc-none.o): Define dependencies for the target compiler.
(build-print-rtl.o): Rename to build/print-rtl.o.
(build-errors.o): Rename to build/errors.o.
(build-varray.o): Rename to build/varray.o.
(maintainerclean): Delete the contents of the build directory.
($(genobjs): %.o): Explicitly use -o.
(build/insn-conditions.o): Delete specfic rule to use generic rule.
(build/gengtype-lex.o): Likewise.
(build/gengtype-yacc.o): Likewise.
(build/gcov-iov.o): Likewise.
gcc/java
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in: Revert the gcc-none.o change.
From-SVN: r87854
* vec.h (VEC_space): Return true if there _is_ space.
(VEC_reserve): Adjust.
* java/parse.y (patch_anonymous_class): VEC_space returns true if
there is space.
From-SVN: r87852
[gcc/cp/ChangeLog]
2004-09-21 Ziemowit Laski <zlaski@apple.com>
* cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Moved here from
cp-objcp-common.h.
(objcp_tsubst_copy_and_build): Reformat function signature.
* cp-objcp-common.h (objcp_tsubst_copy_and_build): Likewise.
(LANG_HOOKS_FOLD_OBJ_TYPE_REF): Moved to cp-lang.c.
From-SVN: r87846
* tree-ssa-dom.c (opt_stats): Move so that it lives just after
the opt_stats_d structure.
(vrp_data): Change from a varray into a hash table.
(vrp_hash_elt): New structure for elements in the vrp hash table.
(vrp_hash, vrp_eq):New functions for hashing and testing equality
in the vrp hash table.
(tree_ssa_dominator_optimize): Initialize VRP_DATA. Reorganize
initialization slightly to make it easier to read. No longer need
to grow/clear the varray. Instead empty and delete the hash table.
(dom_opt_finalize_block): Update due to change of VRP_DATA from
a varray to a hash table.
(simplify_cond_and_loop_avail_expr, record_range): Similarly.
From-SVN: r87845
* tree-ssa-ccp.c (get_default_value): If we have a constant
value recorded for an SSA_NAME, then use that constant as
the initial lattice value.
(substitute_and_fold): Transfer equivalences discovered into
SSA_NAME_EQUIV.
* tree.h (SSA_NAME_EQUIV): Add comments.
(SET_SSA_NAME_EQUIV): Similarly.
From-SVN: r87844
2004-09-21 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa.c (verify_def): Use print_generic_stmt,
not debug_generic_stmt.
(verify_use): Ditto.
(verify_phi_args): Ditto.
(verify_ssa): Ditto.
From-SVN: r87835
* parser.c (cp_lexer_peek_token, cp_lexer_consume_token):
Don't handle CPP_PRAGMA tokens specially.
(cp_lexer_handle_pragma): Use cp_lexer_consume_token. Don't
purge the token; do clear token->value after processing. Add
assertion at beginning that token->value is nonzero.
(cp_parser_statement, cp_parser_declaration_seq_opt): Handle
CPP_PRAGMA as a full statement or declaration in its own right.
From-SVN: r87822
* reg-notes.def (REG_DEP_TRUE): New entry, place first so it
gets value 0.
* print-rtl.c (print_rtx): Print the name of a REG_NOTE even
if it has value 0.
From-SVN: r87821
PR c++/7503
* tree.c (lvalue_p_1): Disallow MIN_EXPR and MAX_EXPR as lvalues
if either operand has side-effects.
* typeck.c (rationalize_conditional_expr): Assert that neither
operand of MIN_EXPR or MAX_EXPR has side-effects.
(build_modify_expr): Add support for MIN_EXPR and MAX_EXPR.
Check that the "lhs" is a valid lvalue, i.e. that neither operand
of a MIN_EXPR or MAX_EXPR has a side-effect.
* g++.dg/opt/pr7503-1.C: New testcase for COND_EXPR lvalues.
* g++.dg/opt/pr7503-2.C: New testcase for <? and >? lvalues.
* g++.dg/opt/pr7503-3.C: New testcase for invalid <? lvalue errors.
* g++.dg/opt/pr7503-4.C: New testcase for <?= and >?= assignments.
* g++.dg/opt/pr7503-5.C: New testcase for side-effects with <?=.
From-SVN: r87810
2004-09-21 Daniel Berlin <dberlin@dberlin.org>
* c-typeck.c (build_function_call): Give name of object
we are attempting to call in error message.
* c-objc-common.c (c_tree_printer): Call pp_expression,
not return false, for 'E' case.
From-SVN: r87809
2004-09-21 Olivier Hainque <hainque@act-europe.fr>
* decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
ensures proper handling of types with rep clauses, which might have
their TYPE_SIZE set already.
From-SVN: r87807
2004-09-21 Robert Dewar <dewar@gnat.com>
* decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
packed array types in both little- and big-endian cases. This change
ensures that we no longer count on the unused bits being initialized
for such types (and in particular ensures that equality testing will
only read the relevant bits).
Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
These changes mean that we no longer need to initialize small packed
arrays.
(gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
optimization to an LJM field as to its parent field.
* ada-tree.h:, trans.c, utils.c, utils2.c:
Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
From-SVN: r87806
2004-09-21 Steven G. Kargl <kargls@comcast.net>
* libgfortran.h: define gfc_alloca()
* intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
From-SVN: r87801
2004-09-21 Andreas Tobler <a.tobler@schweiz.ch>
* javax/security/auth/x500/X500Principal.java: Fix some merge glitches.
2004-09-21 Michael Koch <konqueror@gmx.de>
* javax/net/ssl/SSLServerSocket.java:
Removed comment about "Do not edit this file, it's generated.".
From-SVN: r87800
2004-09-21 Bud Davis <bdavis9659@comcast.net>
PR fortran/17286
* io/list_read.c (namelist_read): ignore spaces after
the '=' for namelist reads.
2004-09-21 Bud Davis <bdavis9659@comcast.net>
PR fortran/17286
* gfortran.dg/pr17286.f90: New test.
From-SVN: r87799
2004-09-21 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12882 (cont)
* acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
* configure: Regenerate.
* config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
_GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
trivial showmanyc for large files too.
From-SVN: r87797