Tom Tromey [Wed, 23 Apr 2003 19:09:56 +0000 (19:09 +0000)]
resolve.cc (_Jv_PrepareClass): Round size up to alignment required by this object.
* resolve.cc (_Jv_PrepareClass): Round size up to alignment
required by this object. Search superclasses to find required
alignment.
(get_alignment_from_class): Use alignment of type as it appears
in a struct.
(ALIGNOF): New macro.
(struct aligner): New helper structure.
* docs/html/ext/howto.html ('LWG Issues'): Add issue 60, partial
implementation only.
* include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
Comment and change to comply with DR 60 and the effect on gcount().
* include/std/std_istream.h: Update comments.
* testsuite/27_io/basic_istream/putback/char/1.cc (test01): Add
comments about reasons for tests. Test sync() against gcount().
* testsuite/27_io/basic_istream/seekg/char/2.cc: New file, test
for effect on gcount().
* testsuite/27_io/basic_istream/tellg/char/2.cc: New file, test
for effect on gcount().
Roger Sayle [Wed, 23 Apr 2003 02:47:41 +0000 (02:47 +0000)]
alias.c (mark_constant_function): Check for constancy and purity even of void functions.
* alias.c (mark_constant_function): Check for constancy and
purity even of void functions. Update both the function decl
and the cgraph RTL info with the results.
Roger Sayle [Wed, 23 Apr 2003 02:46:03 +0000 (02:46 +0000)]
real.c (do_add): Change to return a bool indicating that the result of the operation may be...
* real.c (do_add): Change to return a bool indicating that the
result of the operation may be inexact due to loss of precision.
(do_multiply): Likewise.
(do_divide): Likewise.
re PR middle-end/8866 (Bug in switch statement code generation -- missing label)
PR 8866
* rtl.h (MEM_NOTRAP_P): New.
(MEM_COPY_ATTRIBUTES): Copy it.
* rtlanal.c (may_trap_p): Check it.
* expr.c (do_tablejump): Set it.
* doc/rtl.texi (Flags): Document it.
* cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
Vincent Celier [Tue, 22 Apr 2003 21:52:04 +0000 (21:52 +0000)]
gthr-gnat.h, [...]: new sources for implementation of --enable-threads=gnat.
* gthr-gnat.h, gthr-gnat.c: new sources for implementation of
--enable-threads=gnat.
* Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
* configure.in: Add gnat to the list of thread packages
* configure: Rebuild.
* config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
David Edelsohn [Tue, 22 Apr 2003 15:01:18 +0000 (15:01 +0000)]
fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT macro defaulting to original BRANCH_COST heuristic.
* fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
macro defaulting to original BRANCH_COST heuristic.
* doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
Mark Mitchell [Tue, 22 Apr 2003 05:44:12 +0000 (05:44 +0000)]
Makefile.in (calls.o): Depend on except.h.
* Makefile.in (calls.o): Depend on except.h.
* calls.c: Include except.h.
(emit_call_1): Call note_eh_region_may_contain_throw if
appropriate.
* except.c (eh_region): Add may_contain_throw.
(expand_eh_region_end_cleanup): Do not include handler code when
it cannot be reached.
(note_eh_region_may_contain_throw): New function.
* except.h (note_eh_region_may_contain_throw): New function.
* call.c (build_over_call): Use build_cxx_call.
(build_cxx_call): New method, split out of build_over_call.
* cp-tree.h (language_function): Add can_throw.
(build_cxx_call): Declare it.
* decl.c (finish_function): If a function does not contain any
calls to functions that can throw an exception, indicate that
fact.
* decl2.c (mark_used): Do not defer the instantiation of
functions, if the current function does not throw.
* optimize.c (maybe_clone_body): Copy TREE_NOTHROW to the clones.
* pt.c (instantiate_decl): Make sure import_export_decl is called
before emitting things.
* rtti.c (throw_bad_cast): Use build_cxx_call.
(build_dynamic_cast_1): Likewise.
* typeck.c (build_function_call): Likewise.
* g++.dg/template/recurse.C: Adjust location of error messages.
fold-const.c (fold, [...]): Restore a number of conversions required for type consistency and previously...
* fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
a number of conversions required for type consistency and previously
stripped off by STRIP_NOPS.
expmed.c (extract_bit_field): Reverse operands of && condition to prevent a potential division by zero in the...
* expmed.c (extract_bit_field): Reverse operands of && condition to
prevent a potential division by zero in the previously first branch.
* config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
Joel Brobecker [Mon, 21 Apr 2003 20:39:04 +0000 (20:39 +0000)]
dwarf2out.c (is_ada, [...]): New functions.
* dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
(subrange_type_die): Likewise.
(modified_type_die): Emit a subrange_type DIE for Ada subrange types.
(is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
Paolo Carlini [Mon, 21 Apr 2003 18:11:51 +0000 (20:11 +0200)]
std_streambuf.h (uflow()): It's used only by basic_stringbuf (i.e....
2003-04-21 Paolo Carlini <pcarlini@unitus.it>
* include/std/std_streambuf.h (uflow()): It's used only by
basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
therefore do not consider the _M_buf_unified == true case.
re PR c++/9881 (What is an address constant expression?)
cp:
PR c++/9881
* typeck.c (build_unary_op): Fold all COMPONENT_REF addr
expressions. Reverts my 2002-08-08 patch.
* typeck.c (comp_ptr_ttypes_real): Swap final && operands for
cheaper early exit.
testsuite:
PR c++/9881
* g++.dg/init/addr-const1.C: New test.
* g++.dg/other/packed1.C: XFAIL on aligned architectures.
Scott Gilbertson [Sun, 20 Apr 2003 23:21:06 +0000 (23:21 +0000)]
Container.java (addImpl): Enable paint events if adding a lightweight to a heavyweight.
2003-04-20 Scott Gilbertson <scottg@mantatest.com>
* java/awt/Container.java (addImpl): Enable paint events if adding
a lightweight to a heavyweight.
(addNotify): Ensure that peer is created before
addNotifyContainerChildren.
(addNotifyContainerChildren): Enable paint events if a heavyweight
container contains a lightweight.
Chris Lattner [Sun, 20 Apr 2003 22:58:28 +0000 (22:58 +0000)]
c-common.h, [...]: Rename genrtl_decl_cleanup to genrtl_cleanup_stmt.
* c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
genrtl_cleanup_stmt. Correct comment at head of
genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
* stmt.c (struct nesting): Kill n_function_calls.
(expand_start_bindings): Don't set
thisblock->data.block.n_function_calls.
(expand_end_bindings): Compare function_call_count against 0.
(expand_cleanups): Kill DONT_DO argument; all callers passed
NULL_TREE. All callers updated to match.
* output.h: Remove prototypes of deleted functions.
* c-typeck.c (constructor_subconstants_deferred): Kill.
(struct initializer_stack): Remove 'deferred' field.
(start_init): Remove all references to the above.
(finish_init): Likewise. Also remove never-executed call to
output_deferred_addressed_constants. Pull assignment to
defstr out of if expression.
Neil Booth [Sun, 20 Apr 2003 19:02:53 +0000 (19:02 +0000)]
cpphash.h (NOTE_ESC_NL, [...]): Remove.
* cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
NOTE_NEWLINE): Remove.
* cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
to handle new form of line note type.
target.h (encode_section_info): Add new argument carrying the RTL to be modified by the hook.
* target.h (encode_section_info): Add new argument carrying
the RTL to be modified by the hook.
* varasm.c (make_decl_rtl, output_constant_def): Update calls
to encode_section_info.
(default_encode_section_info): Take and use RTL argument,
don't use TREE_CST_RTL or DECL_RTL.
* output.h: Update prototype of default_encode_section_info.
* config/darwin.h (ASM_DECLARE_OBJECT_NAME)
(ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
Update calls to encode_section_info.
* config/darwin.c, config/arm/arm.c, config/arm/pe.c
* config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
* config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
* config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
* config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
* config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
except for PE dllimport/dllexport. Update calls to
default_encode_section_info.
cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
.: * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
* gcov.c (output_lines): Don't be so fussy about going past EOF.
cp:
* cp/decl2.c (start_static_storage_duration_function): Take count
arg, don't check if it wraps round.
(generate_ctor_or_dtor_function): Add locus arg, use it.
(generate_ctor_and_dtor_functions_for_priority): Data arg is a
locus.
(finish_file): Set line numbers to past EOF for synthesized
functions.
Scott Gilbertson [Sat, 19 Apr 2003 19:54:39 +0000 (19:54 +0000)]
XGraphics.java (XGraphics): Use new GC.create.
2003-04-19 Scott Gilbertson <scottg@mantatest.com>
* gnu/awt/xlib/XGraphics.java (XGraphics): Use new GC.create.
(dispose): Null metrics.
* gnu/awt/xlib/XToolkit.java (sync): Implement.
* gnu/gcj/xlib/Clip.java (dispose): Change name of native from
finalize.
(finalize): Call dispose.
* gnu/gcj/xlib/Drawable.java (gcCache): New field.
(gcCachedCount): New field.
(finalize): New method.
(putGCInCache): New method.
(getGCFromCache): New method.
* gnu/gcj/xlib/GC.java (GC): Make protected.
(clone): Get new GC from cache if possible.
(create): New static method.
(dispose): Save old GC in cache.
* gnu/gcj/xlib/natClip.cc (dispose): Check for null before
deleting.
* gnu/gcj/xlib/natGC.cc (initStructure): Call XCreateGC only if gc
is null.
* gnu/gcj/xlib/Pixmap.java (Pixmap): Use new GC.create.
* java/awt/Container.java (visitChild): Dispose gfx2 when
finished.
File.java (getAbsolutePath): On Windows, take care of paths like "C:", "G:foo\bar", etc.
2003-04-19 Ranjit Mathew <rmathew@hotmail.com>
* java/io/File.java (getAbsolutePath): On Windows, take care
of paths like "C:", "G:foo\bar", etc.
(getName): Make it work correctly on Windows.
(getParent): Make it work correctly on Windows. For UNIX,
fix bug that causes "/" to be returned as the parent of "/",
instead of null as returned by Sun's JRE.
* java/io/natFileWin32.cc: Change copyright owner to FSF.
Scott Gilbertson [Sat, 19 Apr 2003 17:59:40 +0000 (17:59 +0000)]
XGraphicsConfiguration.java (FontMetricsCache): New inner class.
2003-04-19 Scott Gilbertson <scottg@mantatest.com>
* gnu/awt/xlib/XGraphicsConfiguration.java (FontMetricsCache): New
inner class.
(CACHE_SIZE_PER_DISPLAY): New field
(fontMetricsCache): New field
(getXFontMetrics): Use fontMetricsCache to cache fonts. Prefer
loading ISO10646-1 fonts.