aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-11-12re PR tree-optimization/34027 (-Os code size nearly doubled)Richard Guenther5-0/+73
2007-11-12 Richard Guenther <rguenther@suse.de> PR middle-end/34027 * fold-const.c (fold_binary): Fold n - (n / m) * m to n % m. (fold_binary): Fold unsinged FLOOR_DIV_EXPR to TRUNC_DIV_EXPR. * gcc.dg/pr34027-1.c: New testcase. * gcc.dg/pr34027-2.c: Likewise. From-SVN: r130097
2007-11-12re PR tree-optimization/33953 (internal compiler error: vector ↵Ira Rosen4-11/+87
VEC(tree,base) index domain error, in vectorizable_operation at tree-vect-transform.c:4017) PR tree-optimization/33953 * tree-vect-transform.c (vectorizable_operation): In case of SLP, allocate vec_oprnds1 according to the number of created vector statements. In case of shift with scalar argument, store scalar operand for every vector statement to be created for the SLP node. Fix a comment. From-SVN: r130096
2007-11-12re PR c++/17577 (#pragma implementation no longer diagnoses use after file ↵Tom Tromey5-2/+21
to which it applies) gcc/cp PR c++/17577: * lex.c (handle_pragma_implementation): Use cpp_included_before. gcc/testsuite PR c++/17577: * g++.dg/ext/pr17577.h: New file. * g++.dg/ext/pr17577.C: New file. libcpp PR c++/17557: * include/cpplib.h (cpp_included_before): Declare. * files.c (struct file_hash_entry) <location>: New field. (_cpp_find_file): Initialize new field. (make_cpp_dir): Likewise. (cpp_included_before): New function. From-SVN: r130093
2007-11-12re PR c++/8570 (line number in error message is badly placed with illegal ↵Manuel López-Ibáñez6-10/+44
template friend declaration) 2007-11-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c++/8570 cp/ * pt.c (redeclare_class_template): Update error message. Use a note to show the previous declaration. (tsubst_friend_class): Use the location of the friend template as the input location before calling redeclare_class_template. testsuite/ * g++.old-deja/g++.ns/template13.C: Update expected output. * g++.old-deja/g++.pt/friend23.C: Likewise. * g++.dg/warn/pr8570.C: New. From-SVN: r130092
2007-11-12Daily bump.GCC Administrator1-1/+1
From-SVN: r130090
2007-11-11re PR c++/34068 (ICE using pseudo-destructor for invalid expression)Jakub Jelinek4-1/+22
PR c++/34068 * semantics.c (finish_pseudo_destructor_expr): Handle object == error_mark_node. * g++.dg/template/pseudodtor4.C: New test. From-SVN: r130087
2007-11-11Daily bump.GCC Administrator1-1/+1
From-SVN: r130080
2007-11-10a-tasatt.adb: Revert previous change for this file as it will generate an ↵Samuel Tardieu2-9/+17
error when... gcc/ada/ * a-tasatt.adb: Revert previous change for this file as it will generate an error when this package is instantiated from a local context. From-SVN: r130076
2007-11-10be.po, [...]: Update.Joseph Myers16-143928/+178657
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update. From-SVN: r130074
2007-11-10* trans-common.c: Remove prototype for gfc_get_common.Francois-Xavier Coudert2-6/+4
From-SVN: r130073
2007-11-10re PR fortran/33592 (FAIL: gfortran.dg/array_constructor_11.f90 -O1 ↵Francois-Xavier Coudert2-7/+13
execution test) PR fortran/33592 * trans.c (gfc_call_realloc): Fix the logic and rename variables. From-SVN: r130072
2007-11-10gcse.c (CUID_INSN): Remove.Steven Bosscher2-15/+7
2007-11-10 Steven Bosscher <stevenb.gcc@gmail.com> * gcse.c (CUID_INSN): Remove. (cuid_insn): Ditto. (alloc_gcse_mem): Don't allocate cuid_insn. (free_gcse_mem): Don't free cuid_insn. From-SVN: r130071
2007-11-10re PR fortran/34020 (Bogus codegen for openmp atomics w/ indirects operands ↵Jakub Jelinek2-2/+20
on IPF) PR fortran/34020 * gimplify.c (goa_lhs_expr_p): Inside INDIRECT_REF handle unshared nops. * testsuite/libgomp.fortran/pr34020.f90: New test. From-SVN: r130069
2007-11-10re PR middle-end/34018 (ICE: verify_stmts failed)Jakub Jelinek5-102/+174
PR middle-end/34018 * tree-inline.h (copy_body_data): Add regimplify field. * tree-inline.c (copy_body_r): Set id->regimplify to true if an TREE_INVARIANT ADDR_EXPR is no longer invariant after substitutions. (copy_bb): Clear id->regimplify before walk_tree, if it is set afterwards, regimplify the whole statement. * g++.dg/opt/inline14.C: New test. From-SVN: r130068
2007-11-10re PR tree-optimization/33680 (ICE when compilling elbg.c from ffmpeg ↵Jakub Jelinek4-30/+72
(vectorizer)) PR tree-optimization/33680 * tree-data-ref.c (split_constant_offset) <case ADDR_EXPR>: Punt if the added cast involves variable length types. * gcc.c-torture/compile/20071108-1.c: New test. From-SVN: r130067
2007-11-10re PR c++/32241 (ICE trying to call x.~X(); in a template)Jakub Jelinek4-9/+73
PR c++/32241 * pt.c (tsubst_copy_and_build) <case COMPONENT_REF>: If object_type is not scalar type, let finish_class_member_access_expr handle diagnostics. Pass BIT_NOT_EXPR argument to finish_pseudo_destructor_expr. Handle SCOPE_REF properly. * g++.dg/template/pseudodtor3.C: New test. From-SVN: r130066
2007-11-10re PR c++/33510 (Array size of array with size determined by the initializer ↵Douglas Gregor4-1/+83
wrong with packs) 2007-11-09 Douglas Gregor <doug.gregor@gmail.com> PR c++/33510 * decl.c (cp_complete_array_type): If any of the initializer elements are pack expansions, don't compute the array size yet. 2007-11-09 Douglas Gregor <doug.gregor@gmail.com> PR c++/33510 * g++.dg/cpp0x/variadic-init.C: New. From-SVN: r130065
2007-11-10Daily bump.GCC Administrator1-1/+1
From-SVN: r130063
2007-11-09Maxim Kuvyrkov <maxim@codesourcery.com>Alexander Monakov2-90/+96
* gcc/sched-deps.c (sched_analyze_insn): Use MOVE_BARRIER instead of TRUE_BARRIER for jumps. Add register dependencies even when reg_pending_barrier is set. Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com> From-SVN: r130052
2007-11-09haifa-sched.c (haifa_classify_insn): Rename to ...Alexander Monakov2-36/+32
* gcc/haifa-sched.c (haifa_classify_insn): Rename to ... (haifa_classify_rtx): ... this. Improve handling of COND_EXECs, handle PARALLELs by recursing. Use it ... (haifa_classify_insn): ... here. Reimplement. From-SVN: r130050
2007-11-09bitmap.h (bitmap_single_bit_set_p): Declare.Richard Guenther4-2/+47
2007-11-09 Richard Guenther <rguenther@suse.de> * bitmap.h (bitmap_single_bit_set_p): Declare. * bitmap.c (bitmap_single_bit_set_p): New function. * tree-ssa-alias.c (add_may_alias_for_new_tag): Use it. (maybe_create_global_var): Use bitmap_empty_p. From-SVN: r130045
2007-11-09re PR rtl-optimization/34012 (Pessimization caused by fwprop)Paolo Bonzini4-8/+69
PR rtl-optimization/34012 * fwprop.c (try_fwprop_subst): Do not replace if the new SET_SRC has a higher cost than the old one. * gcc.target/i386/pr34012.c: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r130043
2007-11-09re PR rtl-optimization/33732 (gcc.c-torture/execute/longlong.c execution at -O3)Eric Botcazou2-34/+49
PR rtl-optimization/33732 * reload.c (push_reload): Check that the REG_DEAD note was referring to a hardreg or to a pseudo that has been assigned exactly one hardreg before considering it in order to select the reload register. (combine_reloads): Likewise. (find_dummy_reload): Likewise. From-SVN: r130042
2007-11-09tree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD.Richard Guenther2-27/+34
2007-11-09 Richard Guenther <rguenther@suse.de> * tree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD. (struct ptr_info_def): Likewise. (enum escape_type): Also use bit zero. From-SVN: r130041
2007-11-09re PR target/33604 (Revision 119502 causes significantly slower results with ↵Richard Guenther6-2/+75
4.3/4.4 compared to 4.2) 2007-11-09 Richard Guenther <rguenther@suse.de> PR tree-optimization/33604 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars): Disregard changes in CV qualifiers of pointed to types for forward propagating ADDR_EXPRs. * tree-ssa-ccp.c (fold_stmt_r): Preserve volatileness of the original expression. * g++.dg/tree-ssa/pr33604.C: New testcase. * gcc.dg/pr32721.c: Adjust pattern. From-SVN: r130040
2007-11-09dse.c (find_shift_sequence): Always choose an integer mode for new_mode.Richard Sandiford4-6/+21
gcc/ * dse.c (find_shift_sequence): Always choose an integer mode for new_mode. (replace_read): Require both the read and store mode to be integer ones. Remove a then-redundant FLOAT_P check. gcc/testsuite/ * gcc.target/mips/dse-1.c: Disable. From-SVN: r130039
2007-11-09Daily bump.GCC Administrator1-1/+1
From-SVN: r130033
2007-11-08tree-dfa.c (remove_referenced_var): If removing a variable which has subvars...Richard Guenther2-2/+20
2007-11-08 Richard Guenther <rguenther@suse.de> * tree-dfa.c (remove_referenced_var): If removing a variable which has subvars, also remove those from the referenced vars. Do not create a variable annotation. From-SVN: r130030
2007-11-08xtensa.c (xtensa_expand_prologue): Remove first argument for gen_entry calls.Bob Wilson3-7/+13
* config/xtensa/xtensa.c (xtensa_expand_prologue): Remove first argument for gen_entry calls. * config/xtensa/xtensa.md: Add new "entry" value to "type" attribute. (entry): Use the new attribute value. Remove unused first operand. From-SVN: r130029
2007-11-08* gcc.pot: Regenerate.Joseph Myers2-6878/+9304
From-SVN: r130026
2007-11-08c-parser.c (c_parser_translation_unit): Use location in error.Tom Tromey8-58/+159
gcc * c-parser.c (c_parser_translation_unit): Use location in error. (c_parser_external_declaration): Likewise. (c_parser_declaration_or_fndef): Likewise. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_struct_declaration): Likewise. (c_parser_typeof_specifier): Likewise. (c_parser_parms_list_declarator): Likewise. (c_parser_asm_string_literal): Likewise. (c_parser_braced_init): Likewise. (c_parser_initelt): Likewise. (c_parser_compound_statement_nostart): Likewise. (c_parser_statement_after_labels): Likewise. (c_parser_do_statement): Likewise. (c_parser_asm_statement): Likewise. (c_parser_conditional_expression): Likewise. (c_parser_unary_expression): Likewise. (c_parser_sizeof_expression): Likewise. (c_parser_postfix_expression): Likewise. (c_parser_postfix_expression_after_paren_type): Likewise. (c_parser_objc_class_instance_variables): Likewise. (c_parser_objc_method_definition): Likewise. (c_parser_objc_methodprotolist): Likewise. (c_parser_pragma): Likewise. (c_parser_omp_clause_num_threads): Likewise. (c_parser_omp_clause_schedule): Likewise. (c_parser_omp_all_clauses): Likewise. (c_parser_omp_sections_scope): Likewise. (c_parser_label): Use location of label, not colon. gcc/testsuite * gcc.dg/empty-source-3.c: Update warning location. * gcc.dg/gomp/barrier-2.c: Likewise. * gcc.dg/label-decl-3.c: Likewise. * gcc.dg/label-decl-2.c: Likewise. * gcc.dg/empty-source-2.c: Likewise. From-SVN: r130025
2007-11-08re PR target/33774 (Cygwin/mingw do not support 16 byte alignment of ↵Danny Smith2-1/+11
struct/union fields) PR target/33774 * config/i386/cygming.h (BIGGEST_FIELD_ALIGNMENT): Define only if IN_TARGET_LIBS. From-SVN: r130024
2007-11-08re PR c++/30297 (ICE with extern "C" and inheritance)Tom Tromey4-0/+25
gcc/cp 2007-11-08 Andrew Pinski <pinskia@gmail.com> PR c++/30297: * tree.c (decl_linkage): Fields have no linkage. gcc/testsuite PR c++/30297: * g++.dg/inherit/pr30297.C: New file. From-SVN: r130018
2007-11-08* gcc.dg/compat/struct-layout-1_generate.c (dg-options) AddDanny Smith2-3/+8
-fno-common for cygwin and mingw32. From-SVN: r130017
2007-11-08re PR debug/33739 (Failure of gfortran.dg/literal_character_constant_1_*.F ↵Francois-Xavier Coudert2-6/+57
with -m64 -g on Darwin) PR fortran/33739 * scanner.c (start_source_file, end_source_file, exit_remaining_files): New functions. (gfc_advance_line): Use the new functions. From-SVN: r130016
2007-11-08[multiple changes]Kenneth Zadeck6-8/+85
2007-11-07 Kenneth Zadeck <zadeck@naturalbridge.com> PR middle-end/33826 * ipa-pure-const (static_execute): Added code to keep recursive functions from being marked as pure or const. * ipa-utils (searchc): Fixed comment. 2007-11-08 Kenneth Zadeck <zadeck@naturalbridge.com> PR middle-end/33826 * gcc.dg/pr33826.c: New. * gcc.dg/tree-ssa/20030714-1.c: Removed two tests that depend on recursive functions being marked pure or const. From-SVN: r130006
2007-11-08common.opt (fshow-column): Default to 0.Tom Tromey4-4/+10
* common.opt (fshow-column): Default to 0. * configure: Rebuilt. * configure.ac (--enable-mapped-location): Default to 'yes'. From-SVN: r130005
2007-11-08re PR fortran/34028 (Type mismatch with optimization of ISHFT)Francois-Xavier Coudert2-1/+6
PR fortran/34028 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type. From-SVN: r130003
2007-11-08re PR fortran/33917 (Rejects valid PROCEDURE declarations)Tobias Burnus6-3/+61
2007-11-08 Tobias Burnus <burnus@net-b.de> PR fortran/33917 * interface.c (check_sym_interfaces): Disallow PROCEDURE-declared procedures for MODULE PROCEDURE. * decl.c (match_procedure_in_interface): Do not mark as procedure. 2007-11-08 Tobias Burnus <burnus@net-b.de> PR fortran/33917 * gfortran.dg/proc_decl_5.f90: New. * gfortran.dg/proc_decl_6.f90: New. From-SVN: r130002
2007-11-08common.opt: Add pointer to doc/options.texi.Kenneth Zadeck3-75/+98
2007-11-07 Kenneth Zadeck <zadeck@naturalbridge.com> * common.opt: Add pointer to doc/options.texi. * doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const, -fipa-reference): Add or correct doc. Sorted options list for -Os -O, -O2. From-SVN: r130000
2007-11-08re PR target/16350 (gcc only understands little endian ARM systems)Bernhard Fischer5-17/+65
PR target/16350 * config.gcc: For arm*b-* define TARGET_BIG_ENDIAN_DEFAULT. * config/arm/linux-elf.h (TARGET_ENDIAN_DEFAULT): Define based on TARGET_BIG_ENDIAN_DEFAULT. Use for MULTILIB_DEFAULTS. (TARGET_DEFAULT): Set according to TARGET_ENDIAN_DEFAULT. (LINUX_TARGET_LINK_SPEC): Pass -mlittle-endian on to the assembler. * config/arm/linux-eabi.h (TARGET_LINKER_EMULATION): Set according to TARGET_BIG_ENDIAN_DEFAULT. (SUBTARGET_EXTRA_LINK_SPEC): Likewise. * gcc/config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according to TARGET_BIG_ENDIAN_DEFAULT. From-SVN: r129999
2007-11-08re PR tree-optimization/32575 (With -ftree-vrp miscompiles a single line of ↵Jakub Jelinek2-0/+58
code in SQLite) PR tree-optimization/32575 * gcc.c-torture/execute/20071108-1.c: New test. From-SVN: r129998
2007-11-08class.c (build_ctor_vtbl_group): Lay out the new type and decl.Daniel Jacobowitz4-0/+70
* class.c (build_ctor_vtbl_group): Lay out the new type and decl. * g++.dg/opt/anchor1.C: New. From-SVN: r129997
2007-11-07tree.h (struct tree_struct_field_tag): Move field in_nested_struct ...Diego Novillo2-4/+11
* tree.h (struct tree_struct_field_tag): Move field in_nested_struct ... (struct tree_memory_tag): ... here. From-SVN: r129982
2007-11-08Daily bump.GCC Administrator1-1/+1
From-SVN: r129980
2007-11-07re PR tree-optimization/33870 (miscompiles sqlite)Diego Novillo8-13/+100
PR 33870 * tree.h (struct tree_struct_field_tag): Add field in_nested_struct. (SFT_IN_NESTED_STRUCT): Define. * tree-dfa.c (dump_subvars_for): Show offset of each sub-var. * tree-flow.h (struct fieldoff): Add field in_nested_struct. * tree-ssa-structalias.c (struct variable_info): Likewise. (push_fields_onto_fieldstack): If OFFSET is positive, set in_nested_struct. (create_variable_info_for): Copy setting of in_nested_struct from the field offset object. (set_uids_in_ptset): Set SFT_IN_NESTED_STRUCT from the variable info object. * tree-ssa-operands.c (add_vars_for_offset): If VAR belongs to a nested structure, adjust OFFSET by SFT_OFFSET(VAR). testsuite/ChangeLog * gcc.c-torture/execute/pr33870.x: Remove. From-SVN: r129976
2007-11-07re PR c++/33045 ([c++0x] Incorrect decltype result for function calls.)Douglas Gregor7-2/+65
2007-11-07 Douglas Gregor <doug.gregor@gmail.com> PR c++/33045 PR c++/33837 PR c++/33838 * semantics.c (finish_decltype_type): See through INDIRECT_REFs. Be careful with ERROR_MARK_NODEs. * parser.c (cp_parser_check_access_in_redeclaration): Handle NULL argument. 2007-11-07 Douglas Gregor <doug.gregor@gmail.com> PR c++/33045 PR c++/33837 PR c++/33838 * g++.dg/cpp0x/decltype-33837.C: New. * g++.dg/cpp0x/decltype-refbug.C: New. * g++.dg/cpp0x/decltype-33838.C: New. From-SVN: r129975
2007-11-07re PR java/34019 (Minor typo in gcj documentation)Tom Tromey2-1/+6
PR java/34019: * gcj.texi (Input Options): Add missing noun. From-SVN: r129974
2007-11-07re PR rtl-optimization/33737 (verify_flow_info failed: Wrong probability of ↵Eric Botcazou5-3/+358
edge 94->1 -6651) PR rtl-optimization/33737 * cfgcleanup.c (try_crossjump_to_edge): Add count and frequency of target block after computing the probabilities of outgoing edges. Cap the frequency to BB_FREQ_MAX. * tree-ssa-threadupdate.c (redirect_edges): Also adjust count and frequency of the basic block if it has been reused. From-SVN: r129973
2007-11-07re PR rtl-optimization/33822 (-g -O -mstrict-align causes an ICE in ↵Eric Botcazou5-15/+67
set_variable_part,) PR rtl-optimization/33822 * rtl.h (REG_OFFSET): Fix comment. * var-tracking.c (INT_MEM_OFFSET): New macro. (var_mem_set): Use it. (var_mem_delete_and_set): Likewise. (var_mem_delete): Likewise. (same_variable_part_p): Likewise. (vt_get_decl_and_offset): Likewise. (offset_valid_for_tracked_p): New predicate. (count_uses): Do not track locations with invalid offsets. (add_uses): Likewise. (add_stores): Likewise. From-SVN: r129970