aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2008-10-10sh.h (PREFERRED_RELOAD_CLASS): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P.Richard Sandiford5-169/+164
gcc/ * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P. (SECONDARY_INPUT_RELOAD_CLASS): Likewise. (IS_LITERAL_OR_SYMBOLIC_S16_P, IS_LITERAL_OR_SYMBOLIC_U16_P): Delete. (IS_NON_EXPLICIT_CONSTANT_P): Don't test PIC_OFFSET_P. (PIC_OFFSET_P): Rename to... (PCREL_SYMOFF_P): ...this. (PIC_DIRECT_ADDR_P): Delete. (MOVI_SHORI_BASE_OPERAND_P): Check PCREL_SYMOFF_P instead of PIC_OFFSET_P. (OUTPUT_ADDR_CONST_EXTRA): Don't require unspecs to have a single argument. Handle UNSPEC_EXTRACT_S16, UNSPEC_EXTRACT_U16, UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF. * config/sh/sh.c (print_operand): Remove CONST handling. (unspec_caller_rtx_p): Rewrite to use split_const and check the operands of UNSPEC bases. (fixup_mova): Replace (unspec [(minus A B)] UNSPEC_PIC) with (unspec [A B] UNSPEC_SYMOFF). (nonpic_symbol_mentioned_p): Check for UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF. (sh_secondary_reload): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P. * config/sh/sh.md (UNSPEC_EXTRACT_S16): New unspec. (UNSPEC_EXTRACT_U16): Likewise. (UNSPEC_SYMOFF): Likewise. (UNSPEC_PCREL_SYMOFF): Likewise. (movsi_const): Use UNSPEC_EXTRACT_*16s to extract 16-bit portions of constants. (movsi_const_16bit): Likewise. (movdi_const, movdi_const_32bit, movdi_const_16bit): Likewise. (GOTaddr2picreg): Replace (unspec [(minus A (minus B pc))] UNSPEC_PIC) with (unspec [A B] UNSPEC_PCREL_SYMOFF). (sym_label2reg): Replace (minus (const (unspec [A] UNSPEC_PIC)) B) with (unspec [A B] UNSPEC_SYMOFF). (symPLT_label2reg): Replace (minus A (minus B pc)) with (unspec [A B] PCREL_UNSPEC_SYMOFF). * config/sh/constraints.md (Css): Check for an UNSPEC_EXTRACT_S16. (Csu): Likewise UNSPEC_EXTRACT_U16. (Csy): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P. (Cpg): Update after changes to IS_NON_EXPLICIT_CONSTANT_P. From-SVN: r141046
2008-10-10re PR c++/37146 (Invalid types with COND_EXPR)Jakub Jelinek6-0/+207
PR c++/37146 * cp-gimplify.c (cp_genericize_r): Fix up bitfield operands of COND_EXPR. * g++.dg/torture/pr37146-1.C: New test. * g++.dg/torture/pr37146-2.C: New test. * g++.dg/expr/bitfield10.C: New test. From-SVN: r141045
2008-10-10invoke.texi (Optimize Options): Fix typo in examples for loop strip mining ↵Stepan Kasal2-3/+8
and loop blocking. 2008-10-10 Stepan Kasal <skasal@redhat.com> * gcc/doc/invoke.texi (Optimize Options): Fix typo in examples for loop strip mining and loop blocking. From-SVN: r141042
2008-10-10trans-types.c (gfc_get_nodesc_array_type): Don't vary types depending on ↵Alexandre Oliva2-4/+9
debug info. * fortran/trans-types.c (gfc_get_nodesc_array_type): Don't vary types depending on debug info. From-SVN: r141021
2008-10-10c-gimplify.c (c_genericize): Don't refer to DECL_ASSEMBLER_NAME before ↵Alexandre Oliva2-2/+9
ensuring it's already computed. * c-gimplify.c (c_genericize): Don't refer to DECL_ASSEMBLER_NAME before ensuring it's already computed. From-SVN: r141020
2008-10-102008-10-08 Jerry DeLisle <jvdelisle@gcc.gnu.orgJerry DeLisle2-1/+7
PR libfortran/37707 * gfortran.dg/namelist_54.f90: Revise test, check a(3). From-SVN: r141016
2008-10-10Daily bump.GCC Administrator1-1/+1
From-SVN: r141014
2008-10-09re PR tree-optimization/37568 (ICE returning a struct)Jakub Jelinek2-5/+9
PR c++/37568 * semantics.c (finalize_nrv_r): Clear DECL_INITIAL instead of setting it to error_mark_node. * testsuite/libmudflap.c++/pass66-frag.cxx: New test. From-SVN: r141010
2008-10-09rtl.h (locator_eq): New decl.Jakub Jelinek5-25/+63
* rtl.h (locator_eq): New decl. * cfglayout.c (locator_scope): New function. (insn_scope): Use it. (locator_eq): New function. (fixup_reorder_chain): Search for last insn in src bb that has locator set or first insn in dest bb. Use locator_eq instead of == to compare locators. * cfgrtl.c (cfg_layout_merge_blocks): Likewise. * cfgcleanup.c (try_forward_edges): Use locator_eq instead of == to compare locators. From-SVN: r141009
2008-10-09re PR libfortran/37753 (Convert="BIG_ENDIAN" reverses character)Thomas Koenig2-0/+25
2008-10-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/37753 * io/transfer.c (unformatted_read): CONVERT_NATIVE is the usual case. Check for kind==1 for non-byte-reversing operation. (unformatted_write): Likewise. 2008-10-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/37753 * gfortran.dg/convert_2.f90: New test case. From-SVN: r141008
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