Kriang Lerdsuwanakij [Fri, 1 Aug 2003 15:06:02 +0000 (15:06 +0000)]
PR c++/8442, c++/8806
PR c++/8442, c++/8806
* decl.c (qualify_lookup): Accept TEMPLATE_DECL if types are
preferred.
(check_elaborated_type_specifier): Add allow_template_p
parameter. Check tag mismatch and class template.
(xref_tag): Add template_header_p parameter. Add assertion
that name is an IDENTIFIER_NODE. Remove implicit typename
warning. Simplify lookup process if globalize is true.
(cxx_init_decl_processing): Adjust call to xref_tag.
(xref_tag_from_type): Likewise.
* decl2.c (handle_class_head): Likewise.
* parser.c (cp_parser_elaborated_type_specifier,
cp_parser_class_head): Likewise.
* rtti.c (init_rtti_processing, build_dynamic_cast1,
tinfo_base_init, emit_support_tinfos): Likewise.
* class.c (is_base_of_enclosing_class): Remove.
* pt.c (convert_template_argument): Don't accept RECORD_TYPE as
template template argument.
* cp-tree.h (xref_tag): Adjust declaration.
(is_base_of_enclosing_class): Remove.
* NEWS: Document template template argument change.
* g++.dg/template/elab1.C: Likewise.
* g++.dg/template/type2.C: Likewise.
* g++.dg/template/ttp3.C: Adjust expected error message.
* g++.old-deja/g++.law/visibility13.C: Likewise.
* g++.old-deja/g++.niklas/t135.C: Likewise.
* g++.old-deja/g++.pt/ttp41.C: Likewise.
* g++.old-deja/g++.pt/ttp43.C: Use qualified name for template
template argument.
* g++.old-deja/g++.pt/ttp44.C: Likewise.
From-SVN: r70048
Nathan Sidwell [Fri, 1 Aug 2003 14:33:46 +0000 (14:33 +0000)]
parser.c (cp_parser_init_declarator, [...]): Reformat.
* parser.c (cp_parser_init_declarator,
cp_paser_member_declaration): Reformat.
* pt.c (lookup_template_class, type_unification_real, unify,
type_dependent_expression_p): Reformat.
From-SVN: r70047
Neil Booth [Fri, 1 Aug 2003 14:04:02 +0000 (14:04 +0000)]
Makefile.in: Refine dependencies.
* Makefile.in: Refine dependencies.
* c-opts.c (c_common_handle_option): Do nothing for -Wimport.
* c.opt: Update help for -Wimport.
* cppfiles.c: Include hashtab.h. Update comments.
(stack_file): Read the file before updating dependencies.
(once_only_file_p): Be smarter about marking once-only files.
(_cpp_mark_file_once_only): Correct the check for existence on
the list.
(open_file_failed): Use name not path, which is NULL.
* cpphash.h: Don't include hashtab.h.
(struct _cpp_file): Remove.
(struct cpp_reader): Update.
* cppinit.c (cpp_create_reader): Don't initialize warn_import.
* cpplib.h (struct cpp_options): Remove warn_import.
(cpp_simplify_path): Remove.
From-SVN: r70045
Nathan Sidwell [Fri, 1 Aug 2003 09:34:09 +0000 (09:34 +0000)]
re PR c++/11295 (ICE when using a non-trivial object in a compound statement expression)
PR c++/11295
* doc/extend.texi (Statement Expressions): Document C++ semantics.
cp:
PR c++/11295
* cp-tree.h (tubst_flags_t): Add tf_stmt_expr_cmpd,
tf_stmt_expr_body.
(finish_stmt_expr_expr): Declare.
* parser.c (cp_parser_primary_expression): Tell
cp_parser_compount_statement that it is a statement expression.
(cp_parser_statement, cp_parser_labeled_statement,
cp_parser_compound_statement, cp_parser_statement_seq_opt): Add
in_statement_expr_p parameter.
(cp_parser_expression_statement): Likewise. Call
finish_stmt_expr_expr for final expression of a statement
expression.
(cp_parser_for_init_statement,
cp_parser_implicitly_scoped_statement,
cp_parser_already_scoped_statement, cp_parser_function_definition,
cp_parser_try_block, cp_parser_handled): Adjust.
* pt.c (tsubst_copy) <STMT_EXPR case>: Pass tf_stmt_expr.
(tsubst_expr): Process tf_stmt_expr and tf_stmt_exprs flags.
(tsubst_expr) <EXPR_STMT case>: Check tf_stmt_exprs flag.
* semantics.c (finish_expr_stmt): Do not deal with statement
expressions.
(begin_stmt_expr): Clear last_expr_type.
(finish_stmt_expr_expr): New.
(finish_stmt_expr): Process the value expression.
testsuite:
PR c++/11295
* g++.dg/ext/stmtexpr1.C: New test.
From-SVN: r70043
Nathan Sidwell [Fri, 1 Aug 2003 09:16:09 +0000 (09:16 +0000)]
typeck.c (build_compound_expr): If RHS is a TARGET_EXPR, put the compound expr inside the target's initializer.
cp:
* typeck.c (build_compound_expr): If RHS is a TARGET_EXPR, put the
compound expr inside the target's initializer.
testsuite:
* g++.dg/opt/tmp1.C: New test.
From-SVN: r70042
Nathan Sidwell [Fri, 1 Aug 2003 09:10:29 +0000 (09:10 +0000)]
re PR c++/11525 (ICE/segfault on C++ code)
cp:
PR c++/11525
* parser.c (cp_parser_primary_expression): Do not set
non-constant-p merely because it is a dependent scope.
testsuite:
PR c++/11525
* g++.dg/parse/constant4.C: New test.
From-SVN: r70041
SUGIOKA Toshinobu [Fri, 1 Aug 2003 09:05:16 +0000 (18:05 +0900)]
config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
2003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
* config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
From-SVN: r70040
Nathan Sidwell [Fri, 1 Aug 2003 09:01:12 +0000 (09:01 +0000)]
re PR c++/9447 (using Base<T>::member does not work)
cp:
PR c++/9447
* decl2.c (do_class_using_decl): Set type to NULL_TREE.
* semantics.c (finish_expr_stmt): Do not convert to void in a
template.
testsuite:
PR c++/9447
* g++.dg/template/using5.C: New test.
From-SVN: r70039
Tom Tromey [Fri, 1 Aug 2003 03:34:52 +0000 (03:34 +0000)]
More for PR libgcj/11737:
* java/io/ObjectInputStream.java (processResolution): Use
getMethod.
(getMethod): Make method accessible.
(getField): Make field accessible.
(setBooleanField): Don't call setAccessible here.
(setByteField, setCharField, setDoubleField, setFloatField,
setIntField, setLongField, setShortField, setObjectField):
Likewise.
(callReadMethod): Don't check whether method is null. Catch
NoSuchMethodException.
* java/io/ObjectOutputStream.java (callWriteMethod): Initialize
cause on thrown exceptions.
From-SVN: r70038
Stepan Koltsov [Fri, 1 Aug 2003 03:32:42 +0000 (03:32 +0000)]
re PR libgcj/11728 (HashMap serialization does not work)
2003-07-31 Stepan Koltsov <yozh@mx1.ru>
Fix for PR libgcj/11728:
From-SVN: r70037
Matt Kraai [Fri, 1 Aug 2003 03:10:56 +0000 (03:10 +0000)]
* texi2pod.pl: Remove extra line.
From-SVN: r70036
Tom Tromey [Fri, 1 Aug 2003 03:02:00 +0000 (03:02 +0000)]
re PR libgcj/11737 (java.io.ObjectOutputStream.writeObject does not work with HashMap)
Fix for PR libgcj/11737:
* java/io/ObjectOutputStream.java (getMethod): Make method
accessible.
(getField): Likewise.
(writeObject): Use getMethod.
Import PrivilegedAction and AccessController.
(callWriteMethod): Don't check whether m is null. Catch
NoSuchMethodException.
From-SVN: r70035
Kaveh R. Ghazi [Fri, 1 Aug 2003 02:11:17 +0000 (02:11 +0000)]
builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE' throughout.
* builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
throughout.
* builtins.def: Likewise.
From-SVN: r70034
Phil Edwards [Fri, 1 Aug 2003 00:49:14 +0000 (00:49 +0000)]
libstdc++-v3-dg.exp: Rename...
2003-07-31 Phil Edwards <pme@gcc.gnu.org>
* testsuite/lib/libstdc++-v3-dg.exp: Rename...
* testsuite/lib/libstdc++-v3.exp: ...to this.
* testsuite/libstdc++-v3.dg/dg.exp: No special case needed now.
From-SVN: r70033
Jason Merrill [Fri, 1 Aug 2003 00:38:56 +0000 (20:38 -0400)]
tweak
From-SVN: r70032
Jason Merrill [Fri, 1 Aug 2003 00:37:40 +0000 (20:37 -0400)]
Makefile.in (bubblestrap): Don't require a previous full bootstrap.
* Makefile.in (bubblestrap): Don't require a previous full
bootstrap.
* expr.c (mostly_zeros_p): No longer static.
* tree.h: Declare it.
* stmt.c (resolve_asm_operand_names): Don't copy the pattern
unless we need to do substitutions.
From-SVN: r70031
Roger Sayle [Fri, 1 Aug 2003 00:36:53 +0000 (00:36 +0000)]
fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and pow(x,c)*x as pow(x,c+1) for constant values c.
* fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
as pow(x,2.0) when the latter will be expanded back into x*x.
(fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
* builtins.c (expand_builtin_pow): Ignore flag_errno_math as
pow can never set errno when used with an integer exponent.
Always use expand_powi when exponent is -1, 0, 1 or 2.
(fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
as 1.0/(x*x). This avoids unbounded recursion as we now prefer
the pow forms of these expressions.
* gcc.dg/builtins-27.c: New test case.
From-SVN: r70030
GCC Administrator [Fri, 1 Aug 2003 00:16:06 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r70028
Geoffrey Keating [Thu, 31 Jul 2003 23:36:43 +0000 (23:36 +0000)]
Makefile.tpl (libsubdir): Use gcc instead of gcc-lib.
2003-07-31 Geoffrey Keating <geoffk@apple.com>
* Makefile.tpl (libsubdir): Use gcc instead of gcc-lib.
* Makefine.in: Update.
Index: gcc/ChangeLog
2003-07-31 Geoffrey Keating <geoffk@apple.com>
* Makefile.in (libexecdir): New.
(libsubdir): Use gcc instead of gcc-lib.
(libexecsubdir): New.
(ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
(DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
gcc-lib.
(installdirs): Make libexecsubdir.
(install-common): Put executables in libexecsubdir.
(itoolsdir): Use libexecsubdir.
(itoolsdatadir): New.
(install-mkheaders): Separate data files and executables.
(install-collect2): Put executables in libexecsubdir.
(uninstall): Remove libexecsubdir.
* mkheaders.in: Update for new arrangement of files.
(libexecdir): New.
(libexecsubdir): New.
(itoolsdir): Use libexecsubdir.
(itoolsdatadir): New.
* gcc.c (gcc_libexec_prefix): New.
(STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
(standard_exec_prefix_1): Use libexec.
(standard_exec_prefix_2): New.
(standard_libexec_prefix): New.
(process_command): Update for new arrangement of files. Compute
gcc_libexec_prefix. Update for change from gcc-lib to gcc.
From-SVN: r70024
Nathanael Nerode [Thu, 31 Jul 2003 23:33:08 +0000 (23:33 +0000)]
inclhack.def (stdio_va_list): Avoid bogus replacement which triggers on Interix.
* inclhack.def (stdio_va_list): Avoid bogus replacement which
triggers on Interix.
* fixincl.x: Regenerate.
From-SVN: r70023
Jakub Jelinek [Thu, 31 Jul 2003 22:54:30 +0000 (00:54 +0200)]
i386.c (legitimate_pic_address_disp_p): Disallow TLS SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
* config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
* gcc.dg/tls/opt-7.c: New test.
From-SVN: r70022
Richard Kenner [Thu, 31 Jul 2003 22:26:19 +0000 (18:26 -0400)]
* dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): Fix error.
From-SVN: r70019
Doug Gregor [Thu, 31 Jul 2003 22:23:38 +0000 (22:23 +0000)]
Tests for user specialization of standard containers.
From-SVN: r70018
Richard Kenner [Thu, 31 Jul 2003 21:31:24 +0000 (21:31 +0000)]
* dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
From-SVN: r70013
Per Bothner [Thu, 31 Jul 2003 19:26:17 +0000 (19:26 +0000)]
opts.c (in_fnames, [...]): Moved here from c-opts.
* opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
(add_input_filename): New function.
(handle_options): Call add_input_filename directly instead of
with a lang hook.
* opts.h (in_fnames, num_in_fnames): Moved here.
(add_input_filename): Declare.
* c-decl.c: Need to #include opts.h.
* Makefile.in (c-decl.o): Also depends on opts.h.
* c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
(c_common_handle_filename): Replaced by add_input_filename.
* c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
Remove.
* langhooks.h (struct lang_hooks): Remove handle_filename hook.
* langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
(LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
* c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
From-SVN: r70012
Benjamin Kosnik [Thu, 31 Jul 2003 18:48:48 +0000 (18:48 +0000)]
Reshuffle 23_containers testsuite.
2003-07-31 Benjamin Kosnik <bkoz@redhat.com>
Reshuffle 23_containers testsuite.
* 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
vector_resize.cc: Split into...
* 23_containers/bitset/cons/1.cc: New.
* 23_containers/bitset/cons/6282.cc: New.
* 23_containers/bitset/count/6124.cc: New.
* 23_containers/bitset/operations/1.cc: New.
* 23_containers/bitset/operations/2.cc: New.
* 23_containers/bitset/test/1.cc: New.
* 23_containers/bitset/to_ulong/1.cc: New.
* 23_containers/deque/cons/1.cc: New.
* 23_containers/deque/cons/2.cc: New.
* 23_containers/deque/operators/1.cc: New.
* 23_containers/list/capacity/1.cc: New.
* 23_containers/list/cons/1.cc: New.
* 23_containers/list/cons/2.cc: New.
* 23_containers/list/cons/3.cc: New.
* 23_containers/list/cons/4.cc: New.
* 23_containers/list/cons/5.cc: New.
* 23_containers/list/cons/6.cc: New.
* 23_containers/list/cons/7.cc: New.
* 23_containers/list/cons/8.cc: New.
* 23_containers/list/cons/9.cc: New.
* 23_containers/list/modifiers/1.cc: New.
* 23_containers/list/modifiers/2.cc: New.
* 23_containers/list/modifiers/3.cc: New.
* 23_containers/list/operators/1.cc: New.
* 23_containers/list/operators/2.cc: New.
* 23_containers/list/operators/3.cc: New.
* 23_containers/list/operators/4.cc: New.
* 23_containers/map/insert/1.cc: New.
* 23_containers/map/operators/1.cc: New.
* 23_containers/map/operators/1_neg.cc: New.
* 23_containers/multiset/insert/1.cc: New.
* 23_containers/priority_queue/members/7161.cc: New.
* 23_containers/queue/members/7157.cc: New.
* 23_containers/set/operators/1_neg.cc: New.
* 23_containers/stack/members/7158.cc: New.
* 23_containers/vector/bool/1.cc: New.
* 23_containers/vector/bool/6886.cc: New.
* 23_containers/vector/capacity/1.cc: New.
* 23_containers/vector/capacity/2.cc: New.
* 23_containers/vector/capacity/8230.cc: New.
* 23_containers/vector/cons/1.cc: New.
* 23_containers/vector/cons/2.cc: New.
* 23_containers/vector/cons/3.cc: New.
* 23_containers/vector/cons/4.cc: New.
* 23_containers/vector/cons/6513.cc: New.
* 23_containers/vector/element_access/1.cc: New.
* 23_containers/vector/modifiers/1.cc: New.
* 23_containers/vector/modifiers/2.cc: New.
* 23_containers/vector/resize/1.cc: New.
From-SVN: r70011
Zdenek Dvorak [Thu, 31 Jul 2003 18:37:23 +0000 (20:37 +0200)]
combine.c (try_combine): Set JUMP_LABEL for newly created unconditional jump.
* combine.c (try_combine): Set JUMP_LABEL for newly created
unconditional jump.
From-SVN: r70010
Zdenek Dvorak [Thu, 31 Jul 2003 18:29:34 +0000 (20:29 +0200)]
* fold-const.c (fold): Fold some comparisons of bit operations.
From-SVN: r70009
Andreas Tobler [Thu, 31 Jul 2003 18:10:10 +0000 (20:10 +0200)]
btest-gcc.sh: Add make check-target-libjava.
2003-07-31 Andreas Tobler <a.tobler@schweiz.ch>
* btest-gcc.sh: Add make check-target-libjava.
From-SVN: r70008
Andrew Pinski [Thu, 31 Jul 2003 18:06:44 +0000 (18:06 +0000)]
crash18.C: Remove.
2003-07-31 Andrew Pinski <pinskia@physics.uc.edu>
* g++.old-deja/g++.other/crash18.C: Remove.
From-SVN: r70007
Jan Hubicka [Thu, 31 Jul 2003 17:50:54 +0000 (19:50 +0200)]
cgraph.c (create_edge): Fix typo.
* cgraph.c (create_edge): Fix typo.
* i386.c (pic_symbolic_operand): Reorder tests.
From-SVN: r70006
Tom Tromey [Thu, 31 Jul 2003 15:57:03 +0000 (15:57 +0000)]
Arc2D.java (getBounds2D): Implement.
* java/awt/geom/Arc2D.java (getBounds2D): Implement.
(containsAngle): Likewise.
(getStartPoint): Rewrote.
(getEndPoint): Likewise.
(setAngleStart(Point2D)): Likewise.
From-SVN: r70002
Nathan Sidwell [Thu, 31 Jul 2003 13:39:44 +0000 (13:39 +0000)]
gcov.texi (Invoking Gcov): Describe output name mangling more fully.
* doc/gcov.texi (Invoking Gcov): Describe output name mangling
more fully.
(Gcov Data Files): Update.
From-SVN: r70001
Rainer Orth [Thu, 31 Jul 2003 12:03:59 +0000 (12:03 +0000)]
pthread1.cc: Add alpha*-*-osf* to dg-do run, dg-options.
* testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
dg-options.
* testsuite/thread/pthread2.cc: Likewise.
* testsuite/thread/pthread3.cc: Likewise.
* testsuite/thread/pthread4.cc: Likewise.
* testsuite/thread/pthread5.cc: Likewise.
* testsuite/thread/pthread6.cc: Likewise.
* testsuite/thread/pthread7-rope.cc: Likewise.
From-SVN: r69999
Rainer Orth [Thu, 31 Jul 2003 12:01:07 +0000 (12:01 +0000)]
re PR bootstrap/9330 ([alpha-osf]small alphaev56-dec-osf5.1 --enable-threads=posix problem)
* config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
default.
* gthr-posix.c: New file.
* gthr-posix.h: Define _REENTRANT if missing.
Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
* config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
by gthr-posix.o.
* config/alpha/t-osf-pthread: New file.
* fixinc/inclhack.def (alpha_pthread): New fix.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
* doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
warning.
Fixes PR bootstrap/9330.
From-SVN: r69998
Roger Sayle [Thu, 31 Jul 2003 11:55:06 +0000 (11:55 +0000)]
configure.in: Add new THREADCXXFLAGS variable.
* configure.in: Add new THREADCXXFLAGS variable.
Handle POSIX threads on alpha*-dec-osf*.
* configure: Regenerate.
* Makefile.am: Add THREADCXXFLAGS to AM_CXXFLAGS.
* Makefile.in: Regenerate.
Co-Authored-By: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
From-SVN: r69997
Rainer Orth [Thu, 31 Jul 2003 11:49:56 +0000 (11:49 +0000)]
configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5* without GNU ld.
* configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
without GNU ld.
Update comment.
* configure: Regenerate.
From-SVN: r69996
Nathan Sidwell [Thu, 31 Jul 2003 09:16:31 +0000 (09:16 +0000)]
pt.c (coerce_template_parms): Refactor.
cp:
* pt.c (coerce_template_parms): Refactor.
(fn_type_unification): Increment processing_template_decl when
tsubsting an incomplete set of explicit args.
testsuite:
* g++.dg/template/explicit3.C: New.
* g++.dg/template/explicit4.C: New.
* g++.dg/template/explicit5.C: New.
From-SVN: r69995
Nathan Sidwell [Thu, 31 Jul 2003 09:10:58 +0000 (09:10 +0000)]
re PR c++/11347 (Error on valid expression in default value for int argument to inner template.)
cp:
PR c++/11347
* pt.c (instantiate_class_template): Increment
processing_template_decl around the tsubst of a template member
class.
(tsubst_qualified_id): Assert we do not have a dependent scope.
testsuite:
PR c++/11347
* g++.dg/template/memtmpl1.C: New.
From-SVN: r69994
Nathan Sidwell [Thu, 31 Jul 2003 09:06:26 +0000 (09:06 +0000)]
pt.c (coerce_template_template_parms, [...]): Reformat.
* pt.c (coerce_template_template_parms, lookup_template_class,
can_complete_type_without_circularity, instantiate_class_template,
tsubst_decl, unify): Reformat.
From-SVN: r69993
Vladimir Makarov [Thu, 31 Jul 2003 07:56:36 +0000 (07:56 +0000)]
Prevent interblock move of CC0 setter.
From-SVN: r69992
Kaveh R. Ghazi [Thu, 31 Jul 2003 05:49:14 +0000 (05:49 +0000)]
* com.c (ffecom_init_0): Use `dconsthalf'.
From-SVN: r69991
Danny Smith [Thu, 31 Jul 2003 04:52:36 +0000 (04:52 +0000)]
gc.h (GC_CreateThread): Declare with WINAPI attribute.
* include/gc.h (GC_CreateThread): Declare with WINAPI
attribute.
* win32_threads.c (GC_CreateThread): Make definitions consistent
with declaration. Cast &thread_table[i].handle to PHANDLE
in call to DuplicateHandle
(thread_start): Declare as static.
From-SVN: r69990
Roger Sayle [Thu, 31 Jul 2003 03:16:24 +0000 (03:16 +0000)]
* builtins.def: Alphabetize.
From-SVN: r69989
Matt Kraai [Thu, 31 Jul 2003 01:32:24 +0000 (01:32 +0000)]
c-tree.texi: Normalize spellings of "lowercase" and "uppercase".
* doc/c-tree.texi: Normalize spellings of "lowercase" and
"uppercase".
* doc/cpp.texi: Likewise.
* doc/md.texi: Likewise.
* doc/rtl.texi: Likewise.
* doc/tm.texi: Likewise.
From-SVN: r69988
Matt Kraai [Thu, 31 Jul 2003 00:57:25 +0000 (00:57 +0000)]
* objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
(objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
of cc1obj.
From-SVN: r69987
Chris Demetriou [Thu, 31 Jul 2003 00:46:45 +0000 (00:46 +0000)]
mips.h (SIZE_TYPE, [...]): Undef these macros before defining them.
2003-07-30 Chris Demetriou <cgd@broadcom.com>
* config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
macros before defining them.
From-SVN: r69985
GCC Administrator [Thu, 31 Jul 2003 00:16:08 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r69981
Jan Hubicka [Wed, 30 Jul 2003 23:47:59 +0000 (01:47 +0200)]
decl2.c (maybe_make_one_only): Use mark_referenced.
* decl2.c (maybe_make_one_only): Use mark_referenced.
* method.c (use_thunk): Likewsie.
From-SVN: r69979
Ulrich Weigand [Wed, 30 Jul 2003 23:21:24 +0000 (23:21 +0000)]
s390.md (UNSPEC_ROUND, [...]): New constants.
* config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
UNSPECV_BLOCKAGE): New constants.
("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
"*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
"fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
(all insns and expanders): Write output control string as brace block
where appropriate. Remove \-escapes for doublequote characters.
From-SVN: r69978
Jan Hubicka [Wed, 30 Jul 2003 23:05:43 +0000 (01:05 +0200)]
* gcse.c (insert_store): Fix typo in previous patch.
From-SVN: r69977
Andrew Pinski [Wed, 30 Jul 2003 22:48:45 +0000 (22:48 +0000)]
re PR target/11565 (gcc.dg/i386-387-1.c test flawed due to assumptions made about arch)
2003-07-29 Andrew Pinski <pinskia@physics.uc.edu>
PR target/11565
* gcc.dg/i386-387-1.c (dg-options): Add -march=i386.
* gcc.dg/i386-387-5.c (dg-options): Likewise.
From-SVN: r69974
Neil Booth [Wed, 30 Jul 2003 22:30:40 +0000 (22:30 +0000)]
* cppfiles.c (stack_file, open_file_failed): Use path for deps.
From-SVN: r69973
Andi Kleen [Wed, 30 Jul 2003 20:28:45 +0000 (20:28 +0000)]
* loop.c (check_dbra_loop): Allow LTU in the loop condition.
From-SVN: r69971
Zdenek Dvorak [Wed, 30 Jul 2003 19:23:34 +0000 (21:23 +0200)]
combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
* combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
* gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
GCOV_N_VALUE_COUNTERS): New.
* profile.c (compute_value_histograms): New static function.
(branch_prob): Read back the value histograms.
* rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
* rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
* value-prof.c: Add comment on reading the profile.
* value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
* doc/invoke.texi (-fprofile-values): Document behavior with
-fbranch-probabilities.
From-SVN: r69969
Andreas Tobler [Wed, 30 Jul 2003 17:42:28 +0000 (19:42 +0200)]
dyn_load.c: Define __private_extern__ to match Apple's system header.
2003-07-30 Andreas Tobler <a.tobler@schweiz.ch>
* dyn_load.c: Define __private_extern__ to match Apple's system
header.
From-SVN: r69967
David Edelsohn [Wed, 30 Jul 2003 17:40:17 +0000 (17:40 +0000)]
* longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
From-SVN: r69966
Ulrich Weigand [Wed, 30 Jul 2003 17:38:14 +0000 (17:38 +0000)]
s390.h (EH_RETURN_HANDLER_RTX): Compute offset symbolically.
* config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
symbolically.
From-SVN: r69965
Jan Hubicka [Wed, 30 Jul 2003 17:27:17 +0000 (19:27 +0200)]
re PR c/10320 (gcc 3.4 gets rid of static inline function that does not get inlined)
* gcse.c (insert_store): Ignore fake edges.
* c-common.c (flag_vtable_gc): Kill.
* c-common.g (flag_vtable_gc): Kill.
* c-opts (c_common_handle_option): Kill.
* c.opt (fvtable-gc): Kill.
* final.c (final_scan_insn): Do not call assemble_vtable_entry.
* output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
* invoke.texi (-ftable-gc): Kill documentation.
PR C/10320
* tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
just because function body is missing.
* i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
* class.c (build_vtable_entry_ref): Kill.
(build_vtbl_ref_1): Do not call build_vtable_entry_ref.
(build_vfn_ref): Do not call build_vtable_entry_ref.
* cp-lang.c (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill.
* cp-tree.h (prepare_assemble_variable): Kill.
* cp-decl.c (prepare_assemble_variable): Kill.
From-SVN: r69964
Phil Edwards [Wed, 30 Jul 2003 17:21:05 +0000 (17:21 +0000)]
c++config: Partial reversion (comment placement) of previous patch.
2003-07-30 Phil Edwards <pme@gcc.gnu.org>
* include/bits/c++config: Partial reversion (comment placement) of
previous patch.
From-SVN: r69963
Benjamin Kosnik [Wed, 30 Jul 2003 16:51:51 +0000 (16:51 +0000)]
c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
2003-07-30 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
(_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
(_GLIBCXX_AT_AT): Remove.
(__USE_MALLOC): Remove.
* include/std/std_fstream.h: Modify.
* include/bits/basic_ios.h: Same.
* include/bits/valarray_array.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/cmath.tcc: Same.
* include/std/std_vector.h: Same.
* include/std/std_string.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_queue.h: Same.
* include/std/std_list.h: Same.
* include/std/std_deque.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_sstream.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_istream.h: Same.
* include/bits/valarray_array.tcc: Same, format.
* include/c/std_cctype.h: Fix include guards.
* include/c/std_cerrno.h: Same.
* include/c/std_cfloat.h: Same.
* include/c/std_climits.h: Same.
* include/c/std_clocale.h: Same.
* include/c/std_cmath.h: Same.
* include/c/std_csetjmp.h: Same.
* include/c/std_csignal.h: Same.
* include/c/std_cstdarg.h: Same.
* include/c/std_cstddef.h: Same.
* include/c/std_cstdio.h: Same.
* include/c/std_cstdlib.h: Same.
* include/c/std_cstring.h: Same.
* include/c/std_ctime.h: Same.
* include/c/std_cwchar.h: Same.
* include/c/std_cwctype.h: Same.
* include/c_std/cmath.tcc: Same.
* include/c_std/std_cmath.h: Same.
From-SVN: r69961
Gawain Bolton [Wed, 30 Jul 2003 15:01:58 +0000 (15:01 +0000)]
re PR libstdc++/11504 (-Wcast-qual vs. stl_tree)
2003-07-30 Gawain Bolton <gp.bolton@computer.org>
PR libstdc++/11504.
* include/bits/stl_tree.h: Replace C-style casts with C++-style
casts. Changes to avoid casting away constness. Eliminate
_Rb_tree_base_iterator class. Change _Rb_tree_iterator to use
initialization lists. Move out implementation of __black_count()
to...
* src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
Rename_Rb_tree_base_iterator::_M_increment() to
_Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
_Rb_tree_decrement.
* config/linker-map.gnu: Add and change symbols here.
From-SVN: r69958
Andrew Haley [Wed, 30 Jul 2003 14:50:02 +0000 (14:50 +0000)]
i386-signal.h (RESTORE): New.
2003-07-08 Andrew Haley <aph@redhat.com>
* include/i386-signal.h (RESTORE): New.
(INIT_SEGV): Set restorer.
(INIT_FPE): Likewise.
From-SVN: r69957
Jonathan Wakely [Wed, 30 Jul 2003 14:43:35 +0000 (15:43 +0100)]
howto.html: Use locale::classic() instead of locale("C").
2003-07-30 Jonathan Wakely <redi@gcc.gnu.org>
* docs/html/22_locale/howto.html: Use locale::classic() instead
of locale("C").
From-SVN: r69956
Ranjit Mathew [Wed, 30 Jul 2003 07:34:45 +0000 (07:34 +0000)]
unwind-sjlj.c: Fix typo in file description.
2003-07-30 Ranjit Mathew <rmathew@hotmail.com>
* unwind-sjlj.c: Fix typo in file description.
From-SVN: r69955
Andreas Tobler [Wed, 30 Jul 2003 07:32:39 +0000 (09:32 +0200)]
configure.in: Enable libgcj for darwin.
2003-07-30 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: Enable libgcj for darwin.
* configure: Rebuild.
From-SVN: r69954
Alan Modra [Wed, 30 Jul 2003 07:30:16 +0000 (07:30 +0000)]
calls.c (load_register_parameters): When shifting reg sized values to the msb, move the value to a reg first.
* calls.c (load_register_parameters): When shifting reg sized values
to the msb, move the value to a reg first.
From-SVN: r69953
Geoffrey Keating [Wed, 30 Jul 2003 06:43:33 +0000 (06:43 +0000)]
cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
* cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
* line-map.h (linemap_add): Update comments.
* line-map.c (linemap_add): Update comments, interpret zero-length
filename as "<stdin>".
From-SVN: r69952
Andreas Tobler [Wed, 30 Jul 2003 04:04:24 +0000 (06:04 +0200)]
re PR libffi/11410 (ffitest failures on Solaris 8/SPARC)
2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
* src/sparc/ffi.c: Handle all floating point registers.
* src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
From-SVN: r69951
Nathanael Nerode [Wed, 30 Jul 2003 01:37:07 +0000 (01:37 +0000)]
* mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
From-SVN: r69950
GCC Administrator [Wed, 30 Jul 2003 00:16:06 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r69947
Zack Weinberg [Tue, 29 Jul 2003 23:58:08 +0000 (23:58 +0000)]
c-decl.c (last_function_parm_vars, [...]): New static variables.
* c-decl.c (last_function_parm_vars, current_function_parm_vars):
New static variables.
(struct c_scope): Add parms and warned_forward_parm_decls
fields; remove parm_order.
(storedecls, storetags): Delete.
(poplevel): Also clear bindings on the parms chain.
(pushdecl): Handle forward declarations of parameters, and
chain PARM_DECLs on the parms list, not the names list.
(lookup_name_current_level): Check for PARM_DECLs on the parms
list too.
(push_parm_decl): Don't update parm_order.
(clear_parm_order): Rename mark_forward_parm_decls. Issue the
warning, only once per parameter list, and set TREE_ASM_WRITTEN
on the decls here. Then move the forward decls to the names list.
(grokparms): Set last_function_parm_vars.
(get_parm_info): Don't use gettags or getdecls. No need to
extract non-parms from the parms list, or reorganize the parms
list. Feed nonparms back in the TREE_TYPE of the list node
returned. Issue only one error per parameter list for "void"
appearing more than once in said parameter list. Collapse
parmlist_tags_warning into this function to avoid double scan
of tags list.
(start_function): Set current_function_parm_vars.
(store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
directly. Get non-parms from current_function_parm_vars; no
need to extract them from the parms chain. Properly bind tags
in the new scope.
(store_parm_decls_oldstyle): No need to extract non-parameters
from the parms chain, nor to store them back afterward. Move
declaration to top of function, restructure code reordering
DECL_ARGUMENTS.
(store_parm_decls): No need to save and restore warn_shadow.
* c-parse.in: Don't call parmlist_tags_warning nor
clear_parm_order. Call mark_forward_parm_decls when forward
parm decls are encountered.
* c-tree.h: Prototype mark_forward_parm_decls; not
clear_parm_order or parmlist_tags_warning.
testsuite:
* gcc.dg/struct-in-proto-1.c: New test.
From-SVN: r69945
Geoffrey Keating [Tue, 29 Jul 2003 23:36:53 +0000 (23:36 +0000)]
c-common.c (allow_pch): Remove.
2003-07-29 Geoffrey Keating <geoffk@apple.com>
* c-common.c (allow_pch): Remove.
* c-common.h (allow_pch): Remove.
(c_common_no_more_pch): Declare.
* c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
* c-pch.c: Include hosthooks.h.
(c_common_valid_pch): Don't check allow_pch.
(c_common_read_pch): Clear valid_pch to prevent reading PCH files.
(c_common_no_more_pch): New.
* ggc-common.c: Include hosthooks.h.
(gt_pch_save): Call gt_pch_get_address.
(gt_pch_restore): Call gt_pch_use_address.
* hooks.c (hook_voidp_size_t_null): New.
(hook_bool_voidp_size_t_false): New.
* hooks.h (hook_voidp_size_t_null): New.
(hook_bool_voidp_size_t_false): New.
* hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
(HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
(HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
HOST_HOOKS_GT_PCH_USE_ADDRESS.
* hosthooks.h (struct host_hooks): Add gt_pch_get_address,
gt_pch_use_address.
* doc/hostconfig.texi (Host Common): Document
HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
* Makefile.in (c-pch.o): Depend on hosthooks.h.
(ggc-common.o): Likewise.
* config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
(HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
(pch_address_space): New.
(darwin_rs6000_gt_pch_get_address): New.
(darwin_rs6000_gt_pch_use_address): New.
Index: cp/ChangeLog
2003-07-29 Geoffrey Keating <geoffk@apple.com>
* parser.c (cp_lexer_new_main): Use c_common_no_more_pch instead
of setting valid_pch by hand.
From-SVN: r69944
Neil Booth [Tue, 29 Jul 2003 22:26:13 +0000 (22:26 +0000)]
Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
* Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
* cppfiles.c: Completely rewritten.
* c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
struct cpp_path is now struct cpp_dir.
(remove_duplicates): Don't simplify path names.
* c-opts.c (c_common_parse_file): cpp_read_next_file renamed
cpp_stack_file.
* cpphash.h: Include hashtab.h.
(_cpp_file): Declare.
(struct cpp_buffer): struct include_file is now struct _cpp_file,
and struct cpp_path is now struct cpp_dir. Rename members.
(struct cpp_reader): Similarly. New members once_only_files,
file_hash, file_hash_entries, quote_ignores_source_dir,
no_search_path, saw_pragma_once. Remove all_include_files and
max_include_len. Make some members bool.
(_cpp_mark_only_only): Renamed from _cpp_never_reread.
(_cpp_stack_file): Renamed from _cpp_read_file.
(_cpp_stack_include): Renamed from _cpp_execute_include.
(_cpp_init_files): Renamed from _cpp_init_includes.
(_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
* cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
(cpp_read_next_file): Rename and move to cppfiles.c.
(cpp_read_main_file): Update.
* cpplib.c (run_directive): Update for renamed members.
(do_include_common, _cpp_pop_buffer): Update.
(do_import): Undeprecate #import.
(do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
* cpplib.h: Remove file_name_map_list.
(cpp_options): Remove map_list.
(cpp_dir): Rename from cpp_path. New datatype for name_map.
(cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
testsuite:
* gcc.dg/cpp/include2.c: Only expect one message.
From-SVN: r69942
Rainer Orth [Tue, 29 Jul 2003 22:15:28 +0000 (22:15 +0000)]
* decl.c (finish_enum): Initialize underlying_type.
From-SVN: r69941
Phil Edwards [Tue, 29 Jul 2003 19:49:51 +0000 (19:49 +0000)]
Makefile.in: Make stamp-objdir safe for parallel builds.
2003-07-29 Phil Edwards <pme@gcc.gnu.org>
* Makefile.in: Make stamp-objdir safe for parallel builds.
From-SVN: r69937
Thomas Fitzsimmons [Tue, 29 Jul 2003 19:42:37 +0000 (19:42 +0000)]
GtkButtonPeer.java: Call getName rather than getXLFD.
2003-07-29 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Call getName rather
than getXLFD.
* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Likewise.
* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
(gtkSetFont): Scale size parameter by PANGO_SCALE.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c:
Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c:
Likewise.
From-SVN: r69936
Phil Edwards [Tue, 29 Jul 2003 19:17:46 +0000 (19:17 +0000)]
config-ml.in: Use ac_configure_args directly instead of ml_arguments.
2003-07-29 Phil Edwards <pme@gcc.gnu.org>
* config-ml.in: Use ac_configure_args directly instead of
ml_arguments. Only set ml_norecursion if --no[-]recursion is
actually seen.
From-SVN: r69934
Phil Edwards [Tue, 29 Jul 2003 19:00:15 +0000 (19:00 +0000)]
Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
2003-07-29 Phil Edwards <pme@gcc.gnu.org>
* Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
(info): Depend on stmp-docobjdir.
From-SVN: r69933
Rainer Orth [Tue, 29 Jul 2003 18:32:11 +0000 (18:32 +0000)]
* configure: Regenerate.
From-SVN: r69932
Jan Hubicka [Tue, 29 Jul 2003 17:42:34 +0000 (19:42 +0200)]
re PR c++/11131 (Unrelated declaration removes inline flag from function)
PR C++/11131
* tree-inline.c (expand_call_inline): Always call inlinable_function_p
in !unit-at-a-time mode.
From-SVN: r69929
Tom Tromey [Tue, 29 Jul 2003 17:12:54 +0000 (17:12 +0000)]
defineclass.cc (handleField): Throw exception if field name is duplicated.
* defineclass.cc (handleField): Throw exception if field name is
duplicated.
(handleMethod): Throw exception for duplicate method.
From-SVN: r69928
Tom Tromey [Tue, 29 Jul 2003 16:38:48 +0000 (16:38 +0000)]
natIconv.cc (write): Handle case where output buffer is too small.
* gnu/gcj/convert/natIconv.cc (write): Handle case where
output buffer is too small.
From-SVN: r69927
Nathan Sidwell [Tue, 29 Jul 2003 11:16:50 +0000 (11:16 +0000)]
re PR c++/9447 (using Base<T>::member does not work)
cp:
PR c++/9447
* decl.c (add_binding): Add bval local variable.
(push_class_level_binding): Likewise. Allow a USING_DECL to be
pushed.
* decl2.c (do_class_using_decl): The type of a using decl is
unknown.
* parser.c (cp_parser_postfix_expression): Refactor unqualified-id
function call lookup code.
* pt.c (tsubst): A USING_DECL will have unknown type.
(tsubst_copy_and_build): Allow a using decl.
(type_dependent_expression_p): A USING_DECL will make it
dependent.
* semantics.c (finish_member_declaration): Push a dependent using
declaration.
testsuite:
PR c++/9447
* g++.dg/template/using1.C: New test.
* g++.dg/template/using2.C: New test.
* g++.dg/template/using3.C: New test.
* g++.dg/template/using4.C: New test.
From-SVN: r69921
Gerald Pfeifer [Tue, 29 Jul 2003 10:32:50 +0000 (12:32 +0200)]
crontab: Update invocation of gcc_release according to the previous changes there.
* crontab: Update invocation of gcc_release according to the
previous changes there. Add automatic 3.4 snapshots from mainline.
From-SVN: r69919
Alexandre Oliva [Tue, 29 Jul 2003 06:25:53 +0000 (06:25 +0000)]
string-opt-9.c: strcmp returns int.
* gcc.c-torture/execute/string-opt-9.c: strcmp returns int.
* gcc.c-torture/execute/string-opt-10.c: Likewise.
From-SVN: r69916
Geoffrey Keating [Tue, 29 Jul 2003 04:14:48 +0000 (04:14 +0000)]
c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect main function.
* c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
main function.
From-SVN: r69913
Loren J. Rittle [Tue, 29 Jul 2003 02:38:49 +0000 (02:38 +0000)]
* os_dep.c: Remove redundancy introduced in last merge.
From-SVN: r69912
Mark Mitchell [Tue, 29 Jul 2003 01:57:47 +0000 (01:57 +0000)]
re PR c++/11530 ([unit-at-a-time] inline static function not emitted with -O3)
PR c++/11530
* parser.c (cp_parser_postfix_expression): Do not call mark_used.
* semantics.c (finish_id_expression): Call mark_used for all
declarations.
PR c++/11530
* g++.dg/opt/call1.C: New test.
From-SVN: r69911
Mark Mitchell [Tue, 29 Jul 2003 01:14:24 +0000 (01:14 +0000)]
re PR c++/11667 (wider-than-int enums never compare equal to 0)
PR c++/11667
* c-common.c (shorten_compare): Take into account differences
between C and C++ representation for enumeration types.
* tree.h (set_min_and_max_values_for_integral_type): Declare.
* stor-layout.c (set_min_and_max_values_for_integral_type): New
function, broken out from ...
(fixup_signed_type): ... here and ...
(fixup_unsigned_type): ... here.
PR c++/11667
* call.c (standard_conversion): Allow all integral->enumeral
conversions, after marking them as bad.
* decl.c (finish_enum): Make sure that all enumerators are
properly converted to the underlying type.
(build_enumerator): Set DECL_CONTEXT for namespace-scope
enumeration types.
* pt.c (tsubst_copy): Adjust handling of CONST_DECLs accordingly.
(tsubst_enum): Tidy.
* Make-lang.in (typeck.o): Depend on convert.h.
(class.o): Likewise.
(rtti.o): Likewise.
* call.c: Include convert.h.
(convert_arg_to_ellipsis): Use convert_to_real.
* class.c: Include convert.h.
(build_base_path): Use convert_to_integer.
* rtti.c: Include convert.h.
(build_headof): Use convert_to_integer.
* typeck.c: Include convert.h.
(decay_conversion): Use convert_to_integer.
(build_unary_op): Use build_nop.
(get_delta_difference): Use convert_to_integer.
(build_ptrmemfunc): Avoid unncessary conversions.
From-SVN: r69909
GCC Administrator [Tue, 29 Jul 2003 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r69907
Zack Weinberg [Mon, 28 Jul 2003 22:19:46 +0000 (22:19 +0000)]
c-decl.c: Update commentary, adjust blank lines throughout.
* c-decl.c: Update commentary, adjust blank lines throughout.
(struct c_scope): Fix indentation. Reorder members so
outer-context pointers come first, booleans last.
(duplicate_decls, define_label): Use a 'locus' variable for
diagnostic locations in a few more places.
(warn_if_shadowing): Un-split a conditional that fits on one line.
(c_init_decl_processing): No need to clear current_scope and
current_function_scope.
(start_decl): Merge if/else if statements with same action.
(push_parm_decl): Rename old_immediate_size_expand to use
save_foo convention; save/restore around entire function.
(grokdeclarator): Remove unnecessary braces.
From-SVN: r69903
Jan Hubicka [Mon, 28 Jul 2003 21:59:30 +0000 (23:59 +0200)]
decl2.c (mark_member_pointers): Verify that member pointer points to the function.
* decl2.c (mark_member_pointers): Verify that member pointer points to
the function.
From-SVN: r69902
Hans-Peter Nilsson [Mon, 28 Jul 2003 20:15:44 +0000 (20:15 +0000)]
Wdeclaration-after-statement-1.c, [...]: New tests.
* gcc.dg/Wdeclaration-after-statement-1.c,
gcc.dg/Wdeclaration-after-statement-2.c: New tests.
From-SVN: r69900
Hans-Peter Nilsson [Mon, 28 Jul 2003 20:03:25 +0000 (20:03 +0000)]
c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn when warn_declaration_after_statement.
* c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
when warn_declaration_after_statement. Call pedwarn_c90, not
pedwarn. Correct message: it's "ISO C90", not "ISO C89".
* c-common.c (warn_declaration_after_statement): Define.
* c-common.h (warn_declaration_after_statement): Declare.
* c.opt (Wdeclaration-after-statement): New.
* c-errors.c (pedwarn_c90): New function.
* c-opts.c (c_common_handle_option) <case
OPT_Wdeclaration_after_statement>: New.
* c-tree.h (pedwarn_c90): Declare.
* doc/invoke.texi (Option Summary): Document
-Wdeclaration-after-statement.
(Warning Options): Ditto.
Co-Authored-By: Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
From-SVN: r69899
Jan Hubicka [Mon, 28 Jul 2003 18:13:57 +0000 (20:13 +0200)]
* i386.md (memory attribute) Avoid accessing uninitialized memory
for ishift1 type instructions.
From-SVN: r69895
Benjamin Kosnik [Mon, 28 Jul 2003 17:12:16 +0000 (17:12 +0000)]
testsuite_hooks.h: Remove list include.
2003-07-28 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/testsuite_hooks.h: Remove list include.
(func_callback): Define as unique type, not std::list.
Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
* testsuite/libstdc++-v3.dg/dg.exp: Same.
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
* testsuite/23_containers/bitset_ctor.cc:
* testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
* testsuite/18_support/numeric_limits.cc: Same.
* testsuite/21_strings/basic_string/append/char/1.cc: Same.
* testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
* testsuite/21_strings/basic_string/compare/char/1.cc: Same.
* testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
* testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
* testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
* testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
* testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
* testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
* testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
* testsuite/21_strings/basic_string/find/char/1.cc: Same.
* testsuite/21_strings/basic_string/find/char/2.cc: Same.
* testsuite/21_strings/basic_string/find/char/3.cc: Same.
* testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
* testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
* testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
* testsuite/21_strings/basic_string/insert/char/1.cc: Same.
* testsuite/21_strings/basic_string/insert/char/2.cc: Same.
* testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
* testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
* testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
* testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
* testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
* testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
* testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
* testsuite/21_strings/basic_string/operators/char/1.cc: Same.
* testsuite/21_strings/basic_string/operators/char/2.cc: Same.
* testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
* testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
* testsuite/21_strings/basic_string/replace/char/1.cc: Same.
* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
* testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
* testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
* testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
* testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
* testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
* testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
* testsuite/21_strings/basic_string/substr/char/1.cc: Same.
* testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
* testsuite/23_containers/bitset_ctor.cc: Same.
* testsuite/23_containers/bitset_shift.cc: Same.
* testsuite/23_containers/vector_ctor.cc: Same.
* testsuite/23_containers/vector_element_access.cc: Same.
* testsuite/24_iterators/istreambuf_iterator.cc: Same.
* testsuite/24_iterators/iterator.cc: Same.
* testsuite/24_iterators/ostreambuf_iterator.cc: Same.
* testsuite/25_algorithms/lower_bound.cc: Same.
* testsuite/26_numerics/complex_inserters_extractors.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
Same.
From-SVN: r69892
Tom Tromey [Mon, 28 Jul 2003 16:12:00 +0000 (16:12 +0000)]
natString.cc (init(gnu.gcj.runtime.StringBuffer)): New method.
* java/lang/natString.cc (init(gnu.gcj.runtime.StringBuffer)):
New method.
Include gnu/gcj/runtime/StringBuffer.h.
* java/lang/String.java (init(gnu.gcj.runtime.StringBuffer)): New
native method.
(String(gnu.gcj.runtime.StringBuffer)): Use it.
From-SVN: r69890
Jakub Jelinek [Mon, 28 Jul 2003 15:42:24 +0000 (17:42 +0200)]
configure.in (--enable-checking): Add fold category.
* configure.in (--enable-checking): Add fold category.
(ENABLE_FOLD_CHECKING): Define if requested.
* configure: Rebuilt.
* config.in: Rebuilt.
* doc/install.texi: Document it.
* fold-const.c: Include md5.h.
[ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
[ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
print_fold_checksum): New functions.
* fold-const.c (fold): Never modify argument passed to fold, instead
change a copy and return it.
* convert.c (convert_to_integer): Likewise.
testsuite/
* gcc.c-torture/compile/
20030725-1.c: New test.
From-SVN: r69886
Aldy Hernandez [Mon, 28 Jul 2003 15:00:50 +0000 (15:00 +0000)]
20030505.c: Only run for SPE.
2003-07-28 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/
20030505.c: Only run for SPE.
Remove definition of opaque type.
From-SVN: r69884