2004-08-29 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
and 7.23.3.5), two if !_GLIBCXX_USE_C99.
* testsuite/22_locale/time_get/get_time/char/4.cc: New.
* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
From-SVN: r86712
* Makefile.in (OBJS-common): Add tree-ssa-propagate.o
(tree-ssa-propagate.o): New rule.
(GTFILES): Add tree-ssa-propagate.c.
* tree-flow.h (struct stmt_ann_d): Remove field
in_ccp_worklist.
* tree-ssa-propagate.c: New file.
* tree-ssa-propagate.h: New file.
* tree-ssa-ccp.c: Re-write to use the routines from
tree-ssa-propagate.c.
From-SVN: r86711
[gcc/ChangeLog]
2004-08-28 Ziemowit Laski <zlaski@apple.com>
* c-common.h: Update comments about ObjC/ObjC++ entry points.
(objc_is_reserved_word): New prototype.
(get_current_scope, objc_mark_locals_volatile): Move prototypes to
separate section; these are call-backs.
* c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
ObjC/ObjC++ "@" keywords.
* c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
prototypes; they already live in c-common.h.
* stub-objc.c: Update copyright notice.
(objc_is_reserved_word): New stub.
[gcc/cp/ChangeLog]
2004-08-28 Ziemowit Laski <zlaski@apple.com>
* Make-lang.in (CXX_OBJS): Split up into CXX_OBJS and
CXX_AND_OBJCXX_OBJS.
(CXX_C_OBJS): Include in CXX_AND_OBJCXX_OBJS instead of listing
separately on the link line.
[gcc/objc/ChangeLog]
2004-08-28 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (objc_is_reserved_word): New function.
From-SVN: r86702
PR libfortran/17195
* libgfortran.h (rtoa): Remove prototype.
* runtime/error.c (rtoa): Remove.
* io/write.c (calculate_G_format): Don't add blanks if E format is
used. Add correct number of blanks when exponent width is specified.
(output_float): Rewrite.
testsuite/
* gfortran.dg/edit_real_1.f90: New test.
From-SVN: r86701
* error.c (gfc_error_init_1): Remove blank line in front of
function body. Add missing blank.
(gfc_buffer_error, error_char, error_string): Remove blank line in
front of function body.
(show_locus): Add comma in comment.
(gfc_clear_warning, gfc_warning_check, gfc_clear_error,
gfc_push_error, gfc_pop_error): Remove blank line in front of
function body.
(gfc_get_errors): Typo fix in comment in front of function. Remove
blank line in front of function body.
From-SVN: r86691
PR c++/13684
* cp/decl.c (expand_static_init): Use thread-safety API.
(register_dtor_fn): Return the call, don't expand it.
* cp/tree.c (add_stmt_to_compound): New fn.
(stabilize_call): Use it.
* gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
(gimple_push_cleanup): Add eh_only parm.
(gimplify_target_expr): Pass it.
* c.opt (-fno-threadsafe-statics): New option.
* c-opts.c (c_common_handle_option): Handle it.
* c-common.h (flag_threadsafe_statics): Declare it.
* c-common.c (flag_threadsafe_statics): Record it.
* doc/invoke.texi: Document it.
* tsystem.h (_GNU_SOURCE): Define.
* gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
(__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
(__gthread_recursive_mutex_init_function): New fn.
(__gthread_recursive_mutex_lock): New fn.
(__gthread_recursive_mutex_trylock): New fn.
(__gthread_recursive_mutex_unlock): New fn.
* gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
* gthr-win32.h, gthr-vxworks.h: Likewise.
* gthr.h: Document.
* libsupc++/guard.cc (static_mutex): Internal class implementing a
recursive mutex which controls initialization of local statics.
(__gnu_cxx::recursive_init): New exception class.
(__cxa_guard_acquire): Deal with locking and recursion detection.
(acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
From-SVN: r86687
* configure.ac: Handle --enable-gc-debug.
* configure: Regenerate.
* include/config.h.in (LIBGCJ_GC_DEBUG): Add.
* boehm.cc: Include gc_mark.h, javaxfc.h, but no GC private files.
Rearrange include file order.
(GC_DEBUG): Set if LIBGCJ_GC_DEBUG is set.
(GC_finalize_all, GC_debug_generic_malloc): Don't declare.
(disable_gc_mutex): Delete along with all references.
(_Jv_MarkObj, _Jv_MarkArray): Use public types,
adjust for debug header size.
(_Jv_AllocObj, _Jv_allocPtrFreeObj): Define out of line for
debug case.
(_Jv_AllocArray): Declare min_heap_addr only if needed.
(gcj_describe_type_fn): New.
(_Jv_InitGC): Use GC_new_free_list, GC_new_proc, and GC_new_kind.
Register gcj_describe_type_fn.
* include/boehm-gc.h:
(_Jv_AllocObj, _Jv_allocPtrFreeObj):
Don't define, but declare, for debug case.
* java/lang/natObject.cc:
(GC_DEBUG): Define if LIBGCJ_GC_DEBUG is set.
From-SVN: r86686
* config/rs6000/rs6000.c (rs6000_override_options): Increase
maximum skip to 15. Set function alignment, jump alignment, and
loop alignment to 16 for processors that form dispatch groups.
(rs6000_rtx_costs): Outer code is used.
From-SVN: r86670
* rtl.h (read_rtx): Change prototype.
* read-rtl.c (read_rtx): Provide the caller with both an rtx and a
line number. Return true on success.
* gensupport.c (process_include, init_md_reader_args_cb): Adjust
callers accordingly.
From-SVN: r86657
2004-08-27 Bud Davis <bdavis9659@comcast.net>
PR fortran/16597
* io/io.h: created typedef for unit_mode.
* io/io.h (gfc_unit): added mode to unit structure.
* io/transfer.c (data_transfer_init): flush if a write then
read is done on a unit (direct access files).
* io/rewind.c (st_rewind): Used unit mode instead of global.
* gfortran.dg/pr16597.f90: New test.
From-SVN: r86654
* c-typeck.c (build_offsetof): Remove.
* c-tree.h (build_offsetof): Remove.
* c-common.c (fold_offsetof_1, fold_offsetof): New.
* c-common.h (fold_offsetof): Declare.
* c-parse.in (offsetof_base): New.
(offsetof_member_designator): Use it. Build references, not just
a tree list.
(primary): Use fold_offsetof, not build_offsetof.
From-SVN: r86651
2004-08-26 Phil Edwards <phil@codesourcery.com>
* configure.in: Give a better error message if GMP/MPFR are missing
and a language needing them has been requested.
* configure: Regenerated.
From-SVN: r86641
2004-08-25 Phil Edwards <phil@codesourcery.com>
* configure.in: Print a list of available language front-ends if
a requested one is missing. Tidy stray tab characters.
* configure: Regenerated.
From-SVN: r86640
PR c/13801
* c-decl.c (struct c_binding): Add type and inner_comp fields.
(bind): Set type and inner_comp fields.
(pop_scope): Restore type of decl to the correct type from an
outer scope. Give error when popping file scope for incomplete
arrays completed incompatibly with default initialization in an
inner scope.
(diagnose_mismatched_decls): Handle externs with initializers at
block scope.
(pushdecl): Set type of external declaration at block scope based
only on the visible declarations. Save type when changing the
type of a declaration. Merge an external declaration at block
scope with a visible static declaration at file scope.
(implicitly_declare): Give recycled old declaration the new type
except for incompatible declarations of built-in functions, saving
the old type.
testsuite:
* gcc.dg/redecl-3.c, gcc.dg/redecl-4.c, gcc.dg/redecl-6.c,
gcc.dg/redecl-7.c, gcc.dg/redecl-8.c, gcc.dg/redecl-9.c,
gcc.dg/redecl-10.c, gcc.dg/debug/redecl-1.c,
gcc.dg/debug/redecl-2.c, gcc.dg/debug/redecl-3.c,
gcc.dg/debug/redecl-4.c, gcc.dg/debug/redecl-5.c: New tests.
From-SVN: r86636
2004-08-26 Daniel Berlin <dberlin@dberlin.org>
* tree-alias-common.c (gate_pta): New function.
(pass_build_pta): Use it.
(pass_del_pta): Use it.
(delete_alias_vars): Don't check flag_tree_points_to.
From-SVN: r86631
* cp-tree.h (DECL_FIELD_IS_BASE): New.
* class.c (build_base_field): Set it.
(build_simple_base_path): Use it.
(fixed_type_or_null): Don't consider base fields definitive.
From-SVN: r86630