aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
AgeCommit message (Collapse)AuthorFilesLines
2010-06-03PR target/44218, improve -mrecip on powerpcMichael Meissner2-13/+65
From-SVN: r160199
2010-06-01invoke.texi: Mention -fdump-ada-spec.Arnaud Charlet1-3/+10
* doc/invoke.texi: Mention -fdump-ada-spec. * tree-dump.c (dump_files): Add ada-spec. (FIRST_AUTO_NUMBERED_DUMP): Bump to 8. * tree-pass.h (tree_dump_index): Add TDI_ada. * gcc.c: Add support for -C without -E and for -fdump-ada-spec. (cpp_unique_options): Do not reject -C or -CC when -E isn't present. (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files. * c-decl.c: Include c-ada-spec.h. (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New functions. (c_write_global_declarations): Add handling of -fdump-ada-spec. * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT. * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o. * c-ada-spec.h, c-ada-spec.c: New files. Co-Authored-By: Matthew Gingell <gingell@adacore.com> From-SVN: r160100
2010-05-28c-common.c (c_common_nodes_and_builtins): Replace use of TARGET_ENUM_VA_LIST ↵Kai Tietz1-14/+14
by target hook enum_va_list. 2010-05-28 Kai Tietz <kai.tietz@onevision.com> * c-common.c (c_common_nodes_and_builtins): Replace use of TARGET_ENUM_VA_LIST by target hook enum_va_list. * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook to ix86_enum_va_list. * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed. * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed. (TARGET_ENUM_VA_LIST_P): Add hook description. * target-def.h (TARGET_ENUM_VA_LIST_P): Added. * target.h (gcc_target): Add enum_va_list hook. From-SVN: r159966
2010-05-28constraints.md ("z" constraint): Change to CA_REGS.Segher Boessenkool1-1/+1
2010-05-28 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS. * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P throughout. * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change "xer" to "ca". Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and XER_REGS to CA_REGS throughout. * config/rs6000/rs6000.h: Same. (ADDITIONAL_REGISTER_NAMES): Add "xer". * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document that mode_iterator "P" is the size for arithmetic carries as well. * doc/md.texi (rs6000 section, "z" constraint): Fix documentation. From-SVN: r159953
2010-05-27invoke.texi (xtensa options): Add -mforce-no-pic.Sterling Augustine1-0/+7
2010-05-27 Sterling Augustine <sterling@tensilica.com> * doc/invoke.texi (xtensa options): Add -mforce-no-pic. * config/xtensa/xtensa.c (override_options): Check TARGET_FORCE_NO_PIC and set flag_pic. * config/xtensa/xtensa.opt: Document -mforce-no-pic From-SVN: r159950
2010-05-27Support compilation for Android platform. Reimplement -mandroid.Maxim Kuvyrkov1-1/+25
* config.gcc (*linux*): Include linux-android.h and linux-android.opt. (*android*): Set ANDROID_DEFAULT. (arm*-*-linux*): Include linux-android.h. (arm*-*-eabi*): Don't include previous -mandroid implementation. * config/arm/eabi.h: Remove, move Android-specific parts ... * config/linux-android.h: ... here. New file. * config/arm/eabi.opt: Rename to ... * config/linux-android.opt: ... this. (mandroid): Allow -mno-android option. Initialize based on ANDROID_DEFAULT. * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC): Move logic to corresponding LINUX_TARGET_* macros. (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate. * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,) (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and Android definitions. (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID. * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld): Document. From-SVN: r159918
2010-05-27Add support for Bionic C libraryMaxim Kuvyrkov1-3/+8
Add support for Bionic C library gcc/ * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define macro. (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*. (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update. * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define. (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC. (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier to support multiple C libraries. Handle Bionic. (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,) (BIONIC_DYNAMIC_LINKER64): Define. (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Update. (TARGET_HAS_SINCOS): Enable for Bionic. * config/linux.opt: Rewrite to handle more than 2 C libraries. Make the last option specified on command line take effect. (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC. (mbionic): New. (mglibc, muclibc): Update. * config/alpha/linux-elf.h, config/rs6000/linux64.h, * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use DEFAULT_LIBC. * doc/invoke.texi (-mglibc, -muclibc): Update. (-mbionic): Document. gcc/testsuite/ * gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: Remove, no longer necessary. From-SVN: r159917
2010-05-27c-common.h (c_register_addr_space): Add prototype.Ulrich Weigand1-8/+5
* c-common.h (c_register_addr_space): Add prototype. (ADDR_SPACE_KEYWORD): Remove. * c-common.c (c_register_addr_space): New function. (c_addr_space_name): Reimplement. (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS. * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove. (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space. * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space. Remove TARGET_ADDR_SPACE_KEYWORDS. From-SVN: r159916
2010-05-26demangle-expected: Add tests for __int128 and unsigned __int128 types.Kai Tietz1-0/+12
libiberty/ 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * testsuite/demangle-expected: Add tests for __int128 and unsigned __int128 types. gcc/testsuite 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * lib/target-supports.exp (check_effective_target_int128): New function to check if __int128 types are available for target. * testsuite/c-c++-common/int128-types-1.c: New. * testsuite/c-c++-common/int128-1.c: New. * testsuite/c-c++-common/int128-2.c: New. * g++.dg/abi/mangle43.C: New. * g++.dg/init/enum1.C: Handle __int128 case and add -Wno-overflow. * g++.dg/cpp0x/nullptr04.C: Use __SIZE_TYPE__ for getting pointer-wide scalar. * g++.dg/other/pr25632.C: Likewise. * g++.dg/other/large-size-array.C (DIM): Use ULLONG_MAX for win64 case. * g++.dg/warn/pr13358-2.C: Add llp64 for check of special overflow warnings. * g++.dg/warn/pr13358-4.C: Likewise. * g++.dg/warn/Wconversion-null-2.C: Add 'long long' case. * g++.dg/warn/Wconversion-null.C: Likewise. gcc/ 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * builtin-types.def (BT_INT128): New primitive type. (BT_UINT128): Likewise. * c-common.c (c_common_r): Add __int128 keyword. (c_common_type_for_size): Handle __int128. (c_common_type_for_mode): Likewise. (c_common_signed_or_unsigned_type): Likewise. (c_common_nodes_and_builtins): Add builtin type if target supports 128-bit integer scalar. * c-common.h (enum rid): Add RID_INT128. * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__ if target supports 128-bit integer scalar. * c-decl.c (declspecs_add_type): Handle new keyword __int128. (finish_declspecs): Likewise. * c-parser.c (c_token_starts_typename): Handle RID_INT128. (c_token_starts_declspecs): Likewise. (c_parser_declspecs): Likewise. (c_parser_attributes): Likewise. (c_parser_objc_selector): Likewise. * c-pretty-print.c (pp_c_integer_constant): Handle __int128. * c-tree.h (enum c_typespec_keyword): Add cts_int128. * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types. * tree.c (make_or_reuse_type): Likewise. (make_unsigned_type): Likewise. (build_common_tree_nodes_2): Likewise. * tree.h (enum integer_type_kind): Add itk_int128 and itk_unsigned_int128. (int128_integer_type_node): New define.. (int128_unsigned_type_node): New define. * cp/cp-tree.h (cp_decl_specifier_seq): Add new bifield explicit_int128_p. * cp/decl.c (grokdeclarator): Handle __int128. * cp/parser.c (cp_lexer_next_token_is_decl_specifier_ke): Likewise. (cp_parser_simple_type_specifier): Likewise. * cp/rtti.c (emit_support_tinfos): Add int128 nodes for rtti. * cp/typeck.c (cp_common_type): Handle __int128. * cp/mangle.c (integer_type_codes): Add itk_int128 and itk_unsigned_int128. * doc/extend.texi: Add documentation about __int128 type. From-SVN: r159879
2010-05-25invoke.texi: Document -Ofast.Richard Guenther1-1/+8
2010-05-25 Richard Guenther <rguenther@suse.de> * doc/invoke.texi: Document -Ofast. * target.h (struct gcc_target): Add handle_ofast. * target-def.h (TARGET_HANDLE_OFAST): Add. (TARGET_INITIALIZER): Adjust. * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it. * common.opt (Ofast): Add. From-SVN: r159815
2010-05-25tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.Paolo Bonzini2-18/+26
2010-05-25 Paolo Bonzini <bonzini@gnu.org> * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns. * doc/md.texi (cstoreXX4): Update for cond-optab changes. From-SVN: r159814
2010-05-24neon-testgen.ml: Use dg-add-options arm_neon.Daniel Jacobowitz1-2/+18
2010-05-24 Daniel Jacobowitz <dan@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/arm/neon-testgen.ml: Use dg-add-options arm_neon. * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok description. Add arm_neon_fp16_ok. (Add Options): Add arm_neon and arm_neon_fp16. gcc/testsuite/ * gcc.target/arm/neon/: Regenerated test cases. * gcc.target/arm/neon/polytypes.c, gcc.target/arm/neon-vmla-1.c, gcc.target/arm/neon-vmls-1.c, gcc.target/arm/neon-cond-1.c, gcc.target/arm/neon/vfp-shift-a2t2.c, gcc.target/arm/neon-thumb2-move.c, gcc.dg/torture/arm-fp16-ops-8.c, gcc.dg/torture/arm-fp16-ops-7.c, g++.dg/ext/arm-fp16/arm-fp16-ops-7.C, g++.dg/ext/arm-fp16/arm-fp16-ops-8.C, g++.dg/abi/mangle-neon.C: Use dg-add-options arm_neon. * gcc.target/arm/fp16-compile-vcvt.c, gcc.dg/torture/arm-fp16-ops-5.c, gcc.dg/torture/arm-fp16-ops-6.c, g++.dg/ext/arm-fp16/arm-fp16-ops-5.C, g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Use dg-add-options arm_neon_fp16 and arm_neon_fp16_ok. * gcc.dg/vect/vect.exp, g++.dg/vect/vect.exp, gfortran.dg/vect/vect.exp: Use add_options_for_arm_neon. * lib/target-supports.exp (add_options_for_arm_neon): New. (check_effective_target_arm_neon_ok_nocache): New, from check_effective_target_arm_neon_ok. Check multiple possibilities. (check_effective_target_arm_neon_ok): Use check_effective_target_arm_neon_ok_nocache. (add_options_for_arm_neon_fp16) (check_effective_target_arm_neon_fp16_ok) check_effective_target_arm_neon_fp16_ok_nocache): New. (check_effective_target_arm_neon_hw): Use add_options_for_arm_neon. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r159794
2010-05-24Mention renamed stages for profiledbootstrap.Ralf Wildenhues1-5/+6
gcc/: * doc/makefile.texi (Makefile): Mention stages 'profile' and 'feedback' for profiledbootstrap. From-SVN: r159775
2010-05-23Honor $MAKE for -fwhopr=; do not honor $MAKEFLAGS, $MFLAGS.Ralf Wildenhues1-1/+2
gcc/: * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS before calling make; allow override through $MAKE. * doc/invoke.texi (Optimize Options): Document override. From-SVN: r159760
2010-05-21tree-eh.c (cleanup_is_dead_in): New.Jason Merrill2-5/+22
* tree-eh.c (cleanup_is_dead_in): New. (lower_try_finally): Don't generate a dead cleanup region. (lower_cleanup): Likewise. From-SVN: r159682
2010-05-19hooks.h (hook_tree_tree_tree_bool_null): Rename to...Nathan Froyd1-5/+5
* hooks.h (hook_tree_tree_tree_bool_null): Rename to... (hook_tree_tree_int_treep_bool_null): ...this. Update signature. * hooks.c: Likewise. * target-def.h (TARGET_FOLD_BUILTIN): Define to hook_tree_tree_int_treep_bool_null. * target.h: (struct gcc_target): Update signature of fold_builtin field. * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature. * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP instead of the call expression. (fold_builtin_call_array): Pass n and argarray directly. (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of consing a list. * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift MAX_ARGS check out of the loop. Delete declaration of `arity', declare `i' and use it in place of `arity'. * config/sparc/sparc.c (sparc_fold_builtin): Update signature. Dereference `args' directly. * config/xtensa/xtensa (xtensa_fold_builtin): Likewise. From-SVN: r159585
2010-05-19sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2.Rainer Orth1-1/+13
gcc: * doc/sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2. (Directives): Document optional dg-require-effective-target selector. gcc/testsuite: * lib/target-supports.exp (check_effective_target_sse2): New proc. * lib/target-supports-dg.exp (dg-require-effective-target): Allow for optional selector. * gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc. (check_effective_target_sse3): New proc. * gcc.target/i386/math-torture/math-torture.exp: Load target-supports.exp. Only add options with -msse2 to MATH_TORTURE_OPTIONS if check_effective_target_sse2. * gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2. * gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise. * g++.dg/vect/vect.exp: Likewise. * gfortran.dg/vect/vect.exp: Likewise. * lib/fortran-torture.exp (get-fortran-torture-options): Only use -msse2 if check_effective_target_sse2. * gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow. * gcc.target/i386/3dnow-2.c: Likewise. * gcc.target/i386/3dnowA-1.c: Likewise. * gcc.target/i386/3dnowA-2.c: Likewise. * gcc.target/i386/pr42549.c: Likewise. * gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3. * gcc.target/i386/sse3-addsubps.c: Likewise. * gcc.target/i386/sse3-haddpd.c: Likewise. * gcc.target/i386/sse3-haddps.c: Likewise. * gcc.target/i386/sse3-hsubpd.c: Likewise. * gcc.target/i386/sse3-hsubps.c: Likewise. * gcc.target/i386/sse3-lddqu.c: Likewise. * gcc.target/i386/sse3-movddup.c: Likewise. * gcc.target/i386/sse3-movshdup.c: Likewise. * gcc.target/i386/sse3-movsldup.c: Likewise. * g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2. * g++.dg/ext/attrib35.C: Likewise. * g++.dg/opt/pr40496.C: Likewise. * g++.dg/other/i386-1.C: Likewise. * g++.dg/other/i386-4.C: Likewise. * g++.dg/other/pr34435.C: Likewise. * g++.dg/other/pr39496.C: Likewise. * g++.dg/other/pr40446.C: Likewise. * gcc.dg/compat/union-m128-1_main.c: Likewise. * gcc.dg/compat/vector-1a_main.c: Likewise. * gcc.dg/compat/vector-2a_main.c: Likewise. * gcc.dg/lto/20090206-1_0.c: Likewise. * gcc.dg/pr34856.c: Likewise. * gcc.dg/pr36584.c: Likewise. * gcc.dg/pr36997.c: Likewise. Adapt dg-message line number. * gcc.dg/pr37544.c: Likewise. * gcc.dg/torture/pr16104-1.c: Likewise. * gcc.dg/torture/pr35771-1.c: Likewise. * gcc.dg/torture/pr35771-2.c: Likewise. * gcc.dg/torture/pr35771-3.c: Likewise. * gcc.dg/torture/stackalign/alloca-2.c: Likewise. * gcc.dg/torture/stackalign/alloca-3.c: Likewise. * gcc.dg/torture/stackalign/push-1.c: Likewise. * gcc.dg/torture/stackalign/vararg-3.c: Likewise. * gcc.dg/tree-ssa/prefetch-6.c: Likewise. * gcc.dg/tree-ssa/prefetch-7.c: Likewise. * gcc.dg/vect/vect-debug-pr41926.c: Likewise. * gcc.target/i386/20060512-1.c: Likewise. * gcc.target/i386/20060512-3.c: Likewise. * gcc.target/i386/all_one_m128i.c: Likewise. * gcc.target/i386/float128-1.c: Likewise. * gcc.target/i386/float128-2.c: Likewise. * gcc.target/i386/fpcvt-1.c: Likewise. * gcc.target/i386/fpcvt-2.c: Likewise. * gcc.target/i386/fpcvt-3.c: Likewise. * gcc.target/i386/fpprec-1.c: Likewise. * gcc.target/i386/funcspec-9.c: Likewise. * gcc.target/i386/incoming-1.c: Likewise. * gcc.target/i386/incoming-12.c: Likewise. * gcc.target/i386/incoming-2.c: Likewise. * gcc.target/i386/incoming-3.c: Likewise. * gcc.target/i386/incoming-4.c: Likewise. * gcc.target/i386/incoming-6.c: Likewise. * gcc.target/i386/incoming-7.c: Likewise. * gcc.target/i386/incoming-8.c: Likewise. * gcc.target/i386/opt-1.c: Likewise. * gcc.target/i386/opt-2.c: Likewise. * gcc.target/i386/ordcmp-1.c: Likewise. * gcc.target/i386/pr17692.c: Likewise. * gcc.target/i386/pr18614-1.c: Likewise. * gcc.target/i386/pr22152.c: Likewise. * gcc.target/i386/pr23570.c: Likewise. * gcc.target/i386/pr23575.c: Likewise. * gcc.target/i386/pr26449-1.c: Likewise. * gcc.target/i386/pr26600.c: Likewise. * gcc.target/i386/pr27790.c: Likewise. * gcc.target/i386/pr28839.c: Likewise. * gcc.target/i386/pr30970.c: Likewise. * gcc.target/i386/pr32000-1.c: Likewise. * gcc.target/i386/pr32000-2.c: Likewise. * gcc.target/i386/pr32280.c: Likewise. * gcc.target/i386/pr32661.c: Likewise. * gcc.target/i386/pr32708-1.c: Likewise. * gcc.target/i386/pr32961.c: Likewise. * gcc.target/i386/pr33329.c: Likewise. * gcc.target/i386/pr35714.c: Likewise. * gcc.target/i386/pr35767-1.c: Likewise. * gcc.target/i386/pr35767-1d.c: Likewise. * gcc.target/i386/pr35767-1i.c: Likewise. * gcc.target/i386/pr35767-2.c: Likewise. * gcc.target/i386/pr35767-2d.c: Likewise. * gcc.target/i386/pr35767-2i.c: Likewise. * gcc.target/i386/pr35767-3.c: Likewise. * gcc.target/i386/pr35767-5.c: Likewise. * gcc.target/i386/pr36222-1.c: Likewise. * gcc.target/i386/pr36578-1.c: Likewise. * gcc.target/i386/pr36578-2.c: Likewise. * gcc.target/i386/pr36992-1.c: Likewise. * gcc.target/i386/pr37101.c: Likewise. * gcc.target/i386/pr37216.c: Likewise. * gcc.target/i386/pr37434-1.c: Likewise. * gcc.target/i386/pr37434-2.c: Likewise. * gcc.target/i386/pr37843-3.c: Likewise. * gcc.target/i386/pr37843-4.c: Likewise. * gcc.target/i386/pr39162.c: Likewise. * gcc.target/i386/pr39315-1.c: Likewise. * gcc.target/i386/pr39315-2.c: Likewise. * gcc.target/i386/pr39315-3.c: Likewise. * gcc.target/i386/pr39315-4.c: Likewise. * gcc.target/i386/pr39445.c: Likewise. * gcc.target/i386/pr39496.c: Likewise. * gcc.target/i386/pr40809.c: Likewise. * gcc.target/i386/pr40906-3.c: Likewise. * gcc.target/i386/pr41019.c: Likewise. * gcc.target/i386/pr42542-1.c: Likewise. * gcc.target/i386/pr42542-2.c: Likewise. * gcc.target/i386/pr42542-3.c: Likewise. * gcc.target/i386/pr42542-3a.c: Likewise. * gcc.target/i386/pr42881.c: Likewise. * gcc.target/i386/push-1.c: Likewise. * gcc.target/i386/quad-sse.c: Likewise. * gcc.target/i386/reload-1.c: Likewise. * gcc.target/i386/sse-10.c: Likewise. * gcc.target/i386/sse-11.c: Likewise. * gcc.target/i386/sse-15.c: Likewise. * gcc.target/i386/sse-17.c: Likewise. * gcc.target/i386/sse-18.c: Likewise. * gcc.target/i386/sse-19.c: Likewise. * gcc.target/i386/sse-4.c: Likewise. * gcc.target/i386/sse-6.c: Likewise. * gcc.target/i386/sse-vect-types.c: Likewise. * gcc.target/i386/sse2-addpd-1.c: Likewise. * gcc.target/i386/sse2-addsd-1.c: Likewise. * gcc.target/i386/sse2-andnpd-1.c: Likewise. * gcc.target/i386/sse2-andpd-1.c: Likewise. * gcc.target/i386/sse2-cmpsd-1.c: Likewise. * gcc.target/i386/sse2-comisd-1.c: Likewise. * gcc.target/i386/sse2-comisd-2.c: Likewise. * gcc.target/i386/sse2-comisd-3.c: Likewise. * gcc.target/i386/sse2-comisd-4.c: Likewise. * gcc.target/i386/sse2-comisd-5.c: Likewise. * gcc.target/i386/sse2-comisd-6.c: Likewise. * gcc.target/i386/sse2-copysign-vec.c: Likewise. * gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise. * gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise. * gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise. * gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise. * gcc.target/i386/sse2-cvtps2dq-1.c: Likewise. * gcc.target/i386/sse2-cvtps2pd-1.c: Likewise. * gcc.target/i386/sse2-cvtsd2si-1.c: Likewise. * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise. * gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise. * gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise. * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise. * gcc.target/i386/sse2-cvtss2sd-1.c: Likewise. * gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise. * gcc.target/i386/sse2-cvttps2dq-1.c: Likewise. * gcc.target/i386/sse2-cvttsd2si-1.c: Likewise. * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise. * gcc.target/i386/sse2-divpd-1.c: Likewise. * gcc.target/i386/sse2-divsd-1.c: Likewise. * gcc.target/i386/sse2-init-v16qi-1.c: Likewise. * gcc.target/i386/sse2-init-v2di-1.c: Likewise. * gcc.target/i386/sse2-init-v4si-1.c: Likewise. * gcc.target/i386/sse2-init-v8hi-1.c: Likewise. * gcc.target/i386/sse2-lrint-vec.c: Likewise. * gcc.target/i386/sse2-lrintf-vec.c: Likewise. * gcc.target/i386/sse2-maxpd-1.c: Likewise. * gcc.target/i386/sse2-maxsd-1.c: Likewise. * gcc.target/i386/sse2-minpd-1.c: Likewise. * gcc.target/i386/sse2-minsd-1.c: Likewise. * gcc.target/i386/sse2-mmx.c: Likewise. * gcc.target/i386/sse2-movapd-1.c: Likewise. * gcc.target/i386/sse2-movapd-2.c: Likewise. * gcc.target/i386/sse2-movd-1.c: Likewise. * gcc.target/i386/sse2-movd-2.c: Likewise. * gcc.target/i386/sse2-movdqa-1.c: Likewise. * gcc.target/i386/sse2-movdqa-2.c: Likewise. * gcc.target/i386/sse2-movdqu-1.c: Likewise. * gcc.target/i386/sse2-movdqu-2.c: Likewise. * gcc.target/i386/sse2-movhpd-1.c: Likewise. * gcc.target/i386/sse2-movhpd-2.c: Likewise. * gcc.target/i386/sse2-movlpd-1.c: Likewise. * gcc.target/i386/sse2-movlpd-2.c: Likewise. * gcc.target/i386/sse2-movmskpd-1.c: Likewise. * gcc.target/i386/sse2-movntdq-1.c: Likewise. * gcc.target/i386/sse2-movntpd-1.c: Likewise. * gcc.target/i386/sse2-movq-1.c: Likewise. * gcc.target/i386/sse2-movq-2.c: Likewise. * gcc.target/i386/sse2-movq-3.c: Likewise. * gcc.target/i386/sse2-movsd-1.c: Likewise. * gcc.target/i386/sse2-movsd-2.c: Likewise. * gcc.target/i386/sse2-movupd-1.c: Likewise. * gcc.target/i386/sse2-movupd-2.c: Likewise. * gcc.target/i386/sse2-mulpd-1.c: Likewise. * gcc.target/i386/sse2-mulsd-1.c: Likewise. * gcc.target/i386/sse2-orpd-1.c: Likewise. * gcc.target/i386/sse2-packssdw-1.c: Likewise. * gcc.target/i386/sse2-packsswb-1.c: Likewise. * gcc.target/i386/sse2-packuswb-1.c: Likewise. * gcc.target/i386/sse2-paddb-1.c: Likewise. * gcc.target/i386/sse2-paddd-1.c: Likewise. * gcc.target/i386/sse2-paddq-1.c: Likewise. * gcc.target/i386/sse2-paddsb-1.c: Likewise. * gcc.target/i386/sse2-paddsw-1.c: Likewise. * gcc.target/i386/sse2-paddusb-1.c: Likewise. * gcc.target/i386/sse2-paddusw-1.c: Likewise. * gcc.target/i386/sse2-paddw-1.c: Likewise. * gcc.target/i386/sse2-pand-1.c: Likewise. * gcc.target/i386/sse2-pandn-1.c: Likewise. * gcc.target/i386/sse2-pavgb-1.c: Likewise. * gcc.target/i386/sse2-pavgw-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqb-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqd-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqw-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtb-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtd-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtw-1.c: Likewise. * gcc.target/i386/sse2-pmaddwd-1.c: Likewise. * gcc.target/i386/sse2-pmaxsw-1.c: Likewise. * gcc.target/i386/sse2-pmaxub-1.c: Likewise. * gcc.target/i386/sse2-pminsw-1.c: Likewise. * gcc.target/i386/sse2-pminub-1.c: Likewise. * gcc.target/i386/sse2-pmovmskb-1.c: Likewise. * gcc.target/i386/sse2-pmulhuw-1.c: Likewise. * gcc.target/i386/sse2-pmulhw-1.c: Likewise. * gcc.target/i386/sse2-pmullw-1.c: Likewise. * gcc.target/i386/sse2-pmuludq-1.c: Likewise. * gcc.target/i386/sse2-por-1.c: Likewise. * gcc.target/i386/sse2-psadbw-1.c: Likewise. * gcc.target/i386/sse2-pshufd-1.c: Likewise. * gcc.target/i386/sse2-pshufhw-1.c: Likewise. * gcc.target/i386/sse2-pshuflw-1.c: Likewise. * gcc.target/i386/sse2-pslld-1.c: Likewise. * gcc.target/i386/sse2-pslld-2.c: Likewise. * gcc.target/i386/sse2-pslldq-1.c: Likewise. * gcc.target/i386/sse2-psllq-1.c: Likewise. * gcc.target/i386/sse2-psllq-2.c: Likewise. * gcc.target/i386/sse2-psllw-1.c: Likewise. * gcc.target/i386/sse2-psllw-2.c: Likewise. * gcc.target/i386/sse2-psrad-1.c: Likewise. * gcc.target/i386/sse2-psrad-2.c: Likewise. * gcc.target/i386/sse2-psraw-1.c: Likewise. * gcc.target/i386/sse2-psraw-2.c: Likewise. * gcc.target/i386/sse2-psrld-1.c: Likewise. * gcc.target/i386/sse2-psrld-2.c: Likewise. * gcc.target/i386/sse2-psrldq-1.c: Likewise. * gcc.target/i386/sse2-psrlq-1.c: Likewise. * gcc.target/i386/sse2-psrlq-2.c: Likewise. * gcc.target/i386/sse2-psrlw-1.c: Likewise. * gcc.target/i386/sse2-psrlw-2.c: Likewise. * gcc.target/i386/sse2-psubb-1.c: Likewise. * gcc.target/i386/sse2-psubd-1.c: Likewise. * gcc.target/i386/sse2-psubq-1.c: Likewise. * gcc.target/i386/sse2-psubsb-1.c: Likewise. * gcc.target/i386/sse2-psubsw-1.c: Likewise. * gcc.target/i386/sse2-psubw-1.c: Likewise. * gcc.target/i386/sse2-punpckhbw-1.c: Likewise. * gcc.target/i386/sse2-punpckhdq-1.c: Likewise. * gcc.target/i386/sse2-punpckhqdq-1.c: Likewise. * gcc.target/i386/sse2-punpckhwd-1.c: Likewise. * gcc.target/i386/sse2-punpcklbw-1.c: Likewise. * gcc.target/i386/sse2-punpckldq-1.c: Likewise. * gcc.target/i386/sse2-punpcklqdq-1.c: Likewise. * gcc.target/i386/sse2-punpcklwd-1.c: Likewise. * gcc.target/i386/sse2-pxor-1.c: Likewise. * gcc.target/i386/sse2-set-epi32-1.c: Likewise. * gcc.target/i386/sse2-set-epi64x-1.c: Likewise. * gcc.target/i386/sse2-set-v16qi-1.c: Likewise. * gcc.target/i386/sse2-set-v16qi-2.c: Likewise. * gcc.target/i386/sse2-set-v16qi-3.c: Likewise. * gcc.target/i386/sse2-set-v8hi-1.c: Likewise. * gcc.target/i386/sse2-set-v8hi-1a.c: Likewise. * gcc.target/i386/sse2-set-v8hi-2.c: Likewise. * gcc.target/i386/sse2-set-v8hi-2a.c: Likewise. * gcc.target/i386/sse2-shufpd-1.c: Likewise. * gcc.target/i386/sse2-shufps-1.c: Likewise. * gcc.target/i386/sse2-sqrtpd-1.c: Likewise. * gcc.target/i386/sse2-subpd-1.c: Likewise. * gcc.target/i386/sse2-subsd-1.c: Likewise. * gcc.target/i386/sse2-ucomisd-1.c: Likewise. * gcc.target/i386/sse2-ucomisd-2.c: Likewise. * gcc.target/i386/sse2-ucomisd-3.c: Likewise. * gcc.target/i386/sse2-ucomisd-4.c: Likewise. * gcc.target/i386/sse2-ucomisd-5.c: Likewise. * gcc.target/i386/sse2-ucomisd-6.c: Likewise. * gcc.target/i386/sse2-unpack-1.c: Likewise. * gcc.target/i386/sse2-unpckhpd-1.c: Likewise. * gcc.target/i386/sse2-unpcklpd-1.c: Likewise. * gcc.target/i386/sse2-vec-1.c: Likewise. * gcc.target/i386/sse2-vec-2.c: Likewise. * gcc.target/i386/sse2-vec-3.c: Likewise. * gcc.target/i386/sse2-vec-4.c: Likewise. * gcc.target/i386/sse2-vec-5.c: Likewise. * gcc.target/i386/sse2-vec-6.c: Likewise. * gcc.target/i386/sse2-xorpd-1.c: Likewise. * gcc.target/i386/ssefn-2.c: Likewise. * gcc.target/i386/ssefn-4.c: Likewise. * gcc.target/i386/ssefp-1.c: Likewise. * gcc.target/i386/ssefp-2.c: Likewise. * gcc.target/i386/sseregparm-3.c: Likewise. * gcc.target/i386/sseregparm-4.c: Likewise. * gcc.target/i386/sseregparm-5.c: Likewise. * gcc.target/i386/sseregparm-6.c: Likewise. * gcc.target/i386/sseregparm-7.c: Likewise. * gcc.target/i386/ssetype-1.c: Likewise. * gcc.target/i386/ssetype-2.c: Likewise. * gcc.target/i386/ssetype-3.c: Likewise. * gcc.target/i386/ssetype-4.c: Likewise. * gcc.target/i386/ssetype-5.c: Likewise. * gcc.target/i386/unordcmp-1.c: Likewise. * gcc.target/i386/vararg-1.c: Likewise. * gcc.target/i386/vararg-2.c: Likewise. * gcc.target/i386/vararg-3.c: Likewise. * gcc.target/i386/vararg-4.c: Likewise. * gcc.target/i386/vararg-7.c: Likewise. * gcc.target/i386/vararg-8.c: Likewise. * gcc.target/i386/vecinit-1.c: Likewise. * gcc.target/i386/vecinit-2.c: Likewise. * gcc.target/i386/vecinit-3.c: Likewise. * gcc.target/i386/vecinit-4.c: Likewise. * gcc.target/i386/vecinit-5.c: Likewise. * gcc.target/i386/vecinit-6.c: Likewise. * gcc.target/i386/vectorize2.c: Likewise. * gcc.target/i386/vectorize3.c: Likewise. * gcc.target/i386/vectorize4.c: Likewise. * gcc.target/i386/vectorize6.c: Likewise. * gcc.target/i386/vectorize7.c: Likewise. * gcc.target/i386/vectorize8.c: Likewise. * gcc.target/i386/vperm-v2df.c: Likewise. * gcc.target/i386/vperm-v2di.c: Likewise. * gcc.target/i386/vperm-v4si-1.c: Likewise. * gcc.target/i386/xorps-sse2.c: Likewise. * gcc.target/i386/xorps.c: Likewise. * gfortran.dg/graphite/pr42326-1.f90: Likewise. * gfortran.dg/graphite/pr42326.f90: Likewise. * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise. From-SVN: r159584
2010-05-19invoke.texi (-fwhopr): Document new optional jobs argument.Richard Guenther1-2/+6
2010-05-19 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-fwhopr): Document new optional jobs argument. * common.opt (fwhopr=): New. * opts.c (common_handle_option): Handle OPT_fwhopr. * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*. * collect2.c (main): Match -fwhopr*. * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr. Execute ltrans stage in parallel when jobs is bigger than 1. From-SVN: r159573
2010-05-18ipacp_0.c: New test.Jan Hubicka1-2/+0
* gcc.dg/lto/ipacp_0.c: New test. * gcc.dg/lto/ipacp_1.c: New test. * opts.c (decode_options): Do not disable whopr at ipa_cp. * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too. From-SVN: r159535
2010-05-17Also apply the insn to prefetch ratio heuristic to loops with known trip count.Changpeng Fang1-2/+1
2010-05-17 Changpeng Fang <changpeng.fang@amd.com> * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio. * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply the insn to prefetch ratio heuristic to loops with known trip count. From-SVN: r159515
2010-05-17tree.h (CALL_EXPR_ARGS): Delete.Nathan Froyd1-3/+3
* tree.h (CALL_EXPR_ARGS): Delete. (call_expr_arglist): Delete. * tree.c (call_expr_arglist): Delete. * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to targetm.fold_builtin. * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter. Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN. * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename arglist parameter. Use CALL_EXPR_ARG. (picochip_expand_builtin_3op): Likewise. (picochip_expand_builtin_2opvoid): Likewise. (picochip_expand_array_get): Likewise. (picochip_expand_array_put): Likewise. (picochip_expand_array_testport): Likewise. (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp rather than arglist. * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of CALL_EXPR_ARGS. * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather than TREE_VALUE and TREE_CHAIN. * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise. * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of the arglist. From-SVN: r159502
2010-05-16invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.Richard Guenther1-3/+2
2010-05-16 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape. * ipa-type-escape.c (gate_type_escape_vars): Run when -fipa-struct-reorg runs. * opts.c (decode_options): Do not unset flag_ipa_type_escape. * common.opt (fipa-type-escape): Remove. * gcc.dg/pr43317.c: Do not pass -fipa-type-escape. * gcc.dg/pr43084.c: Likewise. * gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of -fipa-type-escape. * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass -fipa-type-escape. * gcc.dg/struct/struct-reorg.exp: Likewise. * gcc.dg/struct/wo_prof_empty_str.c: Likewise. * gcc.dg/struct/wo_prof_escape_return.c: Likewise. From-SVN: r159464
2010-05-15c.opt: Add -fnothrow-opt.Jason Merrill1-0/+9
gcc: * c.opt: Add -fnothrow-opt. gcc/cp: * cp-tree.h (TYPE_NOEXCEPT_P): New macro. * except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if TYPE_NOEXCEPT_P. (finish_eh_spec_block): Adjust. From-SVN: r159450
2010-05-15c-decl.c (grokfield): Allow typedefs for anonymous structs and unions by ↵Joseph Myers1-3/+5
default if... * c-decl.c (grokfield): Allow typedefs for anonymous structs and unions by default if those structs and unions have no tags. Do not condition anonymous struct and unions handling on flag_iso. Allow anonymous structs and unions for C1X. (finish_struct): Do not diagnose lack of named fields when anonymous structs and unions present for C1X. Accept flexible array members in structure with anonymous structs or unions but no directly named fields. * doc/extend.texi (Unnamed Fields): Update. testsuite: * gcc.dg/c1x-anon-struct-1.c, gcc.dg/c1x-anon-struct-2.c, gcc.dg/c90-anon-struct-1.c, gcc.dg/c99-anon-struct-1.c: New tests. * gcc.dg/20080820.c, gcc.dg/anon-struct-1.c: Update expected diagnostics and type sizes. From-SVN: r159439
2010-05-12target.h (struct gcc_target): Add mode_dependent_address_p field.Anatoly Sokolov1-0/+19
* target.h (struct gcc_target): Add mode_dependent_address_p field. * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New. (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P. * targhooks.c (default_mode_dependent_address_p): New function. * targhooks.h (default_mode_dependent_address_p): Declare function. * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New. (GO_IF_MODE_DEPENDENT_ADDRESS): Update. * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p target hook. Change return type to bool. * recog.h: (mode_dependent_address_p): Change return type to bool. From-SVN: r159339
2010-05-11gcc.c (execute): For -### don't quote arguments that contain just ↵Jakub Jelinek1-3/+3
alphanumerics and _/-. * gcc.c (execute): For -### don't quote arguments that contain just alphanumerics and _/-. characters. * doc/invoke.texi: Document that change for -###. From-SVN: r159255
2010-05-09re PR c/4784 (Anonymous structs issues)Joseph Myers1-2/+1
PR c/4784 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous structures and unions recursively. (detect_field_duplicates): Move duplicate detection with a hash to detect_field_duplicates_hash. Always use a hash if anonymous structures or unions are present. * doc/extend.texi (Unnamed Fields): Document that duplicate fields give errors. testsuite: * gcc.dg/anon-struct-9.c: New test. From-SVN: r159204
2010-05-07configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that ↵Steven Bosscher1-0/+12
supports LTO. ChangeLog: * configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. * configure: Regenerate. gcc/ChangeLog: * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add lto-macho as lto_binary_reader. * target.h (struct gcc_target): New hooks lto_start and lto_end. * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define. * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation in lto_start and lto_end calls. (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O magic numbers. (scan_prog_file): Update is_elf_or_coff call. * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document. * collect2.c (main): Fix enum comparison. * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end): Add prototypes. * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker. * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START and TARGET_ASM_LTO_END. * darwin.c: Include obstack.h and lto-streamer.h. (lto_section_names_offset, lto_section_names_obstack, lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static global variables. (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines. (darwin_asm_lto_start): New function. Redirect output to asm_out_file to a temporary file. (darwin_asm_lto_end): New function. Restore asm_out_file. (darwin_asm_named_section): For LTO sections, replace the name with the offset of the section name in a string table, and build this table. (darwin_file_start): Initialize global vars for LTO support. (darwin_file_end): If output to asm_out_file was redirected, append it to the proper asm_out_file here. Add the section names section. lto/ChangeLog: * lto.h (struct lto_file_struct): Document offset member. * lto-endian.h: New file. * lto-macho.h: New file. * lto-macho.c: New file. * Make-lang.in: Add rule for lto-macho.o. From-SVN: r159173
2010-05-07Fix link to outdated cxx0x status page.Ralf Wildenhues1-1/+1
gcc/: PR documentation/44016 * doc/standards.texi (Standards): Link to unversioned cxx0x_status.html page. From-SVN: r159168
2010-05-06config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from list of ↵Rainer Orth1-47/+9
obsolete configurations. gcc: * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from list of obsolete configurations. Disabled check for obsolete configurations. (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*. Removed support for previous versions. * config/mips/iris.h: Removed. * config/mips/iris5.h: Removed. * config/mips/iris6.h: Merged old iris.h contents. (TARGET_IRIX): Removed. (DRIVER_SELF_SPECS): Removed mabi=32. (IDENT_ASM_OP): Removed undef. (STARTFILE_SPEC): Removed mabi=32. (ENDFILE_SPEC): Likewise. (IRIX_SUBTARGET_LINK_SPEC): Likewise. (MACHINE_TYPE): Update for IRIX 6.5. * config/mips/mips.c (mips_build_builtin_va_list): Replaced TARGET_IRIX by TARGET_IRIX6. (mips_file_start): Likewise. (mips_output_external): Remove IRIX 5/6 O32 support. (mips_output_function_prologue): Likewise. * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by TARGET_IRIX6. (TARGET_CPU_CPP_BUILTINS): Likewise. (TARGET_IRIX): Removed. * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32. (MULTILIB_DIRNAMES): Removed 32. (MULTILIB_OSDIRNAMES): Removed ../lib. * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5. (Specific, mips-sgi-irix5): Document removal. (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal. Remove references to older IRIX 6 releases and the O32 ABI. gcc/ada: * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support. libstdc++-v3: * configure.host: Removed irix[1-6], irix[1-5].*, irix6.[0-4]* support. * config/os/irix/irix5.2: Removed. From-SVN: r159121
2010-05-06re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)Manuel López-Ibáñez1-3/+3
2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org> PR 40989 * doc/invoke.texi (Wimplicit): Document as C only. * opts.c (common_handle_option): Add argument kind. (handle_option): Rename as read_cmdline_option. Factor out code to... (handle_option): ... here. New. (handle_options): Rename as read_cmdline_options. (decode_options): Update call. (set_option): Use option index instead of option pointer. Classify diagnostics correctly. (enable_warning_as_error): Call handle_option. * opts.h (set_option): Update declaration. (handle_option): Declare. * langhooks.h (struct lang_hooks): Add argument kind to handle_option. * c.opt (Wimplicit,Wimplicit-int): Initialize to -1. * c-opts.c (set_Wimplicit): Delete. (c_family_lang_mask): New static constant. (c_common_handle_option): Add argument kind. Use handle_option instead of set_Wimplicit. (c_common_post_options): warn_implicit and warn_implicit_int are disabled by default. * c-common.c (warn_implicit): Do not define here. * c-common.h (warn_implicit): Do not declare here. (c_common_handle_option): Update declaration. * lto-opts.c (lto_reissue_options): Update call to set_option. java/ * lang.c (java_handle_option): Add argument kind. fortran/ * options.c (gfc_handle_option): Add argument kind. * gfortran.h (gfc_handle_option): Update declaration. ada/ * gcc-interface/misc.c (gnat_handle_option): Add argument kind. testsuite/ * gcc.dg/pr40989.c: New. From-SVN: r159102
2010-05-05re PR testsuite/43758 (19 new GCC HEAD@158360 regressions)Jason Merrill1-0/+8
PR testsuite/43758 * target.h (struct gcc_target): Add attribute_takes_identifier_p. * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. (TARGET_INITIALIZER): Use it. * c-common.c (attribute_takes_identifier_p): Call it. * c-common.h: Update prototype. * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New. (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. From-SVN: r159079
2010-05-05* doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.Maxim Kuvyrkov1-7/+7
From-SVN: r159073
2010-05-04Sanitize the behavior of -Wcoverage-mismatch.Neil Vachharajani1-6/+7
2010-05-04 Neil Vachharajani <nvachhar@google.com> * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as per new semantics. * opts.c (decode_options): Enable -Werror=coverage-mismatch. * coverage.c (get_coverage_counts): Always emit a warning. Adjust conditions for printing notes. * common.opt (-Wcoverage-mismatch): Allow negative, default to true, update documentation. * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h. * testsuite/gcc.dg/tree-prof/wcoverage-mismatch.c: Adjusted. From-SVN: r159050
2010-05-03re PR c++/43680 ([DR 1022] G++ is too aggressive in optimizing away bounds ↵Jason Merrill1-0/+9
checking with enums) PR c++/43680 gcc: * c.opt (-fstrict-enums): New. * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums. gcc/cp: * decl.c (finish_enum): Use the TYPE_MIN_VALUE and TYPE_MAX_VALUE from the selected underlying type unless -fstrict-enums. Set ENUM_UNDERLYING_TYPE to have the restricted range. * cvt.c (type_promotes_to): Use ENUM_UNDERLYING_TYPE. * class.c (check_bitfield_decl): Likewise. From-SVN: r159006
2010-05-03tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.Steven Bosscher1-19/+32
* doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation, based on the above, for new target hook. * hooks.c (hook_bool_mode_true): New generic hook. * hooks.h (hook_bool_mode_true): Add prototype. * target.h (struct gcc_target): Add small_register_classes_for_mode_p target hook. * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default target hook, set to hook_bool_mode_false. * regs.h: Remove default definition of SMALL_REGISTER_CLASSES. * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES with targetm.small_register_classes_for_mode_p. (find_reusable_reload): Likewise. (combine_reloads): Likewise. * reload1.c (reload_as_needed): Likewise. * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise. * ifcvt.c (noce_process_if_block, check_cond_move_block, dead_or_predicable): Likewise. * regmove.c (optimize_reg_copy_1): Likewise. * calls.c (prepare_call_address): Likewise. (precompute_register_parameters): Likewise. * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target hook definition. * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add implementation of the hook that considers all register classes small except for SH64. (sh_override_options): Use the new hook. * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p): Add prototype. * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target hook definition. * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add implementation of the hook that considers all register classes small for THUMB1. * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p): Add prototype. * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target hook definition. * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add implementation of the hook that considers all register classes small for MIPS16. * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p): Add prototype. * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target hook definition. * config/m32c/m32c.h: Likewise. * config/pdp11/pdp11.h: Likewise. * config/avr/avr.h: Likewise. * config/xtensa/xtensa.h: Likewise. * config/m68hc11/m68hc11.h: Likewise. * config/mn10300/mn10300.h: Likewise. * config/mcore/mcore.h: Likewise. * config/h8300/h8300.h: Likewise. * config/bfin/bfin.h: Likewise. * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition. * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition. From-SVN: r158997
2010-05-02* doc/extend.texi (Function Attributes): Fix a typo.Bruno Haible1-1/+1
From-SVN: r158975
2010-05-02target.h (struct calls): Add function_value_regno_p field.Anatoly Sokolov1-0/+18
* target.h (struct calls): Add function_value_regno_p field. * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define. (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P. * targhooks.c (default_function_value_regno_p): New function. * targhooks.h (default_function_value_regno_p): Declare function. * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook. * builtins.c. (apply_result_size): (Ditto.). * combine.c. (likely_spilled_retval_p): (Ditto.). * mode-switching.c. Include 'target.h'. (create_pre_exit): Use function_value_regno_p hook. * Makefile.in (mode-switching.o): Add dependency on TARGET_H. * doc/tm.texi (FUNCTION_VALUE_REGNO_P, TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation. * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro. * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro. (ix86_function_value_regno_p): Declare as static, change argument type to const unsigned int. * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove. From-SVN: r158970
2010-05-01extend.texi (Inline): Add missing return keyword to examples.Jonathan Wakely1-9/+9
* doc/extend.texi (Inline): Add missing return keyword to examples. (Function Attributes, Variable Attributes, Pragmas): Hyphenate "command-line". From-SVN: r158962
2010-04-29re PR target/42895 (Low registers are preferred than register ip in thumb2 mode)Bernd Schmidt1-1/+10
PR target/42895 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed. (HONOR_REG_ALLOC_ORDER): Describe new macro. * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined. * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into account only if HONOR_REG_ALLOC_ORDER is not defined. * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define. * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison. From-SVN: r158911
2010-04-27invoke.texi (-Wsuggest-attribute=const, [...]): Document.Manuel López-Ibáñez1-1/+27
2010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org> Jan Hubicka <hubicka@ucw.cz> * doc/invoke.texi (-Wsuggest-attribute=const, -Wsuggest-attribute=pure): Document. * ipa-pure-const.c: Include toplev.h, intl.h and opts.h. (function_always_visible_to_compiler_p, suggest_attribute, warn_function_pure, warn_function_const): New functions. (check_call): Improve debug info. (analyze_function): Do not check availability. (add_new_function): Check availability. (propagate): Output warnings. (skip_function_for_local_pure_const): New function. (local_pure_const): Use it; output warnings. * common.opt (Wsuggest-attribute=const, Wsuggest-attribute=pure): New. testsuite/ * gcc.dg/pure-2.c: New testcase. * gcc.dg/const-1.c: New testcase. Co-Authored-By: Jan Hubicka <hubicka@ucw.cz> From-SVN: r158803
2010-04-27invoke.texi (-fipa-profile): Document.Jan Hubicka1-1/+11
* doc/invoke.texi (-fipa-profile): Document. * opts.c (decode_options): Enable ipa-profile at -O1. * timevar.def (TV_IPA_PROFILE): Define. * common.opt (fipa-profile): Add. * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method flag for clones. (cgraph_propagate_frequency): Handle only local ones. * tree-pass.h (pass_ipa_profile): Declare. * ipa-profile.c (gate_profile): Use flag_ipa_profile. (pass_ipa_profile): Use TV_IPA_PROFILE. * ipa.c (ipa_profile): New function. (gate_ipa_profile): Likewise. (pass_ipa_profile): New global variable. * passes.c (pass_ipa_profile): New. From-SVN: r158788
2010-04-27gimple.texi (gimple_statement_with_ops): Remove addresses_taken field.Jie Zhang1-20/+13
* doc/gimple.texi (gimple_statement_with_ops): Remove addresses_taken field. (gimple_statement_with_memory_ops): Likewise. From-SVN: r158770
2010-04-25c-common.c (flag_isoc1x): New.Joseph Myers5-9/+39
gcc: * c-common.c (flag_isoc1x): New. (flag_isoc99): Update comment. * c-common.h (flag_isoc1x): New. (flag_isoc99): Update comment. * c-cppbuiltin.c (builtin_define_float_constants): Also define __<type>_DECIMAL_DIG__. * c-opts.c (set_std_c1x): New. (c_common_handle_option): Handle -std=c1x and -std=gnu1x. (set_std_c89, set_std_c99): Also set flag_isoc1x to 0. * c.opt (-std=c1x, -std=gnu1x): New options. * doc/cpp.texi: Mention -std=c1x. * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document. * doc/extend.texi: Mention -std=c1x and -std=gnu1x. * doc/invoke.texi (-std=c1x, -std=gnu1x): Document. * doc/standards.texi: Mention C1X. * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG, LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN): Define for C1X. gcc/testsuite: * gcc.dg/c90-float-1.c: Also test that C1X macros are not defined. * gcc.dg/c99-float-1.c: Also test that C1X macros are not defined. * gcc.dg/c1x-float-1.c: New test. libcpp: * include/cpplib.h (enum c_lang): Add CLK_GNUC1X and CLK_STDC1X. * init.c (lang_defaults): Add entries for new language variants. (cpp_init_builtins): Define __STDC_VERSION__ to 201000L for C1X variants. From-SVN: r158711
2010-04-24* doc/contrib.texi (Contributors): Add Dodji Seketeli.Gerald Pfeifer1-0/+3
From-SVN: r158690
2010-04-16configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx separately.Rainer Orth1-1/+1
toplevel: * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx separately. * configure: Regenerate. gcc: * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor. * configure: Regenerate. * config.in: Regenerate. * doc/install.texi (Prerequisites): Document that Solaris 2 libelf works. gcc/lto: * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New function. From-SVN: r158423
2010-04-16typo fixDiego Novillo1-1/+1
From-SVN: r158415
2010-04-16rephrase textDiego Novillo1-2/+2
From-SVN: r158414
2010-04-16Clarify what happens with an unrecognized -Wno- optionDiego Novillo1-0/+9
From-SVN: r158413
2010-04-16add accumulate-outgoing-args and omit-frame-pointer for SHChristian Bruel1-1/+7
From-SVN: r158399