aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
AgeCommit message (Collapse)AuthorFilesLines
2012-12-19target.def: Define canonicalize_comparison hook.Andreas Krebbel2-18/+22
2012-12-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * target.def: Define canonicalize_comparison hook. * targhooks.h (default_canonicalize_comparison): New prototype. * targhooks.c (default_canonicalize_comparison): New function. * doc/tm.texi: Add documentation for the new target hook. * doc/tm.texi.in: Likewise. * combine.c (try_combine): Adjust to use the target hook. * config/alpha/alpha.h (CANONICALIZE_COMPARISON): Remove macro definition. * config/alpha/alpha.c (alpha_canonicalize_comparison): New function. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/arm/arm-protos.h (arm_canonicalize_comparison): Remove prototype. * config/arm/arm.c (arm_canonicalize_comparison): Add new parameter. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/arm/arm.h (CANONICALIZE_COMPARISON): Remove macro definition. * config/s390/s390-protos.h (s390_canonicalize_comparison): Remove prototype. * config/s390/s390.c (s390_canonicalize_comparison): Add new parameter. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/s390/s390.h (CANONICALIZE_COMPARISON): Remove macro definition. * config/sh/sh-protos.h (sh_canonicalize_comparison): Remove prototype. * config/sh/sh.c (sh_canonicalize_comparison): Add new prototype. New function overloading the old one. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/sh/sh.h (CANONICALIZE_COMPARISON): Remove macro definition. * config/spu/spu.c (spu_canonicalize_comparison): New function. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/spu/spu.h (CANONICALIZE_COMPARISON): Remove macro definition. From-SVN: r194608
2012-12-18re PR other/54324 (GCC install document does not list minimum required g++ ↵Aldy Hernandez1-0/+5
version) PR other/54324 * doc/install.texi (Tools/packages necessary for building GCC): Suggest --disable-stage1-checking for older GCC's. From-SVN: r194586
2012-12-18contrib.texi (Contributors): Update Kaveh Ghazi's entry; remove broken link ↵Gerald Pfeifer1-4/+3
to Rutgers University. * doc/contrib.texi (Contributors): Update Kaveh Ghazi's entry; remove broken link to Rutgers University. From-SVN: r194572
2012-12-12dumpfile.h (enum tree_dump_index): Remove TDI_vcg.Steven Bosscher1-13/+4
* dumpfile.h (enum tree_dump_index): Remove TDI_vcg. * dumpfile.c (dump_files[]): Remove entry for TDI_vcg. * tree-cfg.c (gimple_cfg2vcg): Remove. (build_gimple_cfg): Don't call it. * doc/invoke.texi (-fdump-tree-vcg): Remove documentation. Correct GraphViz documentation, it does handle multiple functions in a single dump. From-SVN: r194445
2012-12-11re PR other/54324 (GCC install document does not list minimum required g++ ↵Richard Biener1-3/+5
version) 2012-12-11 Richard Biener <rguenther@suse.de> PR other/54324 * doc/install.texi (Tools/packages necessary for building GCC): State ISO C++98 host compiler requirement. Increment minimum GCC version required for building all languages for a cross-compiler to 3.4 or later. From-SVN: r194389
2012-12-10neon.ml (opcode): Add Vrintn, Vrinta, Vrintp, Vrintm, Vrintz to type.Kyrylo Tkachov1-32/+112
gcc/ChangeLog 2012-12-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/neon.ml (opcode): Add Vrintn, Vrinta, Vrintp, Vrintm, Vrintz to type. (type features): Add Requires_arch type constructor. (ops): Define Vrintn, Vrinta, Vrintp, Vrintm, Vrintz features. * config/arm/neon-docgen.ml (intrinsic_groups): Define Vrintn, Vrinta, Vrintp, Vrintm, Vrintz, Vrintx. * config/arm/neon-testgen.ml (effective_target): Define check for Requires_arch 8. * config/arm/neon-gen.ml (print_feature_test_start): Handle Requires_arch. (print_feature_test_end): Likewise. Add 2012 to Copyright notice. * doc/arm-neon-intrinsics.texi: Regenerate. * config/arm/arm_neon.h: Regenerate. gcc/testsuite/ChangeLog 2012-12-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * gcc.target/arm/neon/vrndaf32.c: New test. * gcc.target/arm/neon/vrndqaf32.c: Likewise. * gcc.target/arm/neon/vrndf32.c: Likewise. * gcc.target/arm/neon/vrndqf32.c: Likewise. * gcc.target/arm/neon/vrndmf32.c: Likewise. * gcc.target/arm/neon/vrndqmf32.c: Likewise. * gcc.target/arm/neon/vrndnf32.c: Likewise. * gcc.target/arm/neon/vrndqnf32.c: Likewise. * gcc.target/arm/neon/vrndpf32.c: Likewise. * gcc.target/arm/neon/vrndqpf32.c: Likewise. From-SVN: r194353
2012-12-06sourcebuild.texi: Document arm_v8_neon_ok.Kyrylo Tkachov1-0/+4
2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> gcc/ * doc/sourcebuild.texi: Document arm_v8_neon_ok. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_v8_neon_ok): New procedure. (add_options_for_arm_v8_neon): Likewise. From-SVN: r194245
2012-12-05tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Update documentation.Steven Bosscher2-18/+14
* doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Update documentation. * doc/tm.texi: Regenerate. * regs.h (REG_LIVE_LENGTH): Update comments to not refer to no longer existing files global.c and local-alloc.c. * regmove.c (copy_src_to_dest): Likewise. * function.h (struct rtl_data): Likewise. * ira-color.c (allocno_priority_compare_func): Likewise. * regstat.c (regstat_compute_ri): Likewise. * config/epiphany/epiphany.h, config/vax/vax.h, config/cris/cris.h, config/h8300/h8300.h, config/alpha/alpha.h, config/sparc/sparc.h, config/rs6000/rs6000.h, config/pdp11/pdp11.h, config/pa/pa.h, config/v850/v850.h, config/mn10300/mn10300.h, config/m32r/m32r.h, config/i386/i386.h, config/mcore/mcore.h, config/sh/sh.h, config/arm/arm.h (REGNO_OK_FOR_BASE_P): Likewise. From-SVN: r194229
2012-12-04arm.opt (cirrus-fix-invalid-insns): Delete option.Richard Earnshaw1-13/+0
* arm.opt (cirrus-fix-invalid-insns): Delete option. * invoke.texi (cirrus-fix-invalid-insns): Remove documentation. From-SVN: r194137
2012-12-01extend.texi: Various corrections to punctuation and grammar throughout the file.Sandra Loosemore1-129/+151
2012-12-02 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi: Various corrections to punctuation and grammar throughout the file. Use consistent terminology and proper names. Correct some minor markup issues. From-SVN: r194049
2012-11-28target.def (use_blocks_for_decl_p): New hook.David Edelsohn2-0/+14
* target.def (use_blocks_for_decl_p): New hook. * varasm.c (use_blocks_for_decl_p): Apply hook as final condition. * doc/tm.texi.in (USE_BLOCKS_FOR_DECL_P): New description. * doc/tm.texi: Regenerated. From-SVN: r193906
2012-11-26invoke.texi: Remove -dv documentation.Steven Bosscher1-11/+21
gcc/ * doc/invoke.texi: Remove -dv documentation. Fix up graph dump related documentation. Document the '-graph' dump option. Complete the '-slim' dump option documentation. * common.opt (Variable graph_dump_format): Remove. * flag-types.h (enum graph_dump_types): Remove. * flags.h (dump_for_graph): Remove. * opts.c (decode_d_option): Remove -dv handling. * sched-int.h (print_insn, print_pattern, print_value): Move prototypes from here ... * rtl.h: ...to here. Add note that these functions ought to be in another file. * sched-vis.c (print_insn): Add detailed dump for insn notes. * print-rtl.c (dump_for_graph): Remove. (print_rtx): Remove dump_for_graph related code. * graph.c: Almost complete re-write to dump DOT (GraphViz) dumps instead of VCG dumps. * graph.h (print_rtl_graph_with_bb): Update prototype. * passes.c (finish_optimization_passes): Fix profile dump finishing. Unconditionally loop over graph dumps to finalize. (execute_function_dump): Split code to dump graphs to separate block. (execute_one_pass): Don't set TDF_GRAPH here, let the dump option decoders do their job. * ddg.c (vcg_print_ddg): Make it a DEBUG_FUNCTION. * toplev.c: Don't include graph.h. * tree-optimize.c: Don't include graph.h. testsuite/ * testsuite/gcc.dg/20050811-1.c: Change -dv option to -graph option to -fdump-rtl-all. * testsuite/gcc.dg/pr37858.c: Remove -dv option. From-SVN: r193821
2012-11-26sourcebuild.texi: Document arm_v8_vfp_ok.Kyrylo Tkachov1-0/+4
gcc/ 2012-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * doc/sourcebuild.texi: Document arm_v8_vfp_ok. gcc/testsuite/ 2012-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * lib/target-supports.exp (check_effective_target_arm_v8_vfp_ok): New procedure. (add_options_for_arm_v8_vfp): New procedure. * gcc.target/arm/vrintaf32.c: New test. * gcc.target/arm/vrintaf64.c: Likewise. * gcc.target/arm/vrintmf32.c: Likewise. * gcc.target/arm/vrintmf64.c: Likewise. * gcc.target/arm/vrintpf32.c: Likewise. * gcc.target/arm/vrintpf64.c: Likewise. * gcc.target/arm/vrintrf32.c: Likewise. * gcc.target/arm/vrintrf64.c: Likewise. * gcc.target/arm/vrintxf32.c: Likewise. * gcc.target/arm/vrintxf64.c: Likewise. * gcc.target/arm/vrintzf32.c: Likewise. * gcc.target/arm/vrintzf64.c: Likewise. From-SVN: r193814
2012-11-26re PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c ↵Hans-Peter Nilsson1-2/+3
execution, -Os (et al)) PR middle-end/55030 * builtins.c (expand_builtin_setjmp_receiver): Update comment regarding purpose of blockage. * emit-rtl.c [!HAVE_blockage] (gen_blockage): Similarly for the head comment. * rtlanal.c (volatile_insn_p): Ditto. * doc/md.texi (blockage): Update similarly. Change wording to require one of two forms, rather than implying a wider choice. * cse.c (cse_insn): Where checking for blocking insns, use volatile_insn_p instead of manual check for volatile ASM. * dse.c (scan_insn): Ditto. * cselib.c (cselib_process_insn): Ditto. From-SVN: r193802
2012-11-25tm.texi.in (DELAY_SLOTS_FOR_EPILOGUE): Remove documentation.Steven Bosscher2-70/+0
gcc/ * doc/tm.texi.in (DELAY_SLOTS_FOR_EPILOGUE): Remove documentation. (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise. * doc/tm.texi: Regenerate. * reorg.c (fill_simple_delay_slots): Remove code conditional on DELAY_SLOTS_FOR_EPILOGUE being defined. (make_return_insns, dbr_schedule): Likewise. * system.h (DELAY_SLOTS_FOR_EPILOGUE): Poison. (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise. From-SVN: r193787
2012-11-23invoke.texi (-fsanitize=address): Remove obsolete remark.Tobias Burnus1-1/+1
2012-11-23 Tobias Burnus <burnus@net-b.de> * doc/invoke.texi (-fsanitize=address): Remove obsolete remark. From-SVN: r193764
2012-11-23re PR sanitizer/55435 ([asan] implement an attribute to disable asan ↵Jakub Jelinek1-4/+11
instrumentation for a particular function) PR sanitizer/55435 * c-common.c (handle_no_address_safety_analysis_attribute): New function. (c_common_attribute_table): Add no_address_safety_analysis. * asan.c (gate_asan): Don't instrument functions with no_address_safety_analysis attribute. (gate_asan_O0): Use !optimize && gate_asan (). * doc/extend.texi (no_address_safety_analysis): Document new function attribute. * c-c++-common/asan/attrib-1.c: New test. From-SVN: r193748
2012-11-23predict.c (maybe_hot_count_p): Use threshold from profiled working set ↵Teresa Johnson1-3/+3
instead of hard limit. * predict.c (maybe_hot_count_p): Use threshold from profiled working set instead of hard limit. (cgraph_maybe_hot_edge_p): Invoke maybe_hot_count_p() instead of directly checking limit. * params.def (HOT_BB_COUNT_FRACTION): Remove. (HOT_BB_COUNT_WS_PERMILLE): New parameter. * invoke.texi (hot-bb-count-fraction): Remove. (hot-bb-count-ws-permille): Document. Co-Authored-By: Jan Hubicka <jh@suse.cz> From-SVN: r193747
2012-11-22builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.Dmitry Vyukov1-1/+17
2012-11-22 Dmitry Vyukov <dvyukov@google.com> Wei Mi <wmi@google.com> * builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins. * sanitizer.def: Ditto. * Makefile.in (tsan.o): Add tsan.o target. (BUILTINS_DEF): Add sanitizer.def. * passes.c (init_optimization_passes): Add tsan passes. * tree-pass.h (register_pass_info): Ditto. * toplev.c (compile_file): Ditto. * doc/invoke.texi: Document tsan related options. * gcc.c (LINK_COMMAND_SPEC): Add LIBTSAN_SPEC in link command if -fsanitize=thread. * tsan.c: New file about tsan. * tsan.h: Ditto. * common.opt: Add -fsanitize=thread. Co-Authored-By: Wei Mi <wmi@google.com> From-SVN: r193736
2012-11-22md.texi (RTL Templates Transformation): Use @pxref for cross-reference in ↵Uros Bizjak1-1/+1
parentheses. * doc/md.texi (RTL Templates Transformation): Use @pxref for cross-reference in parentheses. From-SVN: r193735
2012-11-22Remove documentation for AArch64 constraint 'Utf'.Marcus Shawcroft1-3/+0
2012-11-22 Marcus Shawcroft <marcus.shawcroft@arm.com> * doc/md.texi (AArch64 family): Remove Utf. From-SVN: r193732
2012-11-21Document __SANITIZE_ADDRESS__H.J. Lu1-0/+4
* doc/cpp.texi: Document __SANITIZE_ADDRESS__. From-SVN: r193705
2012-11-21common.opt: Change faddress-sanitizer to fsanitize=address.Wei Mi1-3/+4
* common.opt: Change faddress-sanitizer to fsanitize=address. * toplev.c (process_options): Likewise. * gcc.c (LINK_COMMAND_SPEC): Likewise. * testsuite/lib/asan-dg.exp (check_effective_target_faddress_sanitizer): Likewise. (asan_init): Likewise. * doc/invoke.texi (-fsanitize=address): Document. From-SVN: r193702
2012-11-21install.texi: Move multiarch paragraph out of multilib documentation.Matthias Klose1-6/+6
2012-11-20 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Move multiarch paragraph out of multilib documentation. From-SVN: r193685
2012-11-19md.texi: Document define_subst.Maxim Kuznetsov1-0/+261
* doc/md.texi: Document define_subst. * gensupport.c (MAX_OPERANDS): New define. (operand_data): New. (match_operand_entries_in_pattern): New. (used_operands_numbers): New. (subst_true): New. (subst_false): New. (define_subst_queue): New. (define_subst_tail): New. (define_subst_attr_queue): New. (define_subst_attr_tail): New. (has_subst_attribute): New. (subst_pattern_match): New. (get_alternatives_number): New. (alter_output_for_subst_insn): New. (alter_attrs_for_subst_insn): New. (process_substs_on_one_elem): New. (subst_dup): New. (process_define_subst): New. (duplicate_alternatives): New. (duplicate_each_alternative): New. (constraints_handler_t): New typedef. (alter_constraints): New. (adjust_operands_numbers): New. (replace_duplicating_operands_in_pattern): New. (remove_from_queue): New. (process_rtx): Handle define_subst and define_subst_attr. (change_subst_attribute): New. (alter_predicate_for_insn): Fix formatting. (alter_attrs_for_insn): Likewise. (alter_output_for_insn): Likewise. (mark_operands_from_match_dup): New. (mark_operands_used_in_match_dup): New. (find_first_unused_number_of_operand): New. (renumerate_operands_in_pattern): New. (generate_match_dup): New. (check_define_attr_duplicates): New. (init_rtx_reader_args_cb): Add checking for duplicated attrs and processing of define_subst. (read_md_rtx): Handle define_subst. * read-rtl.c (struct subst_attr_to_iter_mapping): New. (substs): New global. (apply_subst_iterator): New. (bind_subst_iter_and_attr): New. (find_subst_iter_by_attr): New. (map_attr_string): Handle subst-iterators. (add_condition_to_rtx): Handle define_subst. (apply_iterators): Likewise. (initialize_iterators): Likewise. (add_define_attr_for_define_subst): New. (add_define_subst_attr): New. (read_subst_mapping): New. (read_rtx): Handle define_subst_attr. (read_rtx_code): Add subst-attributes recognition during reading of strings. * rtl.def (DEFINE_EXPAND): Add vector of attributes. (DEFINE_SUBST): New. (DEFINE_SUBST_ATTR): New. Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> From-SVN: r193618
2012-11-18extend.texi: Use @smallexample consistently.Sandra Loosemore1-35/+82
2012-11-18 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi: Use @smallexample consistently. Add @noindent when continuing a sentence or paragraph past an example. Change tabs to spaces in examples. From-SVN: r193611
2012-11-18gcc/Richard Sandiford1-0/+65
* doc/md.texi (extv@var{m}, extvmisalign@var{m}, extzv@var{m}) (extzvmisalign@var{m}, insv@var{m}, insvmisalign@var{m}): Document. (insv, extv, extzv): Deprecate. * optabs.def (insv_optab, extv_optab, extzv_optab) (insvmisalign_optab, extvmisalign_optab, extzvmisalign_optab): New optabs. * optabs.c (get_optab_extraction_insn): New function. (get_extraction_insn): Use it. * config/mips/mips.md (extv): Split into... (extvmisalign<mode>, extv<mode>): ...these new patterns. Rename existing extv<mode> pattern to... (*extv<mode>): ...this. (extzv): Split into... (extzvmisalign<mode>, extzv<mode>): ...these new patterns. Rename existing extzv<mode> pattern to... (*extzv<mode>): ...this. (insv): Split into... (insvmisalign<mode>, insv<mode>): ...these new patterns. Rename existing insv<mode> pattern to... (*insv<mode>): ...this. Use const_int_operand rather than immediate_operand. * config/mips/mips.c (mips_block_move_straight): Use set_mem_size to set the size of BLKmode accesses. (mips_get_unaligned_mem): Require OP0 to be a BLKmode memory, turning it from an "rtx *" to an rtx. (mips_expand_ext_as_unaligned_load): Simplify for new optab interface. Update call to mips_get_unaligned_mem. (mips_expand_ins_as_unaligned_store): Update call to mips_get_unaligned_mem. From-SVN: r193606
2012-11-17Add -static-libasan option to the GCC driverH.J. Lu1-2/+11
* common.opt (static-libasan): New option. * gcc.c (LIBASAN_SPEC): New macro. (LINK_COMMAND_SPEC): Replace -lasan with LIBASAN_SPEC. * doc/invoke.texi: Document -static-libasan. From-SVN: r193589
2012-11-16extend.texi: Various copy-edits to comply with GCC coding standards for ↵Sandra Loosemore1-79/+83
spelling... 2012-11-16 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi: Various copy-edits to comply with GCC coding standards for spelling, terminology, and markup, including use of American spelling, correct use of terms like "back end" and "run time", use correct name for GCC, use "@:" markup. From-SVN: r193583
2012-11-16cpplib.h (struct cpp_options): Add canonical_system_headers.Simon Baldwin2-0/+12
* include/cpplib.h (struct cpp_options): Add canonical_system_headers. * files.c (find_file_in_dir): Call maybe_shorter_path() only if canonical_system_headers is set. * init.c (cpp_create_reader): Initialize canonical_system_headers. * configure.ac: Add new --enable-canonical-system-headers. * configure: Regenerate. * config.in: Regenerate. * doc/cppopts.texi: Document -f[no-]canonical-system-headers. * doc/install.texi: Document --enable-canonical-system-headers. * c.opt: Add f[no-]canonical-system-headers. * c-opts.c (c_common_handle_option): Handle OPT_fcanonical_system_headers. From-SVN: r193569
2012-11-16AMD bdver3 enablementGanesh Gopalasubramanian2-0/+8
From-SVN: r193548
2012-11-15Add support for sparc fused compare-and-branch.David S. Miller2-0/+13
gcc/ 2012-11-15 David S. Miller <davem@davemloft.net> * configure.ac: Add check for assembler SPARC4 instruction support. * configure: Rebuild. * config.in: Add HAVE_AS_SPARC4 section. * config/sparc/sparc.opt (mcbcond): New option. * doc/invoke.texi: Document it. * config/sparc/constraints.md: New constraint 'A' for 5-bit signed immediates. * doc/md.texi: Document it. * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_CBCOND. (sparc_option_override): Likewise. (emit_cbcond_insn): New function. (emit_conditional_branch_insn): Call it. (emit_cbcond_nop): New function. (output_ubranch): Use cbcond, remove label arg. (output_cbcond): New function. * config/sparc/sparc-protos.h (output_ubranch): Update. (output_cbcond): Declare it. (emit_cbcond_nop): Likewise. * config/sparc/sparc.md (type attribute): New types 'cbcond' and uncond_cbcond. (emit_cbcond_nop): New attribute. (length attribute): Handle cbcond and uncond_cbcond. (in_call_delay attribute): Reject cbcond and uncond_cbcond. (in_branch_delay attribute): Likewise. (in_uncond_branch_delay attribute): Likewise. (in_annul_branch_delay attribute): Likewise. (*cbcond_sp32, *cbcond_sp64): New insn patterns. (jump): Rewrite into an expander. (*jump_ubranch, *jump_cbcond): New patterns. * config/sparc/niagara4.md: Match 'cbcond' in 'n4_cti'. * config/sparc/sparc.h (AS_NIAGARA4_FLAG): New macro, use it when target default is niagara4. (SPARC_SIMM5_P): Define. * config/sparc/sol2.h (AS_SPARC64_FLAG): Adjust. (AS_SPARC32_FLAG): Define. (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Use AS_NIAGARA4_FLAG as needed. From-SVN: r193543
2012-11-14class.c (finish_struct_1): Check virtual functions for missing ABI tags.Jason Merrill1-1/+1
* class.c (finish_struct_1): Check virtual functions for missing ABI tags. From-SVN: r193525
2012-11-14invoke.texi: Document -print-multiarch.Matthias Klose3-0/+74
2012-11-14 Matthias Klose <doko@ubuntu.com> * doc/invoke.texi: Document -print-multiarch. * doc/install.texi: Document --enable-multiarch. * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME. * configure.ac: Add --enable-multiarch option. * configure: Regenerate. * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib. enable_multiarch, with_float: New macros. if_multiarch: New macro, define in terms of enable_multiarch. * genmultilib: Add new argument for the multiarch name. * gcc.c (multiarch_dir): Define. (for_each_path): Search for multiarch suffixes. (driver_handle_option): Handle multiarch option. (do_spec_1): Pass -imultiarch if defined. (main): Print multiarch. (set_multilib_dir): Separate multilib and multiarch names from multilib_select. (print_multilib_info): Ignore multiarch names in multilib_select. * incpath.c (add_standard_paths): Search the multiarch include dirs. * cppdefault.h (default_include): Document multiarch in multilib member. * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an include directory for multiarch directories. * common.opt: New options --print-multiarch and -imultilib. * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file): Include i386/t-linux. <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file): Include i386/t-kfreebsd. <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu. * config/i386/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME. * config/i386/t-gnu: New file. * config/i386/t-kfreebsd: Likewise. * config/i386/t-linux: Likewise. From-SVN: r193508
2012-11-12invoke.texi: Move -faddress-sanitizer from Optimization Options to Debugging ↵Tobias Burnus1-5/+5
Options. 2012-11-12 Tobias Burnus <burnus@net-b.de> * doc/invoke.texi: Move -faddress-sanitizer from Optimization Options to Debugging Options. From-SVN: r193443
2012-11-12Initial asan cleanupsJakub Jelinek2-0/+8
This patch defines a new asan_shadow_offset target macro, instead of having a mere macro in the asan.c file. It becomes thus cleaner to define the target macro for targets that supports asan, namely x86 for now. The ASAN_SHADOW_SHIFT (which, along with the asan_shadow_offset constant, is used to compute the address of the shadow memory byte for a given memory address) is defined in asan.h. gcc/ChangeLog * toplev.c (process_options): Warn and turn off -faddress-sanitizer if not supported by target. * asan.c: Include target.h. (asan_scale, asan_offset_log_32, asan_offset_log_64, asan_offset_log): Removed. (build_check_stmt): Use ASAN_SHADOW_SHIFT and targetm.asan_shadow_offset (). (asan_instrument): Don't initialize asan_offset_log. * asan.h (ASAN_SHADOW_SHIFT): Define. * target.def (TARGET_ASAN_SHADOW_OFFSET): New hook. * doc/tm.texi.in (TARGET_ASAN_SHADOW_OFFSET): Add it. * doc/tm.texi: Regenerated. * Makefile.in (asan.o): Depend on $(TARGET_H). * config/i386/i386.c (ix86_asan_shadow_offset): New function. (TARGET_ASAN_SHADOW_OFFSET): Define. From-SVN: r193433
2012-11-12Initial import of asan from the Google branchWei Mi1-3/+10
This patch imports the initial state of asan as it was in the Google branch. It provides basic infrastructure for asan to instrument memory accesses on the heap, at -O3. Note that it supports neither stack nor global variable protection. The rest of the patches of the set is intended to further improve this base. gcc/ChangeLog * Makefile.in: Add asan.c and its dependencies. * common.opt: Add -faddress-sanitizer option. * invoke.texi: Document the new flag. * passes.c: Add the asan pass. * toplev.c (compile_file): Call asan_finish_file. * asan.c: New file. * asan.h: New file. * tree-pass.h: Declare pass_asan. Co-Authored-By: Diego Novillo <dnovillo@google.com> Co-Authored-By: Dodji Seketeli <dodji@redhat.com> From-SVN: r193432
2012-11-12md.texi (Standard Pattern Names For Generation): Fix swapped sine and cosine ↵Oleg Endo1-1/+1
operands in the sincos description. * doc/md.texi (Standard Pattern Names For Generation): Fix swapped sine and cosine operands in the sincos description. From-SVN: r193424
2012-11-11extend.texi: Copy-edit to use "built-in function" instead of "builtin", per ↵Sandra Loosemore1-25/+32
GCC coding standards. 2012-11-11 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi: Copy-edit to use "built-in function" instead of "builtin", per GCC coding standards. Also use consistent capitalization in titles of sections describing built-in functions. From-SVN: r193411
2012-11-10extend.texi: Copy-edit to use "bit-field" consistently instead of "bitfield" ↵Sandra Loosemore1-28/+28
or "bit field". 2012-11-10 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi: Copy-edit to use "bit-field" consistently instead of "bitfield" or "bit field". From-SVN: r193403
2012-11-10extend.texi: Copy-edit to fix incorrect hyphenation phrases involving "bit"...Sandra Loosemore1-67/+67
2012-11-10 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi: Copy-edit to fix incorrect hyphenation phrases involving "bit", "byte", "word", "precision", and "floating" modifiers. From-SVN: r193402
2012-11-10extend.texi: Copy-edit to fix incorrect uses of "which" and "that" ↵Sandra Loosemore1-83/+84
throughout the file. 2012-11-10 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi: Copy-edit to fix incorrect uses of "which" and "that" throughout the file. From-SVN: r193400
2012-11-10Implement a flag -fext-numeric-literals that allows control of whether GNU...Ed Smith-Rowland1-0/+14
Implement a flag -fext-numeric-literals that allows control of whether GNU numeric suffix extensions are parsed or passed to C++ as user-defined literals. From-SVN: r193382
2012-11-09* doc/install.texi (sparc64-x-solaris2): Mention MPC as well.Eric Botcazou1-3/+3
From-SVN: r193377
2012-11-09Add C++ attribute abi_tag and -Wabi-tag option.Jason Merrill1-0/+21
gcc/ * attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST. gcc/c-family/ * c.opt (Wabi-tag): New. gcc/cp/ * tree.c (cxx_attribute_table): Add abi_tag attribute. (check_abi_tag_redeclaration, handle_abi_tag_attribute): New. * class.c (find_abi_tags_r, check_abi_tags): New. (check_bases, check_field_decl): Call check_abi_tags. * decl.c (redeclaration_error_message): Call check_abi_tag_redeclaration. * mangle.c (tree_string_cmp, write_abi_tags): New. (write_unqualified_name): Call write_abi_tags. include/ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_TAGGED_NAME. libiberty/ * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_TAGGED_NAME. (d_make_comp, d_find_pack, d_print_comp): Likewise. (d_abi_tags): New. (d_name): Call it. From-SVN: r193367
2012-11-08re PR fortran/48636 (Enable more inlining with -O2 and higher)Jan Hubicka1-0/+6
PR middle-end/48636 * ipa-inline.c (big_speedup_p): New function. (want_inline_small_function_p): Use it. (edge_badness): Dump it. * params.def (inline-min-speedup): New parameter. * doc/invoke.texi (inline-min-speedup): Document. From-SVN: r193331
2012-11-07invoke.texi (-mcpu=power8): Document.Peter Bergner1-4/+4
* doc/invoke.texi (-mcpu=power8): Document. * config.in (HAVE_AS_POWER8): New. * config.gcc: Add cpu_type power8. * configure.ac: (HAVE_AS_POWER8): Check for assembler support for the POWER8 instructions. * configure: Regenerate. * config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define. (ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8. (EXTRA_SPECS): Add asm_cpu_power8 spec string. * config/rs6000/rs6000-cpus.def (processor_target_table): Alias POWER8 to POWER7. * config/rs6000/rs6000-tables.opt: Regenerate. * config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8, pass %(asm_cpu_power8)/-mpwr8. * config/rs6000/aix53.h: Likewise. * config/rs6000/aix61.h: Likewise. From-SVN: r193307
2012-11-07re PR c/53063 (encode group options in the .opt files)Manuel López-Ibáñez1-21/+25
gcc/ 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/53063 * doc/invoke.texi (Wformat): Update. c-family/ 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/53063 * c.opt (Wformat): Make it Alias Wformat=1. (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral, Wformat-security,Wformat-y2k,Wformat-zero-length): Use LangEnabledBy. (Wformat=): RejectNegative. Use LangEnabledBy. (Wnonnull): Use LangEnabledBy. * c-opts.c (c_common_handle_option): Do not handle Wformat here. * c-format.c (set_Wformat): Delete. (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_. (maybe_read_dollar_number): Likewise. (avoid_dollar_number): Likewise. (finish_dollar_format_checking): Likewise. (check_format_info): Likewise. (check_format_info_main): Likewise. (check_format_types): Likewise. (format_type_warning): Likewise. * c-common.c (int): Likewise. (check_function_sentinel): Likewise. * c-common.h (warn_format,set_Wformat): Do not declare here. testsuite/ 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/53063 * gcc.dg/warn-nsstring.c: Use -Wformat explicitly. From-SVN: r193304
2012-11-07Revert sparc "U" constraint removal.David S. Miller1-0/+3
PR bootstrap/55211 Revert: * config/sparc/constraints.md ("U"): Delete. * config/sparc/sparc.md: Use 'r' constraint instead of 'U'. * config/sparc/sync.md: Likewise. And revert parts of: * doc/md.texi: Sync sparc constraint documentation with reality. From-SVN: r193283
2012-11-06common.opt (gno-split-dwarf, [...]): New switches.Sterling Augustine1-0/+8
gcc/ChangeLog 2012-11-06 Sterling Augustine <saugustine@google.com> Cary Coutant <ccoutant@google.com> * common.opt (gno-split-dwarf, gsplit-dwarf): New switches. * doc/invoke.texi (Debugging Options): Document them. * gcc.c (replace_extension_spec_func): New function. (ASM_FINAL_SPEC): Adjust. (static_spec_functions): Add new field for replace-extension. (check_live_switch): Adjust comment. Add case for 'g'. * opts.c (finish_options): Set x_debug_generate_pub_sections based on x_dwarf_split_debug_info. (common_handle_option): Add case for OPT_gsplit_dwarf. * dwarf2out.h (addr_table_entry_struct): Add forward declaration. (dw_val_struct): Add val_entry pointer. * dwarf2out.c: (debug_skeleton_info_section, debug_skeleton_abbrev_section, debug_addr_section, debug_skeleton_line_section, debug_str_offsets_section): New globals. (NOT_INDEXED, NO_INDEX_ASSIGNED): New defines. (indirect_string_node): New field index. (ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel, ate_kind_label. (addr_table_entry): New structure and type. (dw_loc_list_struct): Add field begin_entry. (new_loc_desc): Initialize val_entry. (size_of_loc_descr, output_loc_operands, output_loc_operands_raw): Add cases for DW_OP_GNU_addr_index and DW_OP_const_index. (build_cfa_loc): Initialize val_entry. (AT_index, add_addr_table_entry, remove_addr_table_entry, add_AT_lbl_id): New functions. (add_AT_addr, add_AT_range_list): New parameter force_direct. (output_die_abbrevs): New function. (add_ranges_by_labels): New parameter force_direct. (output_line_info): New parameter prologue_only. (dtprel_bool): New enum with dtprel_false and dtprel_true. (dw_addr_op, new_addr_loc_descr): New functions. (DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION, DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION, DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION, DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION, DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION, DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION, DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION, DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION, DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL, DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros. (DEBUG_STR_SECTION_FLAGS): Adjust. (TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL, DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL, DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL, DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust indentation. (debug_skeleton_abbrev_section_label, debug_addr_section_label, debug_skeleton_line_section_label, debug_skeleton_info_section_label): New global variables. (add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec, add_AT_data8): Initialize val_entry. (add_AT_low_high_pc): New parameter force_direct. Handle dwarf_split_debug_info. (set_indirect_string, find_AT_string_form): New functions. (AT_string_form): Adjust to call find_AT_string_from. (add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list): Initialize val_entry. (addr_index_table): New global variable. (addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry, init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry, remove_loc_list_addr_table_entries): New functions. (add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter force_direct. Handle dwarf_split_debug_info. (add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr, add_AT_offset): Initialize val_entry. (UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines. (size_of_die): Handle dwarf_split_debug_info. (size_of_aranges, value_format): Call AT_class. Check AT_index. (output_die_abbrevs): New function. (output_abbrev_section): Call output_die_abbrevs. (new_loc_list): Initialize begin_entry. (output_loc_list): Handle dwarf_split_debug_info. (output_range_list_offset, output_loc_list_offset, output_attr_index_or_value, ): New functions. (output_die): Fix call to dw2_asm_output_data. Call output_attr_index_or_value and output_range_list_offset. Adjust logic around dw_val_class_str. (add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit, output_skeleton_debug_sections): New functions. (output_comdat_type_unit, output_pubname, output_aranges): Handle dwarf_split_debug_info. (add_ranges_by_labels): New parameter force_direct. (mem_loc_descriptor, loc_descr): Call new_addr_loc_descr. (loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in place of generic integer. (dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die, gen_call_site_die, gen_subprogram_die, gen_variable_die, add_high_low_attributes): Adjust calls to add_AT_lbl_id. (output_macinfo_op): Adjust indirect_string_logic. (save_macinfo_strings): New function. (output_macinfo): Adjust. (dwarf2out_init): Handle dwarf_split_debug_info. (index_string, output_index_string_offset, output_index_string): New functions. (output_indirect_string): Adjust. (output_indirect_strings, output_addr_table_entry, output_addr_table): New functions. (resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index and DW_OP_GNU_const_index. Handle dwarf_split_debug_info. Call remove_loc_list_addr_table_entries and remove_addr_table_entry. (index_location_lists): New function. (dwarf2out_finish): Handle dwarf_split_debug_info. New variable main_comp_unit_die. Adjust calls to add_AT_low_high_pc, add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call save_macinfo_strings and output_indirect_strings. include/ChangeLog 2012-10-29 Sterling Augustine <saugustine@google.com> Cary Coutant <ccoutant@google.com> * dwarf2.h (dwarf_location_list_entry_type): New enum with fields DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry, DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry. Co-Authored-By: Cary Coutant <ccoutant@google.com> From-SVN: r193267