aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2005-02-23re PR c++/20073 (ICE initializing const array)Mark Mitchell1-0/+7
PR c++/20073 * decl.c (start_decl_1): Don't clear TREE_READONLY. (cp_finish_decl): Likewise. (complete_vars): Call cp_apply_type_quals_to_decl. * typeck.c (cp_apply_type_quals): Avoid setting TREE_READONLY in cases where that's not valid. From-SVN: r95442
2005-02-23re PR c++/20073 (ICE initializing const array)Mark Mitchell4-27/+31
PR c++/20073 * decl.c (start_decl_1): Don't clear TREE_READONLY. (cp_finish_decl): Likewise. (complete_vars): Call cp_apply_type_quals_to_decl. * typeck.c (cp_apply_type_quals): Avoid setting TREE_READONLY in cases where that's not valid. PR c++/20073 * g++.dg/init/const1.C: New test. From-SVN: r95441
2005-02-23re PR c++/19991 (Enum not accepted in array-size)Mark Mitchell13-48/+109
PR c++/19991 * init.c (integral_constant_value): Iterate if the value of a decl is itself a constant. PR c++/20152 * parser.c (cp_parser_class_head): Check for redefintions here. * semantics.c (begin_class_definition): Not here. PR c++/20153 * decl2.c (build_anon_union_vars): Add type parameter. (finish_anon_union): Pass it. PR c++/20148 * error.c (dump_expr): Do not print the body of a BIND_EXPR. Handle STATEMENT_LIST. PR c++/19991 * g++.dg/parse/constant7.C: New test. PR c++/20152 * g++.dg/parse/error27.C: New test. * g++.dg/template/qualttp15.C: Adjust error markers. * g++.old-deja/g++.other/struct1.C: Likewise. PR c++/20153 * g++.dg/template/error17.C: New test. PR c++/20148 * g++.dg/parser/error26.C: New test. From-SVN: r95438
2005-02-23re PR tree-optimization/20100 (LIM is pulling out a pure function even ↵Diego Novillo11-88/+193
though there is something which can modify global memory) PR tree-optimization/20100 PR tree-optimization/20115 * tree-optimize.c (init_tree_optimization_passes): Remove pass_maybe_create_global_var. * tree-pass.h (pass_maybe_create_global_var): Remove. * tree-ssa-alias.c (aliases_computed_p): Declare. (struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND. (count_calls_and_maybe_create_global_var): Remove. (pass_maybe_create_global_var): Remove. (init_alias_info): Do not declare aliases_computed_p. (maybe_create_global_var): If the function contains no call-clobbered variables and a mix of pure/const and regular function calls, create .GLOBAL_VAR. Mark all call-clobbered variables for renaming. (merge_pointed_to_info): Update comment. (add_pointed_to_var): Likewise. (is_escape_site): Likewise. Accept struct alias_info * instead of size_t *. Update all users. Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND as necessary. * tree-ssa-operands.c (get_call_expr_operands): If ALIASES_COMPUTED_P is false, do not add call-clobbering operands. * tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false. (delete_tree_ssa): Likewise. testsuite/ChangeLog PR tree-optimization/20100 PR tree-optimization/20115 * gcc.dg/pr20115.c: New test. * gcc.dg/pr20115-1.c: New test. * gcc.dg/pr20100.c: New test. * gcc.dg/tree-ssa/20040517-1.c: Expect virtual operands for call-clobbered variables after alias1. From-SVN: r95437
2005-02-23[multiple changes]Bud Davis2-0/+58
2004-02-22 Paul Thomas <paulthomas2@wannado.fr> Bud Davis <bdavis@gfortran.org> * io/list_read.c (read_real): Handle separators properly in list directed read. 2005-02-22 Bud Davis <bdavis@gfortran.org> * gfortran.dg/list_read_4.f90: new test. From-SVN: r95436
2005-02-22Fix FreeBSD __LDBL_MAX__ -pedantic -save-temps bug.James E Wilson2-2/+10
* toplev.c (backend_init): Don't call init_adjust_machine_modes here. (do_compile): Do call it here. From-SVN: r95432
2005-02-23re PR rtl-optimization/20017 (internal compiler error: in ↵Kazu Hirata4-0/+59
rtl_verify_flow_info, at cfgrtl.c:2212) gcc/ PR rtl-optimization/20017. * passes.c (rest_of_handle_combine, rest_of_handle_cse, rest_of_handle_cse2, rest_of_handle_gcse): Call delete_dead_jumptables immediately before calling cleanup_cfg. testsuite/ PR rtl-optimization/20017. * gcc.dg/pr20017.c: New. From-SVN: r95431
2005-02-22re PR tree-optimization/19952 (ICE: tree check: expected class ↵Devang Patel4-1/+36
'declaration', have 'statement' (label_expr) in tree_verify_flow_info, at tree-cfg.c:3709) PR 19952 * tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip all labels * g++.dg/tree-ssa/pr19952.C: New test. From-SVN: r95430
2005-02-23Daily bump.GCC Administrator1-1/+1
From-SVN: r95426
2005-02-22* config/rs6000/aix.h (WINT_TYPE): Define.David Edelsohn2-0/+7
From-SVN: r95421
2005-02-22rs6000.c (rs6000_override_options): Default to natural alignment for 64-bit ↵Stan Shebs3-2/+24
Darwin. * config/rs6000/rs6000.c (rs6000_override_options): Default to natural alignment for 64-bit Darwin. (rs6000_parse_alignment_option): Warn about uses of -malign-power on 64-bit Darwin. * doc/invoke.texi: Document this. From-SVN: r95420
2005-02-22parser.c (cp_parser_direct_declarator): Always complain about non-constant ↵Mark Mitchell5-14/+38
array bounds when in a function scope. * parser.c (cp_parser_direct_declarator): Always complain about non-constant array bounds when in a function scope. * semantics.c (finish_id_expression): Do not mark dependent names as non-constant. From-SVN: r95417
2005-02-22c-common.c (c_common_type_for_mode): Pass the mode's precision to ↵DJ Delorie2-2/+11
make_[un]signed_type, not the mode itself. * c-common.c (c_common_type_for_mode): Pass the mode's precision to make_[un]signed_type, not the mode itself. From-SVN: r95412
2005-02-22re PR java/20056 ('verification failed: incompatible type on stack' with ↵Tom Tromey2-17/+45
--indirect-dispatch) PR java/20056: * verify-impl.c (EITHER): New define. (types_compatible): Handle it. (check_field_constant): Use it. From-SVN: r95404
2005-02-22tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.Kazu Hirata2-49/+44
* tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove. (coalesce_ssa_name): Don't check for SSANORM_USE_COALESCE_LIST. (rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST. From-SVN: r95397
2005-02-22cfg.c (cached_make_edge): Call make_edge if edge cache is not available.Kazu Hirata2-33/+34
* cfg.c (cached_make_edge): Call make_edge if edge cache is not available. Use tail calls wherever possible. (make_edge): Call unchecked_make_edge to create an edge. From-SVN: r95396
2005-02-22tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...Diego Novillo2-7/+13
* tree-into-ssa.c (rewrite_blocks): Move debug dumps from ... (rewrite_into_ssa): ... here. From-SVN: r95395
2005-02-22asm1.c: Check for IBM1047 code set, not IBM-1047.Uros Bizjak14-14/+31
* g++.dg/charset/asm1.c: Check for IBM1047 code set, not IBM-1047. * g++.dg/charset/asm2.c: Likewise. * g++.dg/charset/asm3.c: Likewise. * g++.dg/charset/asm4.c: Likewise. * g++.dg/charset/asm5.c: Likewise. * g++.dg/charset/attribute1.c: Likewise. * g++.dg/charset/attribute2.c: Likewise. * g++.dg/charset/extern1.cc: Likewise. * g++.dg/charset/extern2.cc: Likewise. * g++.dg/charset/extern3.cc: Likewise. * g++.dg/charset/function.cc: Likewise. * g++.dg/charset/string.c: Likewise. * g++.dg/charset/charset.exp: Likewise. * lib/target-supports.exp (check_iconv_available): Fix comment. From-SVN: r95388
2005-02-22builtin1.c: Use dg-require-iconv "IBM1047".Uros Bizjak14-13/+31
* gcc.dg/charset/builtin1.c: Use dg-require-iconv "IBM1047". * gcc.dg/charset/asm1.c: Check for IBM1047 code set, not IBM-1047. * gcc.dg/charset/asm2.c: Likewise. * gcc.dg/charset/asm3.c: Likewise. * gcc.dg/charset/asm4.c: Likewise. * gcc.dg/charset/asm5.c: Likewise. * gcc.dg/charset/asm6.c: Likewise. * gcc.dg/charset/attribute1.c: Likewise. * gcc.dg/charset/attribute2.c: Likewise. * gcc.dg/charset/builtin1.c: Likewise. * gcc.dg/charset/extern.c: Likewise. * gcc.dg/charset/function.c: Likewise. * gcc.dg/charset/string.c: Likewise. * gcc.dg/charset/charset.exp:Likewise. From-SVN: r95385
2005-02-22[multiple changes]Bud Davis2-0/+19
2004-02-21 Bud Davis <bdavis@gfortran.org> PR fortran/20086 * io/transfer.c (write_constant_string): accept an 'h' as the start of a hollerith format string. 2005-02-21 Bud Davis <bdavis9659@comcast.net> PR fortran/20086 * gfortran.dg/pr20086.f90: New test. From-SVN: r95379
2005-02-22re PR tree-optimization/19786 (Aliasing optimisation bug)Alexandre Oliva4-0/+60
gcc/ChangeLog: PR tree-optimization/19786 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one tag to another's may-alias bitmap when adding to the other's list. gcc/testsuite/ChangeLog: PR tree-optimization/19786 * g++.dg/tree-ssa/pr19786.C: New. From-SVN: r95377
2005-02-21tree-ssa-loop-ivopts.c (computation_cost): Start register numbering at ↵DJ Delorie3-2/+11
LAST_VIRTUAL_REGISTER+1 to avoid possibly using... * tree-ssa-loop-ivopts.c (computation_cost): Start register numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard registers in unsupported ways. * expmed.c (init_expmed): Likewise. From-SVN: r95373
2005-02-22Daily bump.GCC Administrator1-1/+1
From-SVN: r95364
2005-02-21cv_func.C: New test.Douglas Gregor4-2/+92
2005-02-21 Douglas Gregor <dgregor@cs.indiana.edu> * g++.dg/other/cv_func.C: New test. * g++.dg/template/mem_func_ptr.C: New test. * g++.dg/template/qualttp20.C: We now get the xfail'd warning when we are being pedantic; we expect this test to pass now. * g++.old-deja/g++.pt/ptrmem5.C: We no longer receive a bogus error here. From-SVN: r95357
2005-02-21re PR c++/19076 (Pointer to member function not matched to pointer to member ↵Douglas Gregor8-27/+155
template) 2005-02-21 Douglas Gregor <dgregor@cs.indiana.edu> PR c++/19076 PR c++/6628 * cp-tree.h (cp_apply_type_quals_to_decl): Declared. * decl.c (grokdeclarator): Pedwarn about qualifying a function type. Add qualifiers when declaring a typedef of a function type. Member function pointers pick up the qualifiers of the typedef used to declare them. Don't complain about creating cv-qualified function types. Complain about qualified function typedefs that are used to declare non-static member functions or free functions. Use cp_apply_type_quals_to_decl. (start_preparsed_function): Use cp_apply_type_quals_to_decl. (grokclassfn): Use cp_apply_type_quals_to_decl. * error.c (dump_type_suffix): Print qualifiers for function types. * pt.c (tsubst_decl): Use cp_apply_type_quals_to_decl. (tsubst): When substituting a function type into a member pointer type, pass along the qualifiers. (unify): Unify member pointers to member function pointers. * tree.c (cp_build_qualified_type_real): Function types may be qualified. This includes restrict qualifiers. * typeck.c (cp_apply_type_quals_to_decl): New function to replace use of c_apply_type_quals_to_decl. Drops qualifiers that are being added to function types. From-SVN: r95356
2005-02-21* config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.Stan Cox2-6/+7
From-SVN: r95348
2005-02-21flow.c (delete_dead_jumptables): Speed up by scanning insns that do not ↵Kazu Hirata2-13/+30
belong to any basic block. * flow.c (delete_dead_jumptables): Speed up by scanning insns that do not belong to any basic block. From-SVN: r95342
2005-02-21tree-cfg.c (fold_cond_expr_cond): New.Kazu Hirata2-14/+39
* tree-cfg.c (fold_cond_expr_cond): New. (make_edges): Call fold_cond_expr_cond. (find_taken_edge): Accept nothing but INTEGER_CST. (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0 and 1. (find_taken_edge_switch_expr): Remove a check for INTEGER_CST. From-SVN: r95339
2005-02-21Fix law's ChangeLog date, andTobias Schlüter2-3/+16
Fix law's ChangeLog date, and * lib/gfortran-dg.exp (gfortran-dg-test): Split long regexps. From-SVN: r95335
2005-02-21cfganal.c (find_unreachable_blocks): Manually CSE load of e->dest.Jeff Law2-5/+14
* cfganal.c (find_unreachable_blocks): Manually CSE load of e->dest. From-SVN: r95334
2005-02-21* gcc.dg/tree-ssa/20041122-1.c: New test for missing optimization.Jeff Law2-0/+43
From-SVN: r95332
2005-02-21c-objc-common.h, [...]: Update copyright.Kazu Hirata10-9/+14
* c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c, genautomata.c, langhooks.c, langhooks.h, system.h, config/arm/lib1funcs.asm: Update copyright. From-SVN: r95331
2005-02-21tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.Kazu Hirata2-7/+12
* tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove. (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST): Adjust their definitions. (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS. (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS. From-SVN: r95330
2005-02-21do_iterator: Split loop, markup all lines for which an error locus is printed.Tobias Schlüter5-16/+57
* gfortran.dg/do_iterator: Split loop, markup all lines for which an error locus is printed. * gfortran.dg/pr17708.f90: Markup all lines for which an error locus is printed. * gfortran.dg/select_4.f90: Likewise. * lib/gfortran-dg.exp (gfortran-dg-test): Handle gfortran error locuses in the various permutations. From-SVN: r95329
2005-02-21* dbxout.c (dbxout_function_end): Emit Lscope label always.Ulrich Weigand2-9/+13
From-SVN: r95326
2005-02-21re PR bootstrap/13770 ([doc] --with-gc not documented)Richard Guenther2-0/+11
2005-02-21 Richard Guenther <rguenth@gcc.gnu.org> PR bootstrap/13770 * doc/install.texi: Document --with-gc. From-SVN: r95325
2005-02-21simplify-rtx.c (simplify_unary_operation): Add a missing "break" statement.Paolo Bonzini2-0/+6
2005-02-21 Paolo Bonzini <bonzini@gnu.org> * simplify-rtx.c (simplify_unary_operation): Add a missing "break" statement. From-SVN: r95321
2005-02-21re PR tree-optimization/18663 (ACATS ICE cc1221d expected integer_cst, have ↵Eric Botcazou2-4/+13
nop_expr in tree_int_cst_lt, at tree.c:3779) PR tree-optimization/18663 * tree-ssa-dom.c (extract_range_from_cond): Return 0 if the type has variable bounds. From-SVN: r95320
2005-02-21* gcse.c: Remove an obsolete comment.Kazu Hirata2-3/+7
From-SVN: r95319
2005-02-21* gcse.c: Remove an obsolete comment.Kazu Hirata2-13/+6
From-SVN: r95318
2005-02-21Daily bump.GCC Administrator1-1/+1
From-SVN: r95315
2005-02-20* symbol.c: Typos in comments.Steven G. Kargl2-10/+13
From-SVN: r95311
2005-02-20re PR tree-optimization/19951 (ICE in tree_split_edge, at tree-cfg.c:3199 ↵Dorit Naishlos4-0/+121
with -ftree-vectorize) PR tree-optimization/19951 * g++.dg/vect: New directory. * g++.dg/vect/vect.exp: New file. * g++.dg/vect/pr19951.cc: New testcase. * g++.dg/dg.exp: Also prune vectorizer tests. From-SVN: r95309
2005-02-20extend.texi (Function Attributes): The attribute "pure" is below this text, ↵Hans-Peter Nilsson2-1/+6
not above. * doc/extend.texi (Function Attributes) <Attribute const>: The attribute "pure" is below this text, not above. From-SVN: r95308
2005-02-20* expr.c (gfc_type_convert_binary): Typo in comment.Steven G. Kargl2-1/+5
From-SVN: r95307
2005-02-20pa.c (pa_assemble_integer, get_plabel): Small cleanups.John David Anglin3-93/+93
* pa.c (pa_assemble_integer, get_plabel): Small cleanups. (pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf. * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup. From-SVN: r95306
2005-02-20re PR middle-end/18785 (isdigit builtin function fails with EBCDIC character ↵Zack Weinberg18-311/+295
sets) PR 18785 libcpp: * charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro. (cpp_host_to_exec_charset): New function. * include/cpplib.h: Declare cpp_host_to_exec_charset. gcc: * langhooks.h (struct lang_hooks): Add to_target_charset. * langhooks.c (lhd_to_target_charset): New function. * langhooks-def.h: Declare lhd_to_target_charset. (LANG_HOOKS_TO_TARGET_CHARSET): New macro. (LANG_HOOKS_INITIALIZER): Update. * c-common.c (c_common_to_target_charset): New function. * c-common.h: Declare it. * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to c_common_to_target_charset. * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0) (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT): Delete definitions. * system.h: Poison them. * doc/tm.texi: Don't discuss them. * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset. * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char. (pp_c_char): Do not attempt to generate letter escapes for newline, tab, etc. * config/arm/arm.c (output_ascii_pseudo_op): Likewise. * config/mips/mips.c (mips_output_ascii): Likewise. gcc/cp: * cp-objcp-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to c_common_to_target_charset. Delete bogus comment. gcc/testsuite: * gcc.dg/charset/builtin1.c: New test. From-SVN: r95304
2005-02-20re PR tree-optimization/19951 (ICE in tree_split_edge, at tree-cfg.c:3199 ↵Dorit Naishlos2-5/+26
with -ftree-vectorize) PR tree-optimization/19951 * tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge is abnormal. From-SVN: r95301
2005-02-20re PR middle-end/19698 (Infinite loop in update_life_info)Steven Bosscher4-18/+149
PR middle-end/19698 * function.h (struct function): New field `max_loop_depth'. * cfgloop.c (establish_preds): Update maximum loop depth seen so far. (flow_loops_find): Reset the max loop depth count before finding loops. * flow.c (MAX_LIVENESS_ROUNDS): New constant. (update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround. (calculate_global_regs_live): Make sure the loop will terminate when the initial sets are not empty. From-SVN: r95299
2005-02-20Daily bump.GCC Administrator1-1/+1
From-SVN: r95296