aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2008-10-09re PR middle-end/37774 (Alignment information is lost for ARRAY_REFs)Jakub Jelinek4-53/+98
PR middle-end/37774 * tree.h (get_object_alignment): Declare. * emit-rtl.c (set_mem_attributes_minus_bitpos): Call get_object_alignment if needed. * builtins.c (get_pointer_alignment): Move ADDR_EXPR operand handling to ... (get_object_alignment): ... here. New function. Try harder to determine alignment from get_inner_reference returned offset. From-SVN: r141003
2008-10-09tree-ssa-live.c (remove_unused_locals): Mark all edge's goto_block as used.Jakub Jelinek4-3/+27
* tree-ssa-live.c (remove_unused_locals): Mark all edge's goto_block as used. * gimple-low.c (lower_function_body, lower_gimple_return, lower_builtin_setjmp): Set gimple_block on the newly created stmts. * tree-cfg.c (make_cond_expr_edges, make_goto_expr_edges): Only set goto_block on edges if goto_locus is known. From-SVN: r141002
2008-10-09re PR fortran/35723 (Can't use run-time array element in character declaration)Daniel Kraft10-23/+238
2008-10-09 Daniel Kraft <d@domob.eu> PR fortran/35723 * gfortran.h (gfc_suppress_error): Removed from header. (gfc_push_suppress_errors), (gfc_pop_suppress_errors): New methods. * array.c (gfc_array_size): Use new gfc_push/pop_suppress_errors instead of directly changing gfc_suppress_error. * intrinsic.c (gfc_intrinsic_func_interface): Ditto. (gfc_intrinsic_sub_interface): Ditto. * error.c (suppress_errors): Made static from `gfc_suppress_error'. (gfc_push_suppress_errors), (gfc_pop_suppress_errors): New methods. (gfc_notify_std), (gfc_error): Use new static name of global. * expr.c (check_arglist), (check_references): New methods. (check_restricted): Check arglists and references of EXPR_FUNCTIONs and EXPR_VARAIBALEs, respectively. Allow PARAMETER symbols. 2008-10-09 Daniel Kraft <d@domob.eu> PR fortran/35723 * gfortran.dg/restricted_expression_1.f90: New test. * gfortran.dg/restricted_expression_2.f90: New test. * gfortran.dg/restricted_expression_3.f90: New test. From-SVN: r141001
2008-10-09re PR libfortran/37707 (Namelist read of array of derived type incorrect)Jerry DeLisle2-0/+19
2008-10-08 Jerry DeLisle <jvdelisle@gcc.gnu.org PR libfortran/37707 * gfortran.dg/namelist_54.f90: New test. From-SVN: r140997
2008-10-09Daily bump.GCC Administrator1-1/+1
From-SVN: r140992
2008-10-08ggc-pr37574.c: Cleanup "vect" tree dump.Uros Bizjak4-0/+13
* gcc.dg/vect/ggc-pr37574.c: Cleanup "vect" tree dump. * gfortran.dg/intrinsic_optional_char_arg_1.f90: Cleanup "original" tree dump. * lib/gfortran-dg.exp (gfortran-dg-debug-runtest): Remove build file trivial.S. From-SVN: r140989
2008-10-08octeon-exts-2.c: Compile it with -meb.Adam Nemet4-2/+60
* gcc.target/mips/octeon-exts-2.c: Compile it with -meb. * gcc.target/mips/octeon-exts-5.c: New test. * gcc.target/mips/octeon-bbit-3.c: Compile with -meb. Add comment why this is necessary. From-SVN: r140988
2008-10-08graphite.c (gloog): Don't call find_unreachable_blocks before ↵Jakub Jelinek2-1/+3
delte_unreachable_blocks. * graphite.c (gloog): Don't call find_unreachable_blocks before delte_unreachable_blocks. From-SVN: r140987
2008-10-08cfgexpand.c (expand_gimple_cond): Convert also goto_block and goto_locus of ↵Jakub Jelinek2-0/+13
true_edge into RTL locator. * cfgexpand.c (expand_gimple_cond): Convert also goto_block and goto_locus of true_edge into RTL locator. From-SVN: r140986
2008-10-08i386.md (*jcc_btdi_rex64): Clobber FLAGS_REG.Uros Bizjak2-35/+43
* config/i386/i386.md (*jcc_btdi_rex64): Clobber FLAGS_REG. (*jcc_btdi_mask_rex64): Ditto. (*jcc_btsi): Ditto. (*jcc_btsi_mask): Ditto. (*jcc_btsi_1): Ditto. (*jcc_btsi_mask_1): Ditto. From-SVN: r140976
2008-10-08bpabi.h (ARM_FUNCTION_PROFILER): Define new EABI compatible profiler ↵Paul Brook2-0/+23
(__gnu_mcount_nc). 2008-10-08 Paul Brook <paul@codesourcery.com> gcc/ * config/arm/bpabi.h (ARM_FUNCTION_PROFILER): Define new EABI compatible profiler (__gnu_mcount_nc). (SUBTARGET_FRAME_POINTER_REQUIRED): Define. From-SVN: r140974
2008-10-08i386.c (initial_ix86_tune_features): Add X86_TUNE_USE_VECTOR_FP_CONVERTS.H.J. Lu4-2/+20
2008-10-08 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (initial_ix86_tune_features): Add X86_TUNE_USE_VECTOR_FP_CONVERTS. * config/i386/i386.h (ix86_tune_indices): Likewise. (TARGET_USE_VECTOR_FP_CONVERTS): New. * config/i386/i386.md: Check TARGET_USE_VECTOR_FP_CONVERTS instead of (TARGET_USE_VECTOR_CONVERTS || TARGET_GENERIC) for FP to FP splitters. From-SVN: r140972
2008-10-08i386.md: Add missing gen_sse2_cvtdq2p to convert splitter.H.J. Lu2-0/+8
2008-10-08 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.md: Add missing gen_sse2_cvtdq2p to convert splitter. From-SVN: r140970
2008-10-08re PR target/36635 (cc1 segfault from svn 137122)Jakub Jelinek4-6/+64
PR target/36635 PR target/37290 PR rtl-optimization/37341 * cse.c (cse_cc_succs): Add ORIG_BB argument, don't follow edges to ORIG_BB, pass through ORIG_BB recursively. (cse_condition_code_reg): Adjust caller. * gcc.c-torture/compile/pr37341.c: New test. From-SVN: r140966
2008-10-08sdbout.c (sdbout_one_type): Treat the value type CONST_DECL for enumerals.Kai Tietz2-8/+20
2008-10-08 Kai Tietz <kai.tietz@onevision.com> * sdbout.c (sdbout_one_type): Treat the value type CONST_DECL for enumerals. From-SVN: r140964
2008-10-07i386.md: Remove trailing white spaces.H.J. Lu2-6/+10
2008-10-07 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.md: Remove trailing white spaces. From-SVN: r140962
2008-10-08re PR middle-end/37448 (cannot compile big function)Kenneth Zadeck2-28/+62
2008-10-07 Kenneth Zadeck <zadeck@naturalbridge.com> PR rtl-optimization/37448 alloc_pool_desc (elt_size): New field. alloc_pool_desc (created, allocated, current, peak): Make unsigned long. output_info (count): Renamed total_created and made unsigned long. output_info (size): Renamed total_allocated and made unsigned long. alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc, pool_free): Properly keep track of desc->size. (print_statistics, dump_alloc_pool_statistics): Enhance the printing of statistics to print the number of elements and to use unsigned longs. From-SVN: r140960
2008-10-08Daily bump.GCC Administrator1-1/+1
From-SVN: r140958
2008-10-07re PR middle-end/37576 (-v --help ICEs)Jakub Jelinek3-10/+18
PR middle-end/37576 * opts.h (CL_SAVE): Move up to flags range. (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON): Renumber. (CL_MIN_OPTION_CLASS): Set to CL_PARAMS. * opts.c (common_handle_option): Revert last change. From-SVN: r140955
2008-10-07i386-protos.h (ix86_schedule): New.H.J. Lu6-173/+203
2008-10-07 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386-protos.h (ix86_schedule): New. * config/i386/i386.c (ix86_schedule): New. (override_options): Add schedule to processor_alias_table. Set ix86_schedule from the schedule field in processor_alias_table. (ix86_function_specific_save): Save ix86_schedule. (ix86_function_specific_restore): Restore ix86_schedule. * config/i386/i386.md (cpu): Map to ix86_schedule instead of ix86_tune. Add none and remove i386, i486, pentium4, nocona and generic32. * config/i386/i386.opt: Add schedule. * config/i386/ppro.md: Remove generic32. From-SVN: r140954
2008-10-07re PR c/35437 (ICE with struct containing incomplete type)Simon Martin5-0/+40
gcc/ 2008-10-07 Simon Martin <simartin@users.sourceforge.net> PR c/35437 * expr.c (count_type_elements): Handle ERROR_MARK. gcc/testsuite/ 2008-01-07 Simon Martin <simartin@users.sourceforge.net> PR c/35437 * gcc.dg/struct-parse-2.c: New test. * g++.dg/parse/struct-4.C: New test. From-SVN: r140953
2008-10-07* decl.c (start_cleanup_fn): Declare as inline.Steve Ellcey2-0/+5
From-SVN: r140952
2008-10-07re PR middle-end/29609 (Even with -O0 -g gcc optimizes a goto away and I ↵Jakub Jelinek21-23/+679
cannot debug) PR debug/29609 PR debug/36690 PR debug/37616 * basic-block.h (struct edge_def): Add goto_block field. * cfglayout.c (fixup_reorder_chain): Ensure that there is at least one insn with locus corresponding to edge's goto_locus if !optimize. * profile.c (branch_prob): Copy edge's goto_block. * cfgrtl.c (force_nonfallthru_and_redirect): Use goto_locus for emitted jumps. (cfg_layout_merge_blocks): Emit a nop with edge's goto_locus locator in between the merged basic blocks if !optimize and needed. * cfgexpand.c (expand_gimple_cond): Convert goto_block and goto_locus into RTL locator. For unconditional jump use that locator for the jump insn. (expand_gimple_cond): Convert goto_block and goto_locus into RTL locator for all remaining edges. For unconditional jump use that locator for the jump insn. * cfgcleanup.c (try_forward_edges): Avoid the optimization if there is more than one edge or insn locator along the forwarding edges and !optimize. If there is just one, set e->goto_locus. * tree-cfg.c (make_cond_expr_edges, make_goto_expr_edges): Set also edge's goto_block. (move_block_to_fn): Adjust edge's goto_block. * gcc.dg/debug/pr29609-1.c: New test. * gcc.dg/debug/pr29609-2.c: New test. * gcc.dg/debug/pr36690-1.c: New test. * gcc.dg/debug/pr36690-2.c: New test. * gcc.dg/debug/pr36690-3.c: New test. * gcc.dg/debug/pr37616.c: New test. * gcc.dg/debug/dwarf2/pr29609-1.c: New test. * gcc.dg/debug/dwarf2/pr29609-2.c: New test. * gcc.dg/debug/dwarf2/pr36690-1.c: New test. * gcc.dg/debug/dwarf2/pr36690-2.c: New test. * gcc.dg/debug/dwarf2/pr36690-3.c: New test. * gcc.dg/debug/dwarf2/pr37616.c: New test. From-SVN: r140948
2008-10-07re PR middle-end/37731 (long long may not work correctly on 32bit host)H.J. Lu5-1/+48
gcc/ 2008-10-07 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/37731 * expmed.c (expand_mult): Properly check DImode constant in CONST_DOUBLE. gcc/testsuite/ 2008-10-07 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/37731 * gcc.dg/torture/pr37731-1.c: New. * gcc.dg/torture/pr37731-2.c: Likewise. From-SVN: r140947
2008-10-07f95-lang.c (poplevel): Don't clear BLOCK_VARS if functionbody.Jakub Jelinek3-11/+27
* f95-lang.c (poplevel): Don't clear BLOCK_VARS if functionbody. * trans-decl.c (gfc_build_qualified_array): Build accurate debug type even if nest. (build_entry_thunks, gfc_generate_function_code, gfc_generate_constructors): Ensure DECL_SAVED_TREE is a BIND_EXPR with DECL_INITIAL as its BLOCK. From-SVN: r140945
2008-10-07re PR debug/37738 (Fortran DW_TAG_common_block has incorrect placement/scope)Jakub Jelinek4-4/+109
PR debug/37738 * dwarf2out.c (common_block_die_table): New variable. (common_block_die_table_hash, common_block_die_table_eq): New functions. (gen_variable_die): Look up a DW_TAG_common_block die for a particular COMMON block in the current scope rather than globally. Optimize DW_OP_addr SYMBOL_REF DW_OP_plus_uconst off into DW_OP_addr SYMBOL_REF+off. * gfortran.dg/debug/pr37738.f: New test. From-SVN: r140944
2008-10-07tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Return true for ↵Eric Botcazou6-1/+46
non-addressable GIMPLE operands. * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>: Return true for non-addressable GIMPLE operands. From-SVN: r140941
2008-10-07struct-layout-1_generate.c (dg_options): New.Bob Wilson3-15/+32
* gcc.dg/compat/struct-layout-1_generate.c (dg_options): New. Moved dg-options lines to this array, and added options for xtensa*-*-*. (NDG_OPTIONS): Define. (switchfiles): Print dg-options lines from new dg_options array. * g++.dg/compat/struct-layout-1_generate.c (dg_options): Add options for xtensa*-*-* targets. From-SVN: r140939
2008-10-07re PR target/24765 (TARGET_USE_BIT_TEST is never used)H.J. Lu3-5/+8
2008-10-07 H.J. Lu <hongjiu.lu@intel.com> PR target/24765 * config/i386/i386.c (initial_ix86_tune_features): Remove X86_TUNE_USE_BIT_TEST. * config/i386/i386.h (ix86_tune_indices): Likewise. (TARGET_USE_BIT_TEST): Removed. From-SVN: r140938
2008-10-07config.gcc (arm*-*-*): Add aapcs-linux to supported ABIs.Bernhard Reutner-Fischer2-1/+5
2008-10-07 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * config.gcc (arm*-*-*): Add aapcs-linux to supported ABIs. From-SVN: r140936
2008-10-07decl.c (gnat_to_gnu_entity): Move code dealing with volatileness to after ↵Eric Botcazou5-32/+64
code dealing with renaming. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code dealing with volatileness to after code dealing with renaming. From-SVN: r140924
2008-10-07mips.md (mulsi3_mul3, [...]): Merge these ...Adam Nemet5-24/+31
* config/mips/mips.md (mulsi3_mul3, muldi3_mul3): Merge these ... (mul<mode>3_mul3): ... into this new template. testsuite/ * gcc.target/mips/mips.exp (dg-mips-options): Set mips_new_gp to 32 when -march=r3900 is passed. * testsuite/gcc.target/mips/r3900-mult.c: New test. From-SVN: r140922
2008-10-07Daily bump.GCC Administrator1-1/+1
From-SVN: r140920
2008-10-06+ * gimplify.c (gimplify_arg): Add location argument.Aldy Hernandez2-6/+19
+ * gimplify.c (gimplify_arg): Add location argument. Use it. + (gimplify_call_expr): Pass location to gimplify_arg. + (gimplify_modify_expr_to_memcpy): Same. + (gimplify_modify_expr_to_memset): Same. From-SVN: r140917
2008-10-06PR c++/37376, other mangling issuesJason Merrill9-43/+206
gcc/cp/: PR c++/37376, other mangling issues * mangle.c (write_type): Update TYPE_PACK_EXPANSION mangling. (write_member_name): Break out from... (write_expression): ...here. Handle dependent COMPONENT_REF. (write_template_arg): Wrap an argument pack in 'I'/'E'. (write_builtin_type): Update char16/32_t mangling. (write_nested_name, write_prefix): Don't forget template args for typename types. * operators.def: Add ARROW_EXPR, update COMPONENT_REF and EXPR_PACK_EXPANSION. libstdc++-v3/: * config/abi/pre/gnu.ver: Update char16/32_t manglings. include/: * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_PACK_EXPANSION. libiberty/: * cp-demangle.c (struct d_print_info): Add pack_index. (d_dump): Add DEMANGLE_COMPONENT_PACK_EXPANSION. (d_make_comp): Likewise. DEMANGLE_COMPONENT_ARGLIST and DEMANGLE_COMPONENT_TEMPLATE_ARGLIST can have two null args. (cplus_demangle_builtin_types): Add char16/32_t. (cplus_demangle_type): Recognize them. (d_template_args): Handle empty argument packs. (d_template_arg): Handle argument packs. (d_expression): Handle dependent name. (d_index_template_argument): New fn. (d_lookup_template_argument): New fn. (d_find_pack, d_pack_length): New fn. (d_print_subexpr): Split out... (d_print_comp): ...from here. Use d_*_template_argument. Handle empty arg lists. Support pack expansions. * cp-demangle.h (D_BUILTIN_TYPE_COUNT): Increase to 32. From-SVN: r140916
2008-10-06rs6000-c.c (altivec_resolve_overloaded_builtin): Update calls to ↵Andrew Pinski2-4/+10
build_unary_op and build_indirect_ref for location changes. 2008-10-06 Andrew Pinski <andrew_pinski@playstation.sony.com> * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Update calls to build_unary_op and build_indirect_ref for location changes. From-SVN: r140915
2008-10-06c-decl.c (finish_decl): Pass input_location to build_unary_op.Aldy Hernandez16-164/+338
* c-decl.c (finish_decl): Pass input_location to build_unary_op. * c-typeck.c (array_to_pointer_conversion): Pass location to build_unary_op. (function_to_pointer_conversion): Use error_at and warning_at. (build_indirect_ref): Same. (build_array_ref): Pass location to build_binary_op. (parser_build_unary_op): Do not set location after calling build_unary_op. (build_unary_op): Add location argument. Use it throughout. Set EXPR_LOCATION before returning new tree. (build_modify_expr): Same. (build_binary_op): Use location throughout. Set EXPR_LOCATION before returning node. * c-omp.c (c_finish_omp_atomic): Pass location to build_unary_op, build_indirect_ref, build_modify_expr. (c_finish_omp_for): Same. Use error_at instead of error. * c-common.c (c_common_truthvalue_conversion): Pass location to build_unary_op. (warn_for_div_by_zero): Add location argument. * c-common.h: Add argument to build_modify_expr, build_indirect_ref, build_unary_op, warn_for_div_by_zero. * c-parser.c (c_parser_typeof_specifier): Use protected_set_expr_location. (c_parser_statement_after_labels): Same. (c_parser_condition): Same. (c_parser_expr_no_commas): Pass correct location to build_modify_expr. (c_parser_conditional_expression): Use protected_set_expr_location. (c_parser_unary_expression): Pass location to build_indirect_ref. (c_parser_postfix_expression_after_primary): Pass location to build_indirect_ref, build_unary_op. (c_parser_omp_for_loop): Set the increment expression's EXPR_LOCATION. objc/ * objc-act.c (objc_build_string_object): Pass location to build_unary_op. (init_def_list): Same. (init_objc_symtab): Same. (init_module_descriptor): Same. (build_module_initializer_routine): Same. (generate_static_references): Same. (build_typed_selector_reference): Same. (add_objc_string): Same. (objc_substitute_decl): Same. (objc_build_ivar_assignment): Same. (objc_build_global_assignment): Same. (objc_build_strong_cast_assignment): Same. (generate_protocols): Same. (build_protocol_initializer): Same. (build_dispatch_table_initializer): Same. (generate_protocol_list): Same. (build_category_initializer): Same. (build_shared_structure_initializer): Same. (generate_shared_structures): Same. (objc_build_protocol_expr): Same. (build_ivar_reference): Same. (get_super_receiver): Same. build_modify_expr. testsuite/ * gcc.dg/gomp/for-1.c: Test column. * gcc.dg/misc-column.c: Add column tests for unary arguments. cp/ * typeck.c (build_x_indirect_ref): Add location argument. (cp_build_binary_op): Pass location to warn_for_div_by_zero. (cp_build_unary_op): Add location argument. (cp_build_modify_expr): Same. * class.c (build_base_path): Pass location to build_indirect_ref. * semantics.c (handle_omp_for_class_iterator): Pass elocus to build_modify_expr. From-SVN: r140914
2008-10-06invoke.texi: List r1x000 family under the -march MIPS option.Joshua Kinard6-2/+290
gcc/ 2008-10-06 Joshua Kinard <kumba@gentoo.org> * doc/invoke.texi: List r1x000 family under the -march MIPS option. * config/mips/mips.h (PROCESSOR_R10000): New processor_type. * config/mips/mips.c (mips_cpu_info_table): Add r10000, r12000, r14000 and r16000. (mips_rtx_cost_data): Add a PROCESSOR_R10000 entry. (mips_issue_rate): Handle PROCESSOR_R10000. * config/mips/mips.md (cpu): Add r10000. Include r10000.md. * config/mips/10000.md: New file. From-SVN: r140913
2008-10-06rs6000-protos.h (rs6000_find_base_term): Declare.Richard Sandiford4-0/+30
gcc/ * config/rs6000/rs6000-protos.h (rs6000_find_base_term): Declare. * config/rs6000/rs6000.h (FIND_BASE_TERM): New macro. * config/rs6000/rs6000.c (rs6000_find_base_term): New function. From-SVN: r140912
2008-10-06darwin-protos.h (machopic_function_base_name): Delete.Richard Sandiford10-106/+118
gcc/ * config/darwin-protos.h (machopic_function_base_name): Delete. (machopic_function_base_sym): Likewise. (machopic_gen_offset): Declare. * config/darwin.h (MACHOPIC_FUNCTION_BASE_NAME): New macro. (ASM_OUTPUT_LABELREF): Use it instead of a hard-coded string constant. * config/darwin.c (machopic_function_base_name): Delete. (machopic_function_base_sym): Likewise. (gen_pic_offset): Rename to... (machopic_gen_offset): ...this and remove the pic_base argument. Instead use MACHO_DYNAMIC_NO_PIC_P to decide whether a PIC offset is needed. Create an UNSPEC_MACHOPIC_OFFSET if so, and set crtl->uses_pic_offset_table. (machopic_indirect_data_reference): Use new machopic_gen_offset interface. (machopic_legitimize_pic_address): Likewise. (machopic_operand_p): Check for UNSPEC_MACHOPIC_OFFSET. * config/i386/darwin.h (GOT_SYMBOL_NAME): Use MACHOPIC_FUNCTION_BASE_NAME instead of machopic_function_base_name. * config/i386/i386.c (output_set_got): Likewise. (darwin_local_data_pic): Check for an UNSPEC_MACHOPIC_OFFSET instead of a MINUS. (legitimate_pic_operand_p): Handle UNSPEC_MACHOPIC_OFFSET. (legitimate_address_p): Likewise. (output_pic_addr_const): Likewise. (output_addr_const_extra): Likewise. (ix86_delegitimize_address): Expect darwin_local_data_pic to match an UNSPEC rather than a MINUS. * config/i386/i386.md (UNSPEC_MACHOPIC_OFFSET): Define. (builtin_setjmp_receiver): Use machopic_gen_offset. * config/i386/predicates.md (pic_symbolic_operand): Handle UNSPEC_MACHOPIC_OFFSET. * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use machopic_gen_offset and machopic_operand_p. (rs6000_output_addr_const_extra): Handle UNSPEC_MACHOPIC_OFFSET. (rs6000_emit_prologue): Use MACHOPIC_FUNCTION_BASE_NAME. * config/rs6000/rs6000.md (UNSPEC_MACHOPIC_OFFSET): Define. (builtin_setjmp_receiver): Use MACHOPIC_FUNCTION_BASE_NAME. Set crtl->uses_pic_offset_table. From-SVN: r140911
2008-10-06rs6000-protos.h (rs6000_output_addr_const_extra): Declare.Richard Sandiford5-81/+67
gcc/ * config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra): Declare. * config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): New macro. * config/rs6000/rs6000.md (UNSPEC_TOCREL): New constant. * config/rs6000/rs6000.c (constant_pool_expr_1): Delete. (constant_pool_expr_p): Use split_const and check the base. (toc_relative_expr_p): Likewise, checking for an UNSPEC_TOCREL instead of a MINUS. (legitimate_constant_pool_address_p): Check toc_relative_p instead of constant_pool_expr_p. (print_operand_address): Always use output_addr_const for constant pool addresses. (rs6000_output_addr_const_extra): New function. (create_TOC_reference): Create an UNSPEC_TOCREL instead of a MINUS. From-SVN: r140910
2008-10-06re PR middle-end/37535 (gcc/libgcc2.c:404: internal compiler error: Floating ↵Vladimir Makarov3-41/+122
point exception) 2008-10-06 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37535 * ira-lives.c (mark_reg_live, mark_reg_dead): New functions. (mark_ref_live, mark_ref_dead): Use them. (def_conflicts_with_inputs_p): Remove. (mark_early_clobbers): New function. (process_bb_node_lives): Call preprocess_constraints and mark_early_clobbers. * doc/rtx.texi (clobber): Change how RA deals with clobbers. From-SVN: r140906
2008-10-06decl.c (gnat_to_gnu_entity): Minor tweaks.Eric Botcazou3-4/+9
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks. * gcc-interface/trans.c (Pragma_to_gnu): Likewise. From-SVN: r140904
2008-10-06utils.c (can_fold_for_view_convert_p): New predicate.Eric Botcazou4-27/+145
2008-10-06 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate. (unchecked_convert): Use it to disable problematic folding with VIEW_CONVERT_EXPR in the general case. Always disable it for the special VIEW_CONVERT_EXPR built for integral types and cope with its addressability issues by preserving the first conversion. From-SVN: r140902
2008-10-06mingw32.h (REAL_LIBGCC_SPEC): Add thread cleanup lib with -mthread switch.Danny Smith2-1/+6
* config/i386/mingw32.h (REAL_LIBGCC_SPEC): Add thread cleanup lib with -mthread switch. From-SVN: r140900
2008-10-06Daily bump.GCC Administrator1-1/+1
From-SVN: r140898
2008-10-05re PR debug/37410 (DW_TAG_imported_module is not in its DW_TAG_lexical_block)Dodji Seketeli11-46/+204
2008-09-30 Dodji Seketeli <dodji@redhat.com> gcc/ChangeLog: PR c++/37410 * dwarf2out.c (dwarf2out_imported_module_or_decl): Split this function in two, making it call a new and reusable dwarf2out_imported_module_or_decl() that takes the containing BLOCK of the declaration in argument. (dwarf2out_imported_module_or_decl_real): New function. (decls_for_scope, gen_decl_die, dwarf2out_decl): Take IMPORTED_DECL in account. * tree.def: Added IMPORTED_DECL node type. * tree.h: Added accessors for IMPORTED_DECL nodes. * tree.c (init_ttree): Initialise IMPORTED_DECL node type. gcc/cp/ChangeLog: PR c++/37410 * cp-gimplify.c (cp_gimplify_expr): For each USING_STMT make sure an IMPORTED_DECL node is added to the BLOCK_VARS list of the innermost containing BLOCK. gcc/testsuite/ChangeLog: PR c++/37410 * g++.dg/debug/dwarf2/imported-module.C: New test. From-SVN: r140895
2008-10-05re PR fortran/35680 (ICE on invalid transfer in variable declaration)Paul Thomas5-14/+65
2008-10-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/35680 * gfortran.h : Add 'error' bit field to gfc_expr structure. * expr.c (check_inquiry): When checking a restricted expression check that arguments are either variables or restricted. (check_restricted): Do not emit error if the expression has 'error' set. Clean up detection of host-associated variable. 2008-10-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/35680 * gfortran.dg/transfer_array_intrinsic_5.f90: New test. From-SVN: r140892
2008-10-05gimple.texi: Fix some typos, wrap some long lines, fix some broken wraps ↵Ralf Wildenhues3-15/+22
with continuations. gcc/ * doc/gimple.texi: Fix some typos, wrap some long lines, fix some broken wraps with continuations. * tree-ssa-reassoc.c: Fix comment typos. From-SVN: r140887
2008-10-05re PR fortran/37638 (ICE in update_arglist_pass)Daniel Kraft5-0/+93
2008-10-05 Daniel Kraft <d@domob.eu> PR fortran/37638 * gfortran.h (struct gfc_typebound_proc): New flag `error'. * resolve.c (update_arglist_pass): Added assertion. (update_compcall_arglist): Fail early for erraneous procedures to avoid confusion later. (resolve_typebound_generic_call): Ignore erraneous specific targets and added assertions. (resolve_typebound_procedure): Set new `error' flag. 2008-10-05 Daniel Kraft <d@domob.eu> PR fortran/37638 * gfortran.dg/typebound_call_9.f03: New test. From-SVN: r140880