PR c++/17042
* decl.c (declare_global_var): Use the return value from pushdecl.
PR c++/14667
* parser.c (cp_parser_simple_declaration): Do not diagnose invalid
type names if we have already found a valid type.
(cp_parser_member_declaration): Likewise.
PR c++/17852
* parser.c (cp_parser_member_specification_opt): Handle
CPP_PRAGMA.
PR c++/17042
* g++.dg/init/dso_handle1.C: New test.
PR c++/17852
* g++.dg/parse/pragma1.C: New test.
PR c++/14667
* g++.dg/parse/typedef6.C: New test.
From-SVN: r89118
other/16820
* gcc.dg/compat/struct-layout-1.h: Don't include complex.h nor
stdint.h.
* gcc.dg/compat/struct-layout-1_x1.h (TX): Cast to long instead of
uintptr_t.
From-SVN: r89105
2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/16301
* name-lookup.c (parse_using_directive): If we have a
error_mark_node, do not set the decl namespace associations
on it.
2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/16301
* g++.dg/lookup/strong-using-4.C: New test.
From-SVN: r89093
2004-08-14 Paolo Bonzini <bonzini@gnu.org>
PR other/17991
* Makefile.in (ALLOBJ, TESTOBJ, FIXOBJ): Add fixopts.o.
Update copyright year.
* fixfixes.c (main): Call initialize_opts from fixopts.c.
* fixincl.c (initialize): Call initialize_opts from fixopts.c,
do not include code for parsing options (environment vars).
(fix_with_system): Use a search path for applyfix, so that you
can run the test suite with two-process fixincludes.
* fixopts.c: New file.
* configure.ac: Add --enable-twoprocess. Export ac_exeext
to config.h. Default to --enable-twoprocess for MinGW32.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r89087
PR c++/17976
* decl.c (cp_finish_decl): Do not call expand_static_init more
than once for a single variable.
PR c++/17976
* g++.dg/init/dtor3.C: New test.
From-SVN: r89081
2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
Revert:
2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/17967
Revert:
* tree-cfg.c (remove_usless_stmts_cond): Fold statement.
(remove_useless_stmts_1): Fold trees we know how to fold.
From-SVN: r89080
PR c/17023
* c-decl.c (store_parm_decls_oldstyle): Care for parameter type
as error_mark_node.
* c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
instaed of current_function_decl non-null.
From-SVN: r89063
* pointer-set.c: New file, special-purpose hash table.
* pointer-set.h: New file.
* tree.h (struct pointer_set_t): Declare as opaque type.
(tree_walk): Last argument is pointer_set_t* now.
* tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
(walk_type_fields):
(walk_tree): Convert from htab_t to pointer_set_t for keeping
track of which nodes have already been visited.
(walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
* cgraphunit.c (cgraph_create_edges): Likewise.
(cgraph_characterize_statics_local): Likewise.
* tree-dfa.c (collect_dfa_stats): Likewise.
* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
pointer_set_t* now.
* langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
* langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
of walk_subtrees is pointer_set_t* now.
* Makefile.in (OBJS-common): add pointer-set.o
(tree-inline.o): Depends on pointer-set.h
(tree-dfa.o): Likewise
(cgraphunit.o): Likewise
* cp/Make-lang.in (pt.o): depends on pointer-set.h
* cp/cp-tree.h (cp_walk_subtrees): Last argument is pointer_set_t* now.
* cp/pt.c (struct pair_fn_data): Use pointer_set_t, not htab_t
(for_each_template_parm): Convert from htab_t to pointer_set_t.
* cp/tree.c (cp_walk_subtrees): Last argument is pointer_set_t* now.
* java/lang.c (java_tree_inlining_walk_subtrees): Last arg is struct
pointer_set_t* now.
From-SVN: r89062
2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
* stmt.c (add_case_node): Make sure that we have integer
constant before calling tree_int_cst_compare.
From-SVN: r89058
2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/17967
Revert:
* tree-cfg.c (remove_usless_stmts_cond): Fold statement.
(remove_useless_stmts_1): Fold trees we know how to fold.
From-SVN: r89057
* reload.c (find_reloads): When reloading a PLUS with constant
operand, make sure the constant is pushed to the constant pool
if required.
* config/s390/s390.c (s390_secondary_input_reload_class): Remove
reload bug workaround.
(s390_expand_plus_operand): Likewise.
From-SVN: r89047
* tree-vectorizer.c (vect_generate_tmps_on_preheader):
(vect_update_ivs_after_vectorizer):
(vect_transform_for_unknown_loop_bound):
(tree_duplicate_loop_to_edge):
(allocate_new_names):
(rename_use_op):
(rename_def_op):
(rename_variables_in_bb):
(free_new_names):
(rename_variables_in_loop):
(copy_phi_nodes):
(update_phis_for_duplicate_loop):
(update_phi_nodes_for_guard):
(make_loop_iterate_ntimes):
(tree_duplicate_loop_to_edge_cfg):
(add_loop_guard):
(vect_analyze_loop_with_symbolic_num_of_iters):
(verify_loop_for_duplication):
(vect_gen_niters_for_prolog_loop):
(vect_update_niters_after_peeling):
(vect_update_inits_of_dr):
(vect_update_inits_of_drs):
(vect_build_loop_niters):
(vect_do_peeling_for_alignment): New functions.
(vect_transform_loop): Add unknown and known but indivisible loop
bound support; add peeling for unalignment support.
(vect_analyze_loop_form): Support symbolic number of iterations.
(vect_transform_loop_bound): New input parameter.
(vect_get_loop_niters): Change input parameter type.
(new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
(vectorizable_store): Allow unaligned access.
(vectorize_loops): Add rewrite_into_loop_closed_ssa.
(vect_analyze_data_refs_alignment): Allowed one unaligned
store.
* tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
to use tree.
(LOOP_VINFO_INT_NITERS): New macro.
(MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
(do_peeling_for_alignment):
(unaligned_drs): New members of _loop_vec_info.
(LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
From-SVN: r89040
2004-10-14 Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.c (vect_analyze_data_refs): Call
vect_get_base_and_bit_offset to get memory tag for array ref.
(vect_create_addr_base_for_vector_ref): Remove redundant checks.
From-SVN: r89038
2004-10-13 Andrew Haley <aph@redhat.com>
* interpret.cc (_Jv_InterpMethod::run): Initialize
_Jv_StartOfInterpreter.
(_Jv_StartOfInterpreter, _Jv_EndOfInterpreter): Functions removed.
(_Jv_StartOfInterpreter, _Jv_EndOfInterpreter): New variables.
* gnu/gcj/runtime/natStackTrace.cc (fillInStackTrace): Use
_Unwind_FindEnclosingFunction to discover whether PC is within the
interpreter.
From-SVN: r89037