- 01 Aug, 2003 29 commits
-
-
PR c++/11697 * decl.c (decls_match): Don't ignore the types of template classes. PR c++/11744 * pt.c (tsubst_copy_and_build): Refine Koenig lookup logic. PR c++/11697 * g++.dg/template/using6.C: New test. PR c++/11744 * g++.dg/template/koenig2.C: New test. From-SVN: r70062
Mark Mitchell committed -
* 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. From-SVN: r70061
Zack Weinberg committed -
From-SVN: r70058
Kaveh R. Ghazi committed -
* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Prepend "__builtin_" onto NAME with string concatenation. Remove explicit "__builtin_" from each macro call. Reformat entire file. From-SVN: r70057
Kaveh R. Ghazi committed -
* builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING, ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout. From-SVN: r70055
Kaveh R. Ghazi committed -
* configure: Rebuilt. * configure.in (tool_include_dir): Redefine to match gcc. From-SVN: r70054
Tom Tromey committed -
From-SVN: r70053
Ulrich Weigand committed -
s390.c (s390_select_ccmode): Do not attempt to use CCL, CCL1, or CCL2 modes with floating point operations. 2003-08-01 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL, CCL1, or CCL2 modes with floating point operations. * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc", "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc", "*subdf3_cconly"): New insns. ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise. From-SVN: r70052
Andreas Krebbel committed -
PR c++/7983 * g++.dg/parse/typedef4.C: New test. From-SVN: r70051
Kriang Lerdsuwanakij committed -
* 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. From-SVN: r70050
Alan Modra committed -
2003-08-01 Jerry Quinn <jlquinn@optonline.net> Mark Wielaard <mark@klomp.org> * java/math/BigDecimal (divide): Correctly handle ROUND_HALF_EVEN when amount is greater than 0.5. Simplify and optimize code. Co-Authored-By: Mark Wielaard <mark@klomp.org> From-SVN: r70049
Jerry Quinn committed -
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
Kriang Lerdsuwanakij committed -
* 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
Nathan Sidwell committed -
* 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
Neil Booth committed -
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 committed -
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 committed -
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
Nathan Sidwell committed -
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
SUGIOKA Toshinobu committed -
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
Nathan Sidwell committed -
* 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
Tom Tromey committed -
2003-07-31 Stepan Koltsov <yozh@mx1.ru> Fix for PR libgcj/11728: From-SVN: r70037
Stepan Koltsov committed -
From-SVN: r70036
Matt Kraai committed -
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
Tom Tromey committed -
* builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE' throughout. * builtins.def: Likewise. From-SVN: r70034
Kaveh R. Ghazi committed -
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
Phil Edwards committed -
From-SVN: r70032
Jason Merrill committed -
* 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
Jason Merrill committed -
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
Roger Sayle committed -
From-SVN: r70028
GCC Administrator committed
-
- 31 Jul, 2003 11 commits
-
-
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
Geoffrey Keating committed -
* inclhack.def (stdio_va_list): Avoid bogus replacement which triggers on Interix. * fixincl.x: Regenerate. From-SVN: r70023
Nathanael Nerode committed -
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
Jakub Jelinek committed -
From-SVN: r70019
Richard Kenner committed -
From-SVN: r70018
Doug Gregor committed -
From-SVN: r70013
Richard Kenner committed -
* 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
Per Bothner committed -
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
Benjamin Kosnik committed -
* combine.c (try_combine): Set JUMP_LABEL for newly created unconditional jump. From-SVN: r70010
Zdenek Dvorak committed -
From-SVN: r70009
Zdenek Dvorak committed -
2003-07-31 Andreas Tobler <a.tobler@schweiz.ch> * btest-gcc.sh: Add make check-target-libjava. From-SVN: r70008
Andreas Tobler committed
-