inclhack.def (broken_cabs): Make matching more generous.
* fixinc/inclhack.def (broken_cabs): Make matching more generous.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/math.h: Regenerate to match test_text change.
sourcebuild.texi (Front End Directory): Don't make references to libsubdir, it's not part of the interface to frontends.
* doc/sourcebuild.texi (Front End Directory): Don't make references
to libsubdir, it's not part of the interface to frontends.
* doc/install.texi (Configuration): Help users read faster by saying
that GCC's configure options are the standard autoconf ones.
Mention --libdir. Update the default rules for finding the
assembler. Don't use libsubdir since we haven't said what it means.
(Specific): In the Solaris 7 notes, update the place to put the
assembler.
* doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
* doc/cpp.texi (Search Path): Actually, the search path
depends on libdir, which can relocate with cpp.
* doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
now a private interface between the Makefile and the driver.
* varasm.c (lookup_constant_def): New function.
* rtl.h (lookup_constant_def): Declare it.
* dwarf2out.c (loc_descriptor_from_tree): Use it.
Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
Sascha Brawer [Fri, 1 Aug 2003 20:10:22 +0000 (22:10 +0200)]
BevelBorder.java, [...]: Prepend "doc-files" to all paths to embedded Javadoc images...
2003-08-01 Sascha Brawer <brawer@dandelis.ch>
* javax/swing/border/BevelBorder.java,
javax/swing/border/EtchedBorder.java,
javax/swing/border/LineBorder.java,
javax/swing/border/MatteBorder.java,
javax/swing/border/SoftBevelBorder.java,
javax/swing/plaf/BorderUIResource.java,
javax/swing/plaf/ComponentUI.java,
javax/swing/plaf/TreeUI.java,
javax/swing/plaf/basic/BasicBorders.java,
javax/swing/plaf/basic/BasicGraphicsUtils.java,
javax/swing/plaf/basic/BasicTreeUI.java:
Prepend "doc-files" to all paths to embedded Javadoc images, so
that the generated documentation contains the correct URL.
Zack Weinberg [Fri, 1 Aug 2003 18:41:40 +0000 (18:41 +0000)]
c-decl.c (gettags, [...]): Delete.
* c-decl.c (gettags, pushdecl_function_level): Delete.
(last_function_parm_vars): Rename last_function_parm_others.
(current_function_parm_vars): Rename current_function_parm_others.
(struct c_scope): Rewrite comment explaining this data structure.
Add names_last, blocks_last, parms_last fields. Rename
incomplete_list to incomplete.
(SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
(poplevel): Ignore second argument. No need to nreverse
anything. Restructure such that each list is processed
exactly once. Use 'const location_t *locus' syntactic sugar
variable where useful. Issue unused variable warnings
ourselves, do not rely on function.c.
(insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
(pushdecl_top_level): Likewise. Don't call duplicate_decls.
(implicitly_declare): decl cannot be error_mark_node.
(undeclared_variable): Manipulate scope structure directly.
(c_make_fname_decl): Likewise.
(getdecls, c_init_decl_processing): Fix comment.
(mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
for 'last' variable.
(grokparms): No need to nreverse parms list.
(store_parm_decls_newstyle): Set up the parms_last and
names_last fields of the new scope too.
(store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
on parms to begin with; check this under ENABLE_CHECKING. Set
up parms_last.
(check_for_loop_decls): Refer directly to current_scope->tags.
Use consistent quote style in diagnostics.
(c_write_global_declarations): The names list is not backward.
* c-common.h: Don't prototype gettags.
* c-parse.in: Call poplevel with second argument 0 always.
Alan Modra [Fri, 1 Aug 2003 15:19:01 +0000 (15:19 +0000)]
ffi.c (ffi_prep_args64): Modify for changed gcc structure passing.
* src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
structure passing.
(ffi_closure_helper_LINUX64): Likewise.
* src/powerpc/linux64.S: Remove code writing to parm save area.
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
address in lr from ffi_closure_helper_LINUX64 call to calculate
table address. Optimize function tail.
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.
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.
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.
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.
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.
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.
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.
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.
* 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.
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.
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.
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.
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.
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.