summaryrefslogtreecommitdiff
path: root/gcc/doc
Commit message (Collapse)AuthorAgeFilesLines
...
* * doc/include/texinfo.tex: Update to version 2012-05-16.16.jsm282012-05-291-927/+1962
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187956 138bc75d-0d04-0410-961f-82ee72b054a4
* /c-familypaolo2012-05-281-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable -Wmissing_braces. 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * doc/invoke.texi: Document -Wmissing-braces not enabled by -Wall for C++. /testsuite 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * g++.dg/warn/Wbraces3.C: New. * g++.dg/warn/Wbraces4.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187937 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/md.texi (Standard Names): Fix typos in documentation for atomic patterns.hp2012-05-281-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187935 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/md.texi (stack_protect_test): Remove negation ofhp2012-05-281-1/+1
| | | | | | | branch to label. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187934 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/53220jason2012-05-261-3/+24
| | | | | | | | | | | | gcc/ * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning about array compound literals. gcc/cp/ * call.c (convert_like_real) [ck_list]: Take array address directly. * typeck.c (decay_conversion): Reject decay of an array compound literal. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187916 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm,nathan2012-05-171-1/+1
| | | | | | | | | 51qm. * config/m68k/m68k-tables.opt: Regenerated. * doc/invoke.texi (M680x0 Options): Document. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187625 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/tm.texi.in (Type Layout) <SIZE_TYPE>: Update reference tohp2012-05-152-6/+6
| | | | | | | | source-code. * doc/tm.texi: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187568 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Kenneth Zadeck <zadeck@naturalbridge.com>zadeck2012-05-151-6/+4
| | | | | | | | | * doc/md.texi (fma): Define to only be applicable for single rounding. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187494 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/53344gjl2012-05-141-8/+9
| | | | | | | | | | | | | * config/avr/avr.c (avr_const_address_lo16): Remove. (avr_assemble_integer): Print ".byte lo8(x)", ".byte hi8(x)", ".byte hh8(x)" instead of emit an assembler .warning if 3-byte address is assembled. * doc/extend.texi (AVR Named Address Spaces): Document that binutils 2.23 is needed to assemble 3-byte addresses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187470 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | PR 53063 c-family/ * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init, Wreorder): Use LangEnabledBy. * c-opts.c (c_common_handle_option): Do not enable them explicitly. Call lang-specific generated functions. (c_common_post_options): Do not set them here. gcc/ * doc/options.texi: (LangEnabledBy): Document it. * optc-gen.awk: Handle LangEnabledBy. * opth-gen.awk: Generate declaration for lang-specific functions. * opt-read.awk: Record lang numbers. * opt-functions.awk (flag_set_p): Ignore the arguments of flags. (lang_sanitized_name): New. ada/ * gcc-interface/misc.c: Include opts.h and options.h before tm.h. (gnat_handle_option): Call lang-specific generated function. fortran/ * options.c (gfc_handle_option): Call lang-specific generated function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187462 138bc75d-0d04-0410-961f-82ee72b054a4
* * attribs.c (decl_attributes): Avoid emitting a warning ifbernds2012-05-141-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ATTR_FLAG_BUILT_IN. * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx codes. Document meaning of sets inside CALL_INSN_FUNCTION_USAGE. * c-family/c-common.c (DEF_ATTR_STRING): Define and undefine as necessary. * builtin-attrs.def (DEF_ATTR_FOR_STRING): Define. Use it to define a string "1". (ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition. * builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCPY): Use it for these functions. * postreload.c (reload_combine): Deal with SETs inside CALL_INSN_FUNCTION_USAGE. * caller-save.c (setup_save_areas, save_call_clobbered_regs): Look for REG_RETURNED notes and use a cheap restore if possible. * ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num. (ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro. * ira-build.c (ira_create_allocno, create_cap_allocno, propagate_allocno_info, propagate_some_info_from_allocno, copy_info_to_removed_store_destination, ira_flattening): Handle it. * ira-lives.c (pseudo_regno_single_word_and_live_p, find_call_crossed_cheap_reg): New static functions. (process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE, and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible. Also make a REG_RETURNED note in that case. * ira.c (setup_reg_renumber): Change assert to allow cases where allocnos only cross calls for which they are cheap to restore. * ira-costs.c (ira_tune_allocno_costs): Compare ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather than 0. * reg-notes.def (REG_RETURNED): New note. * cse.c (cse_insn): Likewise. * sched-deps.c (sched_analyze_insn): Likewise. * expr.c (init_block_move_fn): Set a "fn spec" attribute. * calls.c (decl_return_flags): New static function. (expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for functions that return one of their arguments. * lto/lto-lang.c (handle_fnspec_attribute): New static function. (lto_attribute_table): Add "fn spec". (DEF_ATTR_STRING): Define and undefine along with the other macros. * regcprop.c (struct kill_set_value_data): New. (kill_set_value): Interpret data as a pointer to such a struct. Do nothing if the caller wants the register to be ignored. (copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE. testsuite/ * gcc.target/i386/retarg.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187459 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-05-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P. /cp 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com> * cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P. (TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P. (TYPE_PTR_OR_PTRMEM_P): Add. * typeck.c (composite_pointer_type_r, composite_pointer_type, common_pointer_type, cp_build_indirect_ref, cp_build_binary_op, cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1, build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real, casts_away_constness_r, casts_away_constness): Adjust. * init.c (build_zero_init_1): Adjust. * class.c (check_field_decls): Likewise. * decl.c (check_default_argument): Likewise. * rtti.c (target_incomplete_p): Likewise. * tree.c (zero_init_p): Likewise. * cxx-pretty-print.c (pp_cxx_ptr_operator, pp_cxx_abstract_declarator): Likewise. * typeck2.c (build_m_component_ref): Likewise. * pt.c (convert_nontype_argument, invalid_nontype_parm_type_p, dependent_type_p_r): Likewise. * call.c (null_member_pointer_value_p, standard_conversion, add_builtin_candidate, build_conditional_expr_1, compare_ics): Likewise. * cp-objcp-common.c (cp_var_mod_type_p): Likewise. * cvt.c (cp_convert_to_pointer, ocp_convert, perform_qualification_conversions): Likewise. * mangle.c (write_type): Likewise. * name-lookup.c (arg_assoc_type): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187426 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 53063 gcc/ * doc/options.texi (EnabledBy): Document * opts.c: Include opts.h and options.h before tm.h. (finish_options): Do not handle some sub-options here... (common_handle_option): ... instead call common_handle_option_auto here. * optc-gen.awk: Handle EnabledBy. * opth-gen.awk: Declare common_handle_option_auto. * common.opt (Wuninitialized): Use EnabledBy. Delete Init. (Wmaybe-uninitialized): Likewise. (Wunused-but-set-variable): Likewise. (Wunused-function): Likewise. (Wunused-label): Likewise. (Wunused-value): Likewise. (Wunused-variable): Likewise. * opt-read.awk: Create opt_numbers array. ada/ * gcc-interface/misc.c (gnat_parse_file): Move before ... (gnat_handle_option): ... this. Use handle_generated_option. c-family/ * c-opts.c (c_common_handle_option): Use handle_generated_option to enable sub-options. fortran/ * options.c: Include diagnostics.h instead of diagnostics-core.h. (set_Wall): Do not see warn_unused here. (gfc_handle_option): Set it here using handle_generated_option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187403 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/md.texi (Standard Names): Document probe_stack_address.ebotcazou2012-05-101-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * explow.c (emit_stack_probe): Handle probe_stack_address. * config/ia64/ia64.md (UNSPECV_PROBE_STACK_ADDRESS): New constant. (UNSPECV_PROBE_STACK_RANGE): Likewise. (probe_stack_address): New insn. (probe_stack_range): Likewise. * config/ia64/ia64.c: Include common/common-target.h. (ia64_compute_frame_size): Mark r2 and r3 as used if static stack checking is enabled. (ia64_emit_probe_stack_range): New function. (output_probe_stack_range): Likewise. (ia64_expand_prologue): Invoke ia64_emit_probe_stack_range if static builtin stack checking is enabled. (rtx_needs_barrier) <UNSPEC_VOLATILE>: Handle UNSPECV_PROBE_STACK_RANGE and UNSPECV_PROBE_STACK_ADDRESS. (unknown_for_bundling_p): New predicate. (group_barrier_needed): Use important_for_bundling_p. (ia64_dfa_new_cycle): Use unknown_for_bundling_p. (issue_nops_and_insn): Likewise. (bundling): Likewise. (final_emit_insn_group_barriers): Likewise. * config/ia64/ia64-protos.h (output_probe_stack_range): Declare. * config/ia64/hpux.h (STACK_CHECK_STATIC_BUILTIN): Define. (STACK_CHECK_PROTECT): Likewise. * config/ia64/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187383 138bc75d-0d04-0410-961f-82ee72b054a4
* Use i386-cpuinfo.c on all i386 targetsro2012-05-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libgcc: * config.host (i[34567]86-*-linux*, x86_64-*-linux*) (i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu) (i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Move i386/t-cpuinfo ... (i[34567]86-*-*, x86_64-*-*): ... here. * config/i386/libgcc-bsd.ver (GCC_4.8.0): New version. * config/i386/libgcc-sol2.ver (GCC_4.8.0): New version. * config/i386/i386-cpuinfo.c: Rename to ... * config/i386/cpuinfo.c: ... this. * config/i386/t-cpuinfo (LIB2ADD): Reflect this. * configure.ac (AC_CONFIG_HEADER): Call for auto-target.h. (libgcc_cv_init_priority): New test. * configure: Regenerate. * config.in: New file. * Makefile.in (clean): Rename config.h to auto-target.h. (config.h): Likewise. (stamp-h): Likewise. * config/i386/cpuinfo.c (auto-target.h): Include. (CONSTRUCTOR_PRIORITY): Define. (__cpu_indicator_init): Use it. gcc * doc/extend.texi (X86 Built-in Functions, __builtin_cpu_init): Document requirement to call in constructors. * config/i386/i386.c: Update comments for i386-cpuinfo.c name change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187365 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-091-2/+1
| | | | | | | | * doc/extend.texi (Function Attributes): Point xref to section about Pragmas. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187353 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/53256gjl2012-05-091-50/+68
| | | | | | | | | | | | | | | | | | | | | | | * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove. * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove. * config/avr/avr.h (struct machine_function): Add attributes_checked_p. * config/avr/avr.c (avr_asm_declare_function_name): Remove. (expand_prologue): Move initialization of cfun->machine->is_naked, is_interrupt, is_signal, is_OS_task, is_OS_main from here to... (avr_set_current_function): ...this new static function. (TARGET_SET_CURRENT_FUNCTION): New define. (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of checking attributes of current_function_decl. (avr_regs_to_save): Ditto. (signal_function_p): Rename to avr_signal_function_p. (interrupt_function_p): Rename to avr_interrupt_function_p. * doc/extend.texi (Function Attributes): Better explanation of 'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish alphabetical order. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187342 138bc75d-0d04-0410-961f-82ee72b054a4
* * genmultilib: Update copyright dates.xguo2012-05-091-1/+1
| | | | | | | * doc/fragments.texi: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187327 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.xguo2012-05-091-0/+23
| | | | | | | | * genmultilib (MULTILIB_REQUIRED): New. * doc/fragments.texi: Document the MULTILIB_REQUIRED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187325 138bc75d-0d04-0410-961f-82ee72b054a4
* This patch adds functionality to libgcov to enable user applications totejohnson2012-05-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | collect profile data only in regions of interest. This is useful, for example, to collect profile data from a long-running server only during the time when it is serving requests. Specifically, the new routines __gcov_reset will clear all profile counters to zero and __gcov_dump will write out the profile information collected so far. A global variable is used to prevent writing out the profile a second time during exit. 2012-05-08 Teresa Johnson <tejohnson@google.com> * libgcc/libgcov.c (gcov_clear, __gcov_reset): New functions. (__gcov_dump): Ditto. (gcov_dump_complete): New global variable. (gcov_exit): Export hidden to enable use in L_gcov_dump. (__gcov_flush): Outline functionality now in gcov_clear. * libgcc/Makefile.in (L_gcov_reset, L_gcov_dump): Define. * gcc/gcov-io.h (__gcov_reset, __gcov_dump): Declare. * gcc/doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187297 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.gjl2012-05-082-82/+75
| | | | | | | | | | | | | | * doc/avr-mmcu.texi: New auto-generated file. * doc/invoke.texi (AVR Options): Include avr-mmcu.texi in order to document all valid -mmcu= arguments. * config/avr/avr.h (arch_info_s): New struct definition. * config/avr/avr-devices.c (avr_texinfo): New variable. * config/avr/gen-avr-mmcu-texi.c: New file. * config/avr/t-avr: New rules and dependencies to build avr-mmcu.texi. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187279 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/md.texi (attr_flag): Update for changes of previous revision.steven2012-05-041-11/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187179 138bc75d-0d04-0410-961f-82ee72b054a4
* Enable -Wunused-local-typedefs when -Wall or -Wunused is ondodji2012-05-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Now that the libstdc++ testsuite is run with -ftrack-macro-location by default, this patch triggers the -Wunused-local-typedefs warning when -Wunused (and -Wall) is turned on. The patch has been reviewed and accepted[1] a while ago, but was waiting for the -ftrack-macro-expansion work to go in first. Bootstrapped and tested again on x86_64-unknown-linux-gnu against trunk. Applied to the mainline. [1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00605.html gcc/ * opts.c (finish_options): Activate -Wunused-local-typedefs if -Wunused is activated. * doc/invoke.texi: Update blurb of -Wunused-local-typedefs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187167 138bc75d-0d04-0410-961f-82ee72b054a4
* ChangeLog entry:kyukhin2012-05-023-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * coretypes (MEMMODEL_MASK): New. * builtins.c (get_memmodel): Add val. Call target.memmodel_check and return new variable. (expand_builtin_atomic_exchange): Mask memmodel values. (expand_builtin_atomic_compare_exchange): Ditto. (expand_builtin_atomic_load): Ditto. (expand_builtin_atomic_store): Ditto. (expand_builtin_atomic_clear): Ditto. * doc/extend.texi: Mention port-dependent memory model flags. * config/i386/cpuid.h (bit_HLE): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect HLE support. * config/i386/i386-protos.h (ix86_generate_hle_prefix): New. * config/i386/i386-c.c (ix86_target_macros_internal): Set HLE defines. (ix86_target_string)<-mhle>: New. (ix86_valid_target_attribute_inner_p)<OPT_mhle>: Ditto. * config/i386/i386.c (ix86_target_string)<OPTION_MASK_ISA_HLE>: New. (ix86_valid_target_attribute_inner_p)<OPT_mhle>: Ditto. (ix86_option_override_internal)<PTA_HLE>: New switch, set it enabled for generic, generic64 and core-avx2. (ix86_print_operand): Generate HLE lock prefixes. (ix86_memmodel_check): New. (TARGET_MEMMODEL_CHECK): Ditto. * config/i386/i386.h (OPTION_ISA_HLE): Ditto. (IX86_HLE_ACQUIRE): Ditto. (IX86_HLE_RELEASE): Ditto. * config/i386/i386.h (ix86_generate_hle_prefix): Ditto. * config/i386/i386.opt (mhle): Ditto. * config/i386/sync.md(atomic_compare_and_swap<mode>): Pass success model to instruction emitter. (atomic_fetch_add<mode>): Ditto. (atomic_exchange<mode>): Ditto. (atomic_add<mode>): Ditto. (atomic_sub<mode>): Ditto. (atomic_<code><mode>): Ditto. (*atomic_compare_and_swap_doubledi_pic): Ditto. (atomic_compare_and_swap_single<mode>): Define and use argument for success model. (atomic_compare_and_swap_double<mode>): Ditto. * configure.ac: Check if assembler support HLE prefixes. * configure: Regenerate. * config.in: Ditto. testsuite/ChangeLog entry: * gcc.target/i386/hle-cmpxchg-acq-1.c: New. * gcc.target/i386/hle-cmpxchg-rel-1.c: Ditto. * gcc.target/i386/hle-add-acq-1.c: Ditto. * gcc.target/i386/hle-add-rel-1.c: Ditto. * gcc.target/i386/hle-and-acq-1.c: Ditto. * gcc.target/i386/hle-and-rel-1.c: Ditto. * gcc.target/i386/hle-or-acq-1.c: Ditto. * gcc.target/i386/hle-or-rel-1.c: Ditto. * gcc.target/i386/hle-sub-acq-1.c: Ditto. * gcc.target/i386/hle-sub-rel-1.c: Ditto. * gcc.target/i386/hle-xadd-acq-1.c: Ditto. * gcc.target/i386/hle-xadd-rel-1.c: Ditto. * gcc.target/i386/hle-xchg-acq-1.c: Ditto. * gcc.target/i386/hle-xchg-rel-1.c: Ditto. * gcc.target/i386/hle-xor-acq-1.c: Ditto. * gcc.target/i386/hle-xor-rel-1.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187051 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -fno-sync-libcalls.rth2012-05-011-1/+11
| | | | | | | | * common.opt (fsync-libcalls): New. * doc/invoke.texi: Document it. * optabs.c (init_sync_libfuncs): Honor it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187017 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/51033jason2012-04-301-1/+1
| | | | | | | | | | | | | | gcc/ * c-typeck.c (build_array_ref): Call convert_vector_to_pointer_for_subscript. gcc/c-family * c-common.c (convert_vector_to_pointer_for_subscript): New function. * c-common.h (convert_vector_to_pointer_for_subscript): Declare it. gcc/cp/ * typeck.c (cp_build_array_ref): Handle VECTOR_TYPE. * decl2.c (grok_array_decl): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186994 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -Wvarargs optiondodji2012-04-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Several warnings related to questionable usage cases of variadic function related macros (like va_start) could not be controlled by any warning-related macro. Fixed thus, by introducing the -Wvarargs option. Tested on x86_64-unknown-linux-gnu against trunk. gcc/c-family/ * c.opt (Wvarargs): Define new option. gcc/ * builtins.c (fold_builtin_next_arg): Use OPT_Wvarargs as an argument for the various warning_at calls. gcc/doc/ * invoke.texi: Update the documentation. gcc/testsuite/ * c-c++-common/Wvarargs.c: New test case. * c-c++-common/Wvarargs-2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186978 138bc75d-0d04-0410-961f-82ee72b054a4
* Switch -ftrack-macro-expansion=2 on by default.dodji2012-04-301-0/+2
| | | | | | | | | | | | | | | | | | This switches the compiler to -ftrack-macro-expansion=2 by default. Tested and bootstrapped on x86_64-unknown-linux-gnu against trunk. libcpp/ * init.c (cpp_create_reader): Switch -ftrack-macro-expansion=2 on by default. Add comments. gcc/docs/ * cppopts.texi: Adjust for enabling -ftrack-macro-expansion=2 by default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186977 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-04-301-26/+31
| | | | | | | | | | | | | | | | | | | | | | | gcc/ * doc/invoke.texi (Wmissing-format-attribute): Document as an alias of Wsuggest-attribute=format. c-family/ * c.opt (Wsuggest-attribute=format): New. Alias of Wmissing-format-attribute. * c-format.c (decode_format_type): Replace Wmissing-format-attribute with Wsuggest-attribute=format. (check_function_format): Likewise. cp/ * typeck.c (convert_for_assignment): Replace Wmissing-format-attribute with Wsuggest-attribute=format. * call.c (convert_for_arg_passing): Likewise. gcc/ * c-typeck.c (convert_for_assignment): Replace Wmissing-format-attribute with Wsuggest-attribute=format. (digest_init): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186955 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/38785mkuvyrkov2012-04-281-3/+9
| | | | | | | | | | | | * common.opt (ftree-partial-pre): New option. * doc/invoke.texi: Document it. * opts.c (default_options_table): Initialize flag_tree_partial_pre. * tree-ssa-pre.c (do_partial_partial_insertion): Insert only if it will benefit speed path. (execute_pre): Use flag_tree_partial_pre. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186928 138bc75d-0d04-0410-961f-82ee72b054a4
* Add new option, -Wliteral-suffix.aaw2012-04-271-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option, which is enabled by default, causes the preprocessor to warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore. According to [lex.ext]p10, this is ill-formed. Also modifies the preprocessor to treat such ill-formed suffixes as separate preprocessing tokens. This is consistent with the Clang front end (see http://llvm.org/viewvc/llvm-project?view=rev&revision=152287), and enables backwards compatibility with code that uses formatting macros from <inttypes.h>, as in the following code block: int main() { int64_t i64 = 123; printf("My int64: %"PRId64"\n", i64); } Google ref b/6377711. 2012-04-27 Ollie Wild <aaw@google.com> PR c++/52538 * gcc/c-family/c-common.c: Add CPP_W_LITERAL_SUFFIX mapping. * gcc/c-family/c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix. * gcc/c-family/c.opt: Add Wliteral-suffix. * gcc/doc/invoke.texi (Wliteral-suffix): Document new option. * gcc/testsuite/g++.dg/cpp0x/Wliteral-suffix.c: New test. * libcpp/include/cpplib.h (struct cpp_options): Add new field, warn_literal_suffix. (CPP_W_LITERAL_SUFFIX): New enum. * libcpp/init.c (cpp_create_reader): Default initialization of warn_literal_suffix. * libcpp/lex.c (lex_raw_string): Treat user-defined literals which don't begin with '_' as separate tokens and produce a warning. (lex_string): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186909 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-25 Sriraman Tallam <tmsriram@google.com>tmsriram2012-04-261-0/+2
| | | | | | | | | | | | | | | | * config/i386/i386-cpuinfo.c (FEATURE_AVX2): New enum value. (get_available_features): New argument. Check for AVX2. (__cpu_indicator_init): Modify call to get_available_features. * doc/extend.texi: Document avx2 support. * config/i386/i386.c (fold_builtin_cpu): Add avx2. * testsuite/gcc.target/i386/builtin_target.c: Check avx2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186855 138bc75d-0d04-0410-961f-82ee72b054a4
* * common.opt (flag_debug_types_section): Default to 0.jakub2012-04-251-7/+10
| | | | | | | | | | | | | | | | | | (dwarf_version): Default to 4. (dwarf_record_gcc_switches): Default to 1. (dwarf_strict): Default to 0. * toplev.c (process_options): Don't handle dwarf_strict or dwarf_version here. * config/vxworks.c (vxworks_override_options): Don't test whether dwarf_strict or dwarf_version are negative, instead test !global_options_set.x_dwarf_*. * config/darwin.c (darwin_override_options): Default to dwarf_version 2. * doc/invoke.texi: Note that -gdwarf-4, -grecord-gcc-switches and -fno-debug-types-section are now the default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186835 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-24 Sriraman Tallam <tmsriram@google.com>tmsriram2012-04-251-0/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds new builtins to check for cpu type and features. * __builtin_cpu_is ("<CPUNAME>") * __builtin_cpu_supports ("<FEATURE>") apart from the cpu init builtin, __builtin_cpu_init. List of CPU names : * "amd" * "intel" * "atom" * "core2" * "corei7" * "nehalem" * "westmere" * "sandybridge" * "amdfam10h" * "barcelona" * "shanghai" * "istanbul" * "bdver1" * "bdver2" List of CPU features : * "cmov" * "mmx" * "popcnt" * "sse" * "sse2" * "sse3" * "ssse3" * "sse4.1" * "sse4.2" * "avx" * config/i386/i386.c (build_processor_model_struct): New function. (make_var_decl): New function. (fold_builtin_cpu): New function. (ix86_fold_builtin): New function. (make_cpu_type_builtin): New function. (ix86_init_platform_type_builtins): New function. (ix86_expand_builtin): Expand new builtins by folding them. (ix86_init_builtins): Make new builtins to detect CPU type. (TARGET_FOLD_BUILTIN): New macro. (IX86_BUILTIN_CPU_INIT): New enum value. (IX86_BUILTIN_CPU_IS): New enum value. (IX86_BUILTIN_CPU_SUPPORTS): New enum value. * config/i386/i386-builtin-types.def: New function type. * testsuite/gcc.target/builtin_target.c: New testcase. * doc/extend.texi: Document builtins. * libgcc/config/i386/i386-cpuinfo.c: New file. * libgcc/config/i386/t-cpuinfo: New file. * libgcc/config.host: Include t-cpuinfo. * libgcc/config/i386/libgcc-glibc.ver: Version symbol __cpu_model. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186789 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (AVR Named Address Spaces): Fix typos.gjl2012-04-231-8/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186697 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-04-221-21/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c/44774 gcc/ * doc/invoke.texi (pedantic): Rename to Wpedantic. * common.opt (Wpedantic): New. (pedantic): Alias Wpedantic. * diagnostic.c (warning_at): Likewise. * c-decl.c (diagnose_mismatched_decls): Likewise. (build_array_declarator): Likewise. (mark_forward_parm_decls): (check_bitfield_type_and_width): Likewise. (grokdeclarator): Likewise. (grokfield): Likewise. (finish_struct): Likewise. (build_enumerator): Likewise. (store_parm_decls_oldstyle): Likewise. (declspecs_add_qual): Likewise. (declspecs_add_type): Likewise. (finish_declspecs): Likewise. * c-typeck.c (composite_type): Likewise. (comp_target_types): Likewise. (build_array_ref): Likewise. (pointer_diff): Likewise. (build_unary_op): Likewise. (build_conditional_expr): Likewise. (build_c_cast): Likewise. (convert_for_assignment): Likewise. (maybe_warn_string_init): Likewise. (digest_init): Likewise. (pop_init_level): Likewise. (set_init_index): Likewise. (c_finish_goto_label): Likewise. (c_finish_return): Likewise. (do_case): Likewise. (build_binary_op): Likewise. * c-parser.c (static): Likewise. (c_parser_external_declaration): Likewise. (c_parser_declaration_or_fndef): Likewise. (c_parser_static_assert_declaration_no_se): Likewise. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_struct_declaration): Likewise. (c_parser_alignas_specifier): Likewise. (c_parser_braced_init): Likewise. (c_parser_initelt): Likewise. (c_parser_compound_statement_nostart): Likewise. (c_parser_conditional_expression): Likewise. (c_parser_alignof_expression): Likewise. (c_parser_postfix_expression): Likewise. (c_parser_postfix_expression_after_paren_): Likewise. (c_parser_objc_class_instance_variables): Likewise. (c_parser_objc_method_definition): Likewise. (c_parser_objc_methodprotolist): Likewise. c-family/ * c.opt (Wpedantic): New. (pedantic): Alias Wpedantic. * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic. (c_common_post_options): Likewise. (sanitize_cpp_opts): Likewise. * c-lex.c (interpret_float): Likewise. * c-format.c (check_format_types): Likewise. * c-common.c (pointer_int_sum): Likewise. (c_sizeof_or_alignof_type): Likewise. (c_add_case_label): Likewise. (c_do_switch_warnings): Likewise. * c-pragma.c (handle_pragma_float_const_decimal64): Likewise. cp/ * typeck.c (composite_pointer_type): Likewise. (cxx_sizeof_or_alignof_type): Likewise. (cp_build_array_ref): Likewise. (cp_build_function_call_vec): Likewise. (cp_build_addr_expr_1): Likewise. (convert_member_func_to_ptr): Likewise. * decl.c (check_tag_decl): Likewise. (check_static_variable_definition): Likewise. (compute_array_index_type): Likewise. (create_array_type_for_decl): Likewise. (grokdeclarator): Likewise. (grok_op_properties): Likewise. * error.c (maybe_warn_cpp0x): Likewise. * pt.c (maybe_process_partial_specialization): Likewise. (convert_template_argument): Likewise. (do_decl_instantiation): Likewise. (do_type_instantiation): Likewise. * parser.c (cp_parser_primary_expression): Likewise. (cp_parser_postfix_expression): Likewise. (cp_parser_unary_expression): Likewise. (cp_parser_question_colon_clause): Likewise. (cp_parser_lambda_introducer): Likewise. (cp_parser_lambda_declarator_opt): Likewise. (cp_parser_compound_statement): Likewise. (cp_parser_jump_statement): Likewise. (cp_parser_declaration_seq_opt): Likewise. (cp_parser_enum_specifier): Likewise. (cp_parser_enumerator_list): Likewise. (cp_parser_initializer_list): Likewise. (cp_parser_member_declaration): Likewise. * call.c (build_conditional_expr_1): Likewise. * friend.c (make_friend_class): Likewise. * name-lookup.c (pushdecl_maybe_friend_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186681 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-18 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-04-171-1/+1
| | | | | | | | * doc/invoke.texi (Language Independent Options): @item should be before @opindex. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186553 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-16 Sandra Loosemore <sandra@codesourcery.com>sandra2012-04-171-656/+664
| | | | | | | | | gcc/ * doc/invoke.texi: Copy-edit to put verbs in the present tense when describing the current behavior of GCC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186523 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/install.texi (Specific, *-ibm-aix*): Update assembler bugdje2012-04-161-7/+8
| | | | | | | status. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186502 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/arm-cores.def: Added core cortex-m0plus.xguo2012-04-131-0/+1
| | | | | | | | | * config/arm/arm-tune.md: Regenerated. * config/arm/arm-tables.opt: Regenerated. * doc/invoke.texi: Added entry for cpu ARM cortex-m0plus. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186405 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/52624ebotcazou2012-04-112-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/extend.texi (Other Builtins): Document __builtin_bswap16. (PowerPC AltiVec/VSX Built-in Functions): Remove it. * doc/md.texi (Standard Names): Add bswap. * builtin-types.def (BT_UINT16): New primitive type. (BT_FN_UINT16_UINT16): New function type. * builtins.def (BUILT_IN_BSWAP16): New. * builtins.c (expand_builtin_bswap): Add TARGET_MODE argument. (expand_builtin) <BUILT_IN_BSWAP16>: New case. Pass TARGET_MODE to expand_builtin_bswap. (fold_builtin_bswap): Add BUILT_IN_BSWAP16 case. (fold_builtin_1): Likewise. (is_inexpensive_builtin): Likewise. * optabs.c (expand_unop): Deal with bswap in HImode specially. Add missing bits for bswap to libcall code. * tree.c (build_common_tree_nodes): Build uint16_type_node. * tree.h (enum tree_index): Add TI_UINT16_TYPE. (uint16_type_node): New define. * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_BSWAP_HI): Delete. * config/rs6000/rs6000.c (rs6000_expand_builtin): Remove handling of above builtin. (rs6000_init_builtins): Likewise. * config/rs6000/rs6000.md (bswaphi2): Add TARGET_POWERPC predicate. c-family/ * c-common.h (uint16_type_node): Rename into... (c_uint16_type_node): ...this. * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming. * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186308 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-11 Tristan Gingold <gingold@adacore.com>gingold2012-04-111-4/+4
| | | | | | | | * doc/extend.texi (Type Attributes): Move paragraph. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186306 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-04-111-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 24985 gcc/ * diagnostic.h (show_caret): Declare. (caret_max_width): Declare. (diagnostic_show_locus): Declare. * diagnostic.c (diagnostic_initialize): Initialize to false. (diagnostic_show_locus): New. (diagnostic_report_diagnostic): Call it. (getenv_columns): New. (adjust_line): New. (diagnostic_set_caret_max_width): New. * input.c (read_line): New. (location_get_source_line): New. * input.h (location_get_source_line): Declare. * toplev.c (general_init): Initialize show_caret from options. * dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret. * opts.c (common_handle_option): Likewise. * pretty-print.h (pp_get_prefix): New. (pp_base_get_prefix): New. * common.opt (fdiagnostics-show-caret): New option. * doc/invoke.texi (fdiagnostics-show-caret): Document it. testsuite/ * lib/prune.exp: Add -fno-diagnostics-show-caret. libstdc++-v3/ * testsuite/lib/prune.exp: Handle caret. libmudflap/ * testsuite/lib/libmudflap.exp: Handle caret. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186305 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-06 Sandra Loosemore <sandra@codesourcery.com>sandra2012-04-071-205/+266
| | | | | | | | | | | | gcc/ * doc/invoke.texi: Clean up Texinfo markup throughout the file. Use @option markup on command-line options. Use @samp markup on literal keywords to options. Use @code markup on code fragments. Use other markup in preference to quotation marks in the text. Add markup to some passages without any. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186209 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2012-04-061-1/+1
| | | | | | | | | 2012-04-04 Matt Turner <mattst88@gmail.com> * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186179 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/rtl.texi (const_double): Document as sign-extending.mrs2012-04-041-3/+14
| | | | | | | | | | | | | | | | | | | | | * expmed.c (expand_mult): Ensure we don't use shift incorrectly. * emit-rtl.c (immed_double_int_const): Refine to state the value is signed. * simplify-rtx.c (mode_signbit_p): Add a fixme for wider than CONST_DOUBLE integers. (simplify_const_unary_operation, UNSIGNED_FLOAT): Ensure no negative values are converted. Fix conversions bigger than HOST_BITS_PER_WIDE_INT. (simplify_binary_operation_1): Ensure we don't use shift incorrectly. (simplify_immed_subreg): Sign-extend CONST_DOUBLEs. * explow.c (plus_constant_mode): Add. (plus_constant): Implement with plus_constant_mode. * rtl.h (plus_constant_mode): Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186147 138bc75d-0d04-0410-961f-82ee72b054a4
* * h8300/h8300.c (h8300_current_function_monitor_function_p):law2012-04-031-1/+13
| | | | | | | | | | | | | | | | | New function. Added to check monitor functions. (h8300_option_override): Modified to generate error/warning messages for invalid combinations of different command line options. * h8300/h8300.md: Generate 'rte' for monitor functions. Do not save EXR on stack for monitor function in case of H8S target when "-mno-exr" is passed. * h8300/h8300-protos.h (h8300_current_function_monitor_function_p): Add prototype. * doc/invoke.texi: Document H8S options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186109 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/52737gjl2012-03-281-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * contrib/gcc_update (files_and_dependencies): Remove gcc/config/avr/t-multilib from touch data. gcc/ PR target/52737 * config.gcc (tm_file): Remove avr/multilib.h. * doc/invoke.texi (AVR Options): Adjust documentation of -mtiny-stack. * config/avr/genmultilib.awk: Remove code to generate multilib.h. (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack. * config/avr/t-avr: Remove generation of multilib.h. * config/avr/t-multilib: Regenerate. * config/avr/multilib.h: Remove. * config/avr/avr.opt (-msp8): New option. (avr_sp8): New variable. * config/avr/driver-avr.c (avr_device_to_sp8): New function. * config/avr/avr.h (AVR_HAVE_SPH): New define. (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8. (avr_device_to_sp8): New prototype. (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 } (DRIVER_SELF_SPECS): New define. * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines: __AVR_SP8__, __AVR_HAVE_SPH__. * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of AVR_HAVE_8BIT_SP to decide if SP_H is present. (avr_file_start): Ditto. libgcc/ PR target/52737 * config/avr/lib1funcs.S: Use __AVR_HAVE_SPH__ for SP_H checks instead of __AVR_HAVE_8BIT_SP__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185907 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove MaskNeededhjl2012-03-271-11/+0
| | | | | | | | | | | | | | 2012-03-27 H.J. Lu <hongjiu.lu@intel.com> * opth-gen.awk: Allocated a bit for Mask and InverseMask if it hasn't been allocated. Define a target macro for Mask and InverseMask if it hasn't been defined. Remove MaskExists handling. * doc/options.texi: Remove MaskNeeded. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185882 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips-tables.opt: Update.mkuvyrkov2012-03-221-2/+2
| | | | | | | | | | | | * config/mips/mips.md (processor): Add xlp. * config/mips/mips-cpus.def: Add xlp. * config/mips/mips.c (mips_rtx_cost_data): Add costs for XLP, copy from 5KF for now. * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle xlp. * doc/invoke.texi: Mention XLP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185712 138bc75d-0d04-0410-961f-82ee72b054a4