1. 11 Nov, 2010 27 commits
    • invoke.texi (-fwhopr): Merge into -flto section. · 014d92e1
      
      	* doc/invoke.texi (-fwhopr): Merge into -flto section.
      	(-flto-partition): Document none.
      	* gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
      	* lto-wrapper.c: Update comment.
      	(run_gcc): Update LTO option parsing.
      	* opts.c (finish_options): add support -flto-partition=none
      	(common_handle_option): Remove fwhopr.
      	* common.opt: Turn fwhopr into flto.
      	* collect2.c (main): Update option handling.
      	* cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
      	* ipa-split.c (execute_split_functions): Remove flag_whopr.
      	* ipa.c (function_and_variable_visibility): Remove flag_whopr.
      	* ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
      	* varpool.c (decide_is_variable_needed): Remove flag_whopr.
      	
      	* gcc.dg/20081223-1.c: Update LTO options.
      	* gcc.dg/lto/20090206-1_0.c: Update LTO options.
      	* gcc.dg/lto/20081118_0.c: Update LTO options.
      	* gcc.dg/lto/ipareference_0.c: Update LTO options.
      	* gcc.dg/lto/20100423-2_0.c: Update LTO options.
      	* gcc.dg/lto/20081201-1_0.c: Update LTO options.
      	* gcc.dg/lto/ipacp_0.c: Update LTO options.
      	* gcc.dg/lto/20090116_0.c: Update LTO options.
      	* gcc.dg/lto/20091015-1_0.c: Update LTO options.
      	* gcc.dg/lto/20090126-2_0.c: Update LTO options.
      	* gcc.dg/lto/20081202-2_0.c: Update LTO options.
      	* gcc.dg/lto/20081204-1_0.c: Update LTO options.
      	* gcc.dg/lto/const-uniq_0.c: Update LTO options.
      	* gcc.dg/lto/20081224_0.c: Update LTO options.
      	* gcc.dg/lto/20090219_0.c: Update LTO options.
      	* gcc.dg/lto/ipareference2_0.c: Update LTO options.
      	* gcc.dg/lto/20090206-2_0.c: Update LTO options.
      	* gcc.dg/lto/20081115_0.c: Update LTO options.
      	* gcc.dg/lto/20081201-2_0.c: Update LTO options.
      	* gcc.dg/lto/20081120-2_0.c: Update LTO options.
      	* gcc.dg/lto/materialize-1_0.c: Update LTO options.
      	* gcc.dg/lto/20090126-1_0.c: Update LTO options.
      	* gcc.dg/lto/20081202-1_0.c: Update LTO options.
      	* gcc.dg/lto/noreturn-1_0.c: Update LTO options.
      	* g++.dg/20090107-1.C: Update LTO options.
      	* g++.dg/lto/pr45679-2_0.C: Update LTO options.
      	* g++.dg/lto/20081123_0.C: Update LTO options.
      	* g++.dg/lto/20090313_0.C: Update LTO options.
      	* g++.dg/lto/20081125_0.C: Update LTO options.
      	* g++.dg/lto/20081109-1_0.C: Update LTO options.
      	* g++.dg/lto/20081219_0.C: Update LTO options.
      	* g++.dg/lto/20100724-1_0.C: Update LTO options.
      	* g++.dg/lto/20081204-1_0.C: Update LTO options.
      	* g++.dg/lto/20090303_0.C: Update LTO options.
      	* g++.dg/lto/20100723-1_0.C: Update LTO options.
      	* g++.dg/lto/pr45679-1_0.C: Update LTO options.
      	* g++.dg/lto/20090128_0.C: Update LTO options.
      	* g++.dg/lto/20081204-2_0.C: Update LTO options.
      	* g++.dg/lto/20090302_0.C: Update LTO options.
      	* g++.dg/lto/20081119-1_0.C: Update LTO options.
      	* g++.dg/lto/20081118_0.C: Update LTO options.
      	* g++.dg/20090121-1.C: Update LTO options.
      	* objc.dg/lto/lto.exp: Update LTO options.
      	* lib/lto.exp: Update LTO options.
      	* lib/gcc-dg.exp: Update LTO options.
      	* lib/c-torture.exp: Update LTO options.
      	* obj-c++.dg/lto/lto.exp: Update LTO options.
      
      From-SVN: r166625
      Jan Hubicka committed
    • re PR tree-optimization/40436 (0.5% code size regression caused by r147852) · 2503de8d
      	PR tree-optimize/40436
      	* gcc.dg/tree-ssa/inline-5.c: New testcase.
      	* gcc.dg/tree-ssa/inline-6.c: New testcase.
      
      	* ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
      	(eliminated_by_inlining_prob): ... this one; return 50% probability for
      	SRA.
      	(estimate_function_body_sizes): Update use of eliminated_by_inlining_prob;
      	estimate static function size for 2 instructions.
      
      From-SVN: r166624
      Jan Hubicka committed
    • resolve.c (resolve_procedure_interface): Copy 'is_bind_c' attribute. · 8be3d7da
      2010-11-11  Janus Weil  <janus@gcc.gnu.org>
      
      	* resolve.c (resolve_procedure_interface): Copy 'is_bind_c' attribute.
      
      
      2010-11-11  Janus Weil  <janus@gcc.gnu.org>
      
      	* gfortran.dg/proc_decl_24.f90: New.
      
      From-SVN: r166623
      Janus Weil committed
    • Support official CLooG.org versions. · d32ef397
      2010-11-11  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
      
      	* configure.ac: Support official CLooG.org versions.
      	* configure: Regenerate.
      	* config/cloog.m4: New.
      
      From-SVN: r166622
      Andreas Simbuerger committed
    • re PR target/44749 (mep-elf fails to build) · 77b0efff
              PR target/44749
              * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
              declare.  Change type of argument four to type int.
              (mep_secondary_input_reload_class): Returns enum reg_class.
              (mep_secondary_output_reload_class): Likewise.
              (mep_function_value): Change types of arguments to cont_tree.
              * config/mep/mep.c (mep_legitimize_reload_address): Change type of
              argument four to type int.
              (mep_secondary_input_reload_class): Returns enum reg_class.
              (mep_secondary_output_reload_class): Likewise.
              (mep_function_value): Change types of arguments to cont_tree.
              * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
              mep_regno_reg_class to enum reg_class.
      
      From-SVN: r166614
      Joern Rennecke committed
    • In gcc/objc/: 2010-11-11 Nicola Pero <nicola.pero@meta-innovation.com> · 10e34e6e
      In gcc/objc/:
      2010-11-11  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc-act.c (objc_add_property_declaration): Check that the type
              of a property and of an inherited property match.
              (objc_maybe_build_component_ref): Tidied up indentation and
              comments.
              (objc_common_type): Added new type of check (-5).  If an unknown
              class is involved in a comparison, try to look up its interface.
              (objc_add_synthesize_declaration_for_property): Check that the
              property to synthesize and the instance variable to use have the
              same type.
      
      In gcc/testsuite/:
      2010-11-11  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc.dg/property/at-property-20.m: New.
              * objc.dg/property/synthesize-8.m: New.
              * obj-c++.dg/property/at-property-20.m: New.
              * obj-c++.dg/property/synthesize-8.mm: New.
      
      From-SVN: r166612
      Nicola Pero committed
    • tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify that the target has… · a1d8aa4b
      tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify that the target has the exact fma operation that we matched.
      
      	* tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
      	that the target has the exact fma operation that we matched.
      
      From-SVN: r166611
      Richard Henderson committed
    • reginfo.c (fix_register): Avoid inserting English word in diagnostic sentence. · 658bd5ca
      	* reginfo.c (fix_register): Avoid inserting English word in
      	diagnostic sentence.  Use %qs for quoting and %'.
      
      From-SVN: r166610
      Joseph Myers committed
    • Support Intel processor family 6, model 0x2c. · 12bbb78f
      2010-11-11  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/driver-i386.c (host_detect_local_cpu): Support
      	Intel processor family 6, model 0x2c.
      
      From-SVN: r166607
      H.J. Lu committed
    • opts.c (warning_as_error_callback, [...]): Remove. · f954bd2c
      	* opts.c (warning_as_error_callback,
      	register_warning_as_error_callback): Remove.
      	(enable_warning_as_error): Don't use warning_as_error_callback.
      	* opts.h (register_warning_as_error_callback): Remove.
      
      c-family:
      	* c-opts.c (warning_as_error_callback): Remove.
      	(c_common_initialize_diagnostics): Don't call
      	register_warning_as_error_callback.
      	(c_common_handle_option): Handle -Werror=normalized= here.
      
      testsuite:
      	* gcc.dg/cpp/warn-normalized-3.c: Update expected note text.
      
      From-SVN: r166606
      Joseph Myers committed
    • Recognize -(a * b) + c -> fma(-a,b,c). · a5f09e73
      	* tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
      	in between the MULT and the PLUS/MINUS.
      
      From-SVN: r166605
      Richard Henderson committed
    • re PR middle-end/46388 (ICE in int_mode_for_mode, at stor-layout.c:493) · 1004f0c5
      	PR middle-end/46388
      	* expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
      	BLKmode mode for it.
      	(expand_expr_real_1): Similarly for op0.
      
      	* gcc.c-torture/compile/pr46388.c: New test.
      
      From-SVN: r166603
      Jakub Jelinek committed
    • lto.exp (lto-get-options-main): Support optional target selector for dg-suppress-ld-options. · 86de8875
      	gcc/testsuite:
      	* lib/lto.exp (lto-get-options-main): Support optional target
      	selector for dg-suppress-ld-options.
      
      	gcc:
      	* doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
      	Document optional target selector.
      
      From-SVN: r166602
      Rainer Orth committed
    • re PR bootstrap/46397 (lto-plugin.c does not build on Solaris 10/SPARC) · d19e0f01
      	PR bootstrap/46397
      	PR bootstrap/46362
      	* configure.ac: Add AC_TYPE_INT64_T test.
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      	* lto-plugin.c (debug): Use char not bool.
      	(nop): Likewise.
      	(check_1): Rename from check, and use int not bool for gate argument.
      	(check): Macro wrapper for the above to coerce gate argument into
      	boolean-valued integer in case it has pointer type.
      	(parse_table_entry): Use 0 not false.
      	(claim_file_handler): Avoid use of PRIx64 by splitting 64-bit size
      	into two 32-bit parts and printing as hex ints.
      
      From-SVN: r166601
      Dave Korn committed
    • lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than assembling… · a16e07c6
      lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than assembling high and low parts of size if...
      
      	* lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
      	assembling high and low parts of size if not using 32-bit HWINT; else
      	use DECL_SIZE_UNITS, not DECL_SIZE.
      
      From-SVN: r166600
      Dave Korn committed
    • move.h (forward): Implement N3143, resolving US 90. · ad269884
      2010-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/bits/move.h (forward): Implement N3143, resolving US 90.
      	* testsuite/20_util/forward/a.cc: New.
      	* testsuite/20_util/forward/b.cc: Likewise.
      	* testsuite/20_util/forward/c_neg.cc: Likewise.
      	* testsuite/20_util/forward/d.cc: Likewise.
      	* testsuite/20_util/forward/e.cc: Likewise.
      	* testsuite/20_util/forward/f_neg.cc: Likewise.
      
      From-SVN: r166599
      Paolo Carlini committed
    • re PR tree-optimization/46383 (ICE: in get_binfo_at_offset, at tree.c:10947) · 280fedf0
      2010-11-11  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/46383
      	* ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
      	offsets.
      	(compute_complex_ancestor_jump_func): Likewise.
      	* tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
      
      	* testsuite/g++.dg/torture/pr46383.C: New test.
      
      From-SVN: r166598
      Martin Jambor committed
    • Use more specific PR number in ChangeLog entry: · 778216a0
              PR bootstrap/44770
              * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
              to i.
      
      From-SVN: r166597
      Joern Rennecke committed
    • sse-12.c: Add -msse4a to dg-options. · 5f808501
      	* gcc-target/i386/sse-12.c: Add -msse4a to dg-options.
      	* gcc-target/i386/sse-13.c: Add -msse4a, -mfma4, -mbmi and -mtbm
      	to dg-options.
      	* gcc-target/i386/sse-14.c: Add -mfma4a and -mbmi to dg-options.
      	* g++.dg/other/i386-2.C: Add -msse4a and -mfma4 to dg-options.
      	* g++.dg/other/i386-3.C: Ditto.
      
      From-SVN: r166596
      Uros Bizjak committed
    • re PR debug/46150 (-fcompare-debug failure (length) with -fPIC -O2) · dcc53f13
      	PR debug/46150
      	* tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
      	true if expr1->hash != expr2->hash.
      
      From-SVN: r166595
      Jakub Jelinek committed
    • re PR c++/46420 ([C++0X][4.6 regression] ICE: in tsubst_copy, at cp/pt.c:11677) · 9c8b5215
      	PR c++/46420
      	* pt.c (tsubst_copy_and_build) [TARGET_EXPR]: New case.
      	[CONSTRUCTOR]: Use the tsubsted type.
      
      From-SVN: r166592
      Jason Merrill committed
    • bitfield2.C, [...]: Update expected messages. · 72b53e21
      	* g++.dg/ext/bitfield2.C, g++.dg/ext/bitfield4.C,
      	gcc.dg/bitfld-15.c, gcc.dg/bitfld-17.c,
      	gcc.target/i386/pr39082-1.c, gcc.target/i386/pr39545-1.c,
      	gcc.target/i386/pr39545-2.c, gcc.target/i386/pr39678.c: Update
      	expected messages.
      
      From-SVN: r166587
      Joseph Myers committed
    • Daily bump. · 03f28e75
      From-SVN: r166582
      GCC Administrator committed
    • re PR c++/38699 (ICE using offsetof with pointer and array accesses) · cd3c6bbc
      
      	PR tree-optimize/38669
      	* gcc.dg/tree-ssa/pr38699.c
      
      From-SVN: r166579
      Jan Hubicka committed
    • * gcc.dg/tree-prof/inliner-1.c: Fix testcase. · 928bcefa
      From-SVN: r166577
      Jan Hubicka committed
    • re PR c++/46369 (ICE: unexpected expression '((unsigned char*)&*r)[24]' of kind bit_field_ref) · 4ddf1c7f
      	PR c++/46369
      	* semantics.c (cxx_eval_bit_field_ref): New.
      	(cxx_eval_constant_expression): Call it.
      
      From-SVN: r166576
      Jason Merrill committed
  2. 10 Nov, 2010 13 commits
    • re PR debug/46409 (ICE in propagate_rtx, at fwprop.c:688) · a3477903
      	PR debug/46409
      	* gcc.dg/debug/pr46409.c: New test.
      
      	PR c++/46368
      	* g++.dg/cpp0x/constexpr-defarg2.C: New test.
      
      From-SVN: r166574
      Jakub Jelinek committed
    • * gcc.pot: Regenerate. · 86de1125
      From-SVN: r166573
      Joseph Myers committed
    • cfgloop.c (verify_loop_structure): Use %' in diagnostics. · d8a07487
      	* cfgloop.c (verify_loop_structure): Use %' in diagnostics.  Start
      	diagnostics with lowercase letters.
      	* cgraphunit.c (verify_cgraph_node): Start diagnostics with
      	lowercase letters.
      	* collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
      	diagnostic.
      	* config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	* config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
      	lowercase letters.
      	* config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	Remove trailing ' ' from diagnostic.
      	* config/avr/avr.c (print_operand_address): Start diagnostic with
      	a lowercase letter and remove trailing '.'.
      	* config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
      	* config/bfin/bfin.c (bfin_option_override): Start diagnostics
      	with lowercase letters.  Use %' in diagnostics.  Remove trailing
      	'.' from diagnostics.
      	(bfin_handle_longcall_attribute): Use %' in diagnostic.
      	* config/cris/cris.c (cris_split_movdx,
      	cris_expand_pic_call_address): Start diagnostics with lowercase
      	letters.
      	(cris_asm_output_label_ref): Use %' in diagnostic.
      	* config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
      	letter.
      	* config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
      	lowercase letter.
      	* config/darwin-c.c (version_as_macro): Start diagnostic with a
      	lowercase letter.
      	* config/darwin-driver.c (darwin_default_min_version): Use %' in
      	diagnostic.
      	* config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
      	diagnostic.
      	* config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	* config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
      	diagnostics.
      	* config/i386/i386.c (ix86_option_override_internal): Write
      	diagnostic as a single sentence without trailing '.'.  Use %' in
      	diagnostics.
      	(ix86_function_sseregparm, classify_argument): Start diagnostics
      	with lowercase letters.
      	(ix86_expand_prologue): Use %' in diagnostic.
      	* config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
      	diagnostic.
      	* config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
      	lowercase letter.
      	* config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
      	diagnostic.
      	* config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	* config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
      	'`' in help text.
      	* config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
      	lowercase letter.
      	* config/mep/mep.c (mep_validate_vliw): Start diagnostics with
      	lowercase letters.
      	* config/microblaze/microblaze.c (microblaze_handle_option):
      	Remove trailing '.' from diagnostic.
      	(print_operand): Start diagnostic with a lowercase letter.
      	* config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
      	lowercase letters.  Avoid '`' in diagnostics.
      	* config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
      	lowercase letters.  Avoid '`' in diagnostics.
      	* config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
      	lowercase letters.  Avoid '`' in diagnostics.
      	* config/picochip/picochip.c (picochip_option_override,
      	picochip_emit_save_register, picochip_function_arg,
      	picochip_output_label, picochip_output_internal_label,
      	picochip_asm_output_opcode, picochip_output_cbranch,
      	picochip_output_compare, picochip_output_branch,
      	picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
      	diagnostics. Start diagnostics with lowercase letters.  Use %' in
      	diagnostics.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Use
      	"SPE" capitalization.  Start diagnostic with a lowercase letter.
      	(rs6000_handle_option): Start diagnostics with lowercase letters.
      	(def_builtin): Remove trailing '.' from diagnostic.
      	(rs6000_savres_routine_name): Start diagnostic with a lowercase
      	letter.
      	* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
      	diagnostic.
      	* config/rx/rx.c (rx_handle_option): Start diagnostic with a
      	lowercase letter.
      	* config/s390/s390.c (s390_option_override) Start diagnostics with
      	lowercase letters.  Use %' in diagnostic.
      	* config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
      	lowercase letters.
      	* config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
      	diagnostic.
      	* config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
      	diagnostic.
      	* config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
      	diagnostic.
      	* config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	* config/spu/spu.c (spu_option_override): Start diagnostics with
      	lowercase letters.  Use %qs for quoting in diagnostics.
      	(spu_check_builtin_parm): Remove trailing '.' from diagnostics.
      	Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
      	* config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
      	from diagnostic.
      	* convert.c (convert_to_integer, convert_to_vector): Use %' in
      	diagnostics.
      	* dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
      	letter and use "cannot" spelling.
      	* expmed.c (extract_fixed_bit_field): Start diagnostic with
      	lowercase letter and format as a single sentence without '.'.
      	* ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
      	Use %' in diagnostics.
      	* ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
      	Use %' in diagnostics.
      	* ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
      	Use %' in diagnostics.
      	* graph.c (clean_graph_dump_file): Use %' in diagnostic.
      	* graphite-poly.c (graphite_read_scop_file): Start diagnostics
      	with lowercase letters and remove tailing '.' and '\n'.
      	* lto-cgraph.c (input_profile_summary): Start diagnostic with
      	lowercase letter and remove trailing '.'.
      	(input_cgraph): Start diagnostics with lowercase letters and
      	remove trailing '\n'.
      	* opts.c (finish_options, common_handle_option): Start diagnostics
      	with lowercase letters and remove trailing '.'.  Fix typo in
      	diagnostic.
      	* passes.c (position_pass): Start diagnostic with lowercase
      	letter.	
      	* plugin.c (add_new_plugin, parse_plugin_arg_opt,
      	register_callback, try_init_one_plugin): Start diagnostics with
      	lowercase letters.
      	* reload1.c (spill_failure): Use %' in diagnostic.
      	(gen_reload): Start diagnostic with a lowercase letter.
      	* stor-layout.c (place_field): Start diagnostic with a lowercase
      	letter.
      	* toplev.c (open_auxiliary_file): Use %' in diagnostic.
      	* tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
      	verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
      	Start diagnostics with lowercase letters, remove trailing '.' and
      	use %' in diagnostics.
      	* tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
      	(verify_ssa): Don't split diagnostic across two error calls.
      	Spell out "number" and use %' in diagnostic.
      	* value-prof.c (visit_hist, check_counter): Start diagnostics with
      	lowercase letters.
      
      c-family:
      	* c-common.c (handle_mode_attribute): Use %' and word "signedness"
      	in diagnostic.
      	* c-opts.c (c_common_parse_file): Start diagnostics with lowercase
      	letter.
      	* c-pragma.c (handle_pragma_target, handle_pragma_optimize):
      	Remove trailing '.' from diagnostics.
      	* c.opt (Wwrite-strings_: Avoid '`' in help text.
      
      cp:
      	* cvt.c (cp_convert_to_pointer): Use %' in diagnostic.
      	* decl.c (layout_var_decl, maybe_commonize_var, grokdeclarator):
      	Use %' in diagnostics.
      	* decl2.c (check_classfn): Use %' in diagnostic.
      	* init.c (build_java_class_ref): Use %' in diagnostic.
      	(build_delete): Remove trailing '.' from diagnostic.
      	* method.c (do_build_copy_assign, walk_field_subobs): Use %' in
      	diagnostics.
      	* name-lookup.c (pushdecl_maybe_friend): Use %' in diagnostic.
      	* parser.c (cp_parser_exception_specification_opt): Remove
      	trailing '.' from diagnostic.
      	(cp_parser_objc_interstitial_code): Use %qs for quoting in
      	diagnostic.
      	* pt.c (check_valid_ptrmem_cst_expr): Use %< and %> for quoting in
      	diagnostic.
      	* repo.c (reopen_repo_file_for_write): Use %' in diagnostic.
      
      fortran:
      	* trans-array.c (gfc_trans_deferred_array): Use "front-end"
      	spelling in diagnostic.
      	* trans.c (gfc_allocate_array_with_status): Add missing space in
      	diagnostic.
      
      java:
      	* expr.c (expand_java_field_op): Use %' in diagnostic.
      	* jcf-parse.c (java_parse_file): Use %' in diagnostics.
      	* jvspec.c (lang_specific_driver): Use %' in diagnostic.
      	* lang.c (java_post_options): Use %' in diagnostics.
      
      lto:
      	* lto.c (lto_resolution_read): Start diagnostics with lowercase
      	letters and remove trailing '.'.
      	(lto_file_finalize): Start diagnostic with a lowercase letter.
      
      objc:
      	* objc-act.c (objc_init): Use %' in diagnostic.
      	(objc_set_method_opt): Remove trailing '.' from diagnostic.
      
      From-SVN: r166570
      Joseph Myers committed
    • re PR target/46419 (_mm_cvtpu16_ps (and hence _mm_cvtpu8_ps) returns false result) · 5ca2bc5e
      	PR middle-end/46419
      	* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
      	(_mm_cvtpu16_ps): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/46419
      	* gcc-target/i386/pr46419.c: New test.
      
      From-SVN: r166569
      Uros Bizjak committed
    • common.opt (flag_excess_precision_cmdline, [...]): New Variable declarations. · d5478783
      	* common.opt (flag_excess_precision_cmdline, flag_generate_lto,
      	warn_larger_than, larger_than_size, warn_frame_larger_than,
      	frame_larger_than_size, flag_gen_aux_info, flag_shlib,
      	default_visibility, flag_tls_default): New Variable declarations.
      	(aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
      	falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
      	(v): Declare as Common and document here.
      	* flags.h (default_visibility, flag_generate_lto,
      	warn_larger_than, larger_than_size, warn_frame_larger_than,
      	frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
      	flag_shlib, flag_excess_precision_cmdline): Remove.
      	(set_Wstrict_aliasing): Update prototype.
      	* gcc.c (verbose_flag): Remove.
      	(driver_handle_option): Add diagnostic_context parameter.  Don't
      	handle OPT_v explicitly here.  Set verbose_flag to 1 rather than
      	incrementing it.
      	* opts-common.c (handle_option): Pass dc to handler.
      	* opts.c (warn_larger_than, larger_than_size,
      	warn_frame_larger_than, frame_larger_than_size,
      	default_visibility): Remove.
      	(common_handle_option): Add diagnostic_context parameter.
      	(set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
      	gcc_options parameters.
      	(lang_handle_option, target_handle_option, read_cmdline_options,
      	decode_options): Add diagnostic_context parameters.
      	(finish_options): Access option state through opts pointer where
      	possible.
      	(common_handle_option): Access option state through opts pointer
      	where possible.  Do not set local static variable verbose.  Do not
      	explicitly handle OPT_v, OPT_Wstrict_aliasing_,
      	OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
      	OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
      	OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
      	OPT_fwhopr_.  Do not explicitly set .opt file variables for
      	OPT_aux_info or OPT_pedantic_errors.  Use dc for diagnostic
      	context.
      	(set_Wstrict_aliasing): Add gcc_options parameter.
      	* opts.h (struct cl_option_handler_func): Add diagnostic_context
      	parameter to handler.
      	(decode_options): Add diagnostic_context parameter.
      	* toplev.c (dump_base_name, dump_dir_name, aux_base_name,
      	asm_file_name, flag_generate_lto, flag_gen_aux_info,
      	aux_info_file_name, flag_shlib, flag_tls_default,
      	flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
      	(toplev_main): Pass global_dc to decode_options.
      	* toplev.h (dump_base_name, dump_dir_name, aux_base_name,
      	aux_info_file_name, asm_file_name): Remove.
      	* tree.h (flag_tls_default): Remove.
      
      c-family:
      	* c-common.c (parse_optimize_options): Pass global_dc to
      	decode_options.
      	* c-opts.c (c_common_handle_option): Pass &global_options to
      	set_Wstrict_aliasing.
      	* c.opt (v): Don't mark Common or document here.
      
      fortran:
      	* cpp.c (asm_file_name): Don't declare here.
      
      objc:
      	* objc-act.c (dump_base_name): Don't declare here.
      
      From-SVN: r166565
      Joseph Myers committed
    • sparc.c (sparc_delegitimize_address): New function. · 8e7a6ed6
      	* config/sparc/sparc.c (sparc_delegitimize_address): New function.
      	(TARGET_DELEGITIMIZE_ADDRESS): Define to above.
      
      From-SVN: r166563
      Eric Botcazou committed
    • Add support for TBM. · 94d13ad1
      2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
      
      gcc/
      	* config.gcc (i[34567]86-*-*): Include tbmintrin.h.
          (x86_64-*-*): Likewise.
      	* config/i386/cpuid.h: Define TBM bit.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Define
      	and set has_tbm.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Check
      	isa_flag for TBM.
      	* config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
      	(OPTION_MASK_ISA_TBM_UNSET): New.
      	(ix86_handle_option): Handle -mtbm.
      	(isa_opts): Add -mtbm.
      	(enum pta_flags): Add PTA_TBM.
      	(ix86_option_override_internal): Add TBM support.
      	(ix86_valid_target_attribute_inner_p): Handle -mtbm.
      	(IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
      	(IX86_BUILTIN_BEXTRI64): Likewise.
      	(bdesc_args): Add TBM intrinsics.
      	(ix86_expand_builtin): Add TBM specific case.
      	* config/i386/i386.h (TARGET_TBM): New for TBM.
      	* config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
      	(tbm_bextri_<mode>): Likewise.
      	(*tbm_blcfill_<mode>): Likewise.
      	(*tbm_blci_<mode>): Likewise.
      	(*tbm_blcic_<mode>): Likewise.
      	(*tbm_blcmsk_<mode>): Likewise.
      	(*tbm_blcs_<mode>): Likewise.
      	(*tbm_blsfill_<mode>): Likewise.
      	(*tbm_blsic_<mode>): Likewise.
      	(*tbm_t1mskc_<mode>): Likewise.
      	(*tbm_tzmsk_<mode>): Likewise.
      	* config/i386/i386.opt: Add -mtbm.
      	* config/i386/tbmintrin.h (__bextri_u32): New.
      	(__blcfill_u32): Likewise.
      	(__blci_u32): Likewise.
      	(__blcic_u32): Likewise.
      	(__blcmsk_u32): Likewise.
      	(__blcs_u32): Likewise.
      	(__blsfill_u32): Likewise.
      	(__blsic_u32): Likewise.
      	(__t1mskc_u32): Likewise.
      	(__tzmsk_u32): Likewise.
      	(__bextri_u64): Likewise.
      	(__blcfill_u64): Likewise.
      	(__blci_u64): Likewise.
      	(__blcic_u64): Likewise.
      	(__blcmsk_u64): Likewise.
      	(__blcs_u64): Likewise.
      	(__blsfill_u64): Likewise.
      	(__blsic_u64): Likewise.
      	(__t1mskc_u64): Likewise.
      	(__tzmsk_u64): Likewise.
      	* config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
      	* doc/invoke.texi: Document -mtbm.
      	* doc/extend.texi: Document TBM built-in functions.
      
      gcc/testsuite/
      	* g++.dg/other/i386-2.C: Add -mtbm.
      	* g++.dg/other/i386-3.C: Likewise.
      	* gcc.target/i386/funcspec-5.c: Add tbm and no-tbm targets.
      	* gcc.target/i386/funcspec-6.c: Likewise.
      	* gcc.target/i386/sse-12.c: Add -mtbm.
      	* gcc.target/i386/sse-13.c: Add -mtbm and test immediate
      	operand intrinsics.
      	* gcc.target/i386/sse-14.c: Likewise.
      	* gcc.target/i386/sse-22.c: Likewise.
      	* gcc.target/i386/sse-23.c: Likewise.
      	* gcc.target/i386/tbm-1.c: New file.
      	* gcc.target/i386/tbm-2.c: Likewise.
      
      From-SVN: r166562
      Quentin Neill committed
    • Add support for BMI. · 91afcfa3
      2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
      
      gcc/
      	* config.gcc (i[34567]86-*-*): Include bmiintrin.h.
      	(x86_64-*-*): Likewise.
      	* config/i386/cpuid.h: Define BMI bit.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Define
      	and set has_bmi.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Check
      	isa_flag for BMI.
      	* config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
      	(OPTION_MASK_ISA_BMI_UNSET): New.
      	(ix86_handle_option): Handle -mbmi.
      	(isa_opts): Add -mbmi.
      	(enum pta_flags): Add PTA_BMI.
      	(ix86_option_override_internal): Add BMI support.
      	(ix86_valid_target_attribute_inner_p): Handle -mbmi.
      	(IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
      	(IX86_BUILTIN_BEXTR64): Likewise.
      	(IX86_BUILTIN_CTZS): Likewise.
      	(bdesc_args): Add BMI intrinsics.
      	(ix86_expand_args_builtin): Add BMI specific cases.
      	* config/i386/i386.h (TARGET_BMI): New for BMI.
      	(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
      	(CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
      	* config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
      	(UNSPEC_TZCNT): Likewise.
      	(ctz<mode>2): Add tzcnt, and handle 16 bit operands.
      	(bmi_andn_<mode>): New for BMI.
      	(bmi_bextr_<mode>): Likewise.
      	(bmi_blsi_<mode>): Likewise.
      	(bmi_blsmsk_<mode>): Likewise.
      	(bmi_blsr_<mode>): Likewise.
      	* config/i386/i386.opt: Add -mbmi.
      	* config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
      	* config/i386/bmiintrin.h (__lzcnt_u16): New.
      	(__tzcnt_u16): Likewise.
      	(__andn_u32): Likewise.
      	(__bextr_u32): Likewise.
      	(__blsi_u32): Likewise.
      	(__blsmsk_u32): Likewise.
      	(__blsr_u32): Likewise.
      	(__lzcnt_u32): Likewise.
      	(__tzcnt_u32): Likewise.
      	(__andn_u64): Likewise.
      	(__bextr_u64): Likewise.
      	(__blsi_u64): Likewise.
      	(__blsmsk_u64): Likewise.
      	(__blsr_u64): Likewise.
      	(__lzcnt_u64): Likewise.
      	(__tzcnt_u64): Likewise.
      	* doc/invoke.texi: Document -mbmi and -mno-bmi.
      	* doc/extend.texi: Document BMI built-in functions.
      
      gcc/testsuite/
      	* g++.dg/other/i386-2.C: Add -mbmi.
      	* g++.dg/other/i386-3.C: Likewise.
      	* gcc.target/i386/funcspec-5.c: Add bmi and no-bmi targets.
      	* gcc.target/i386/funcspec-6.c: Likewise.
      	* gcc.target/i386/sse-12.c: Add -mbmi.
      	* gcc.target/i386/bmi-1.c: New file.
      	* gcc.target/i386/bmi-2.c: Likewise.
      	* gcc.target/i386/bmi-3.c: Likewise.
      	* gcc.target/i386/bmi-4.c: Likewise.
      	* gcc.target/i386/bmi-5.c: Likewise.
      	* gcc.target/i386/bmi-6.c: Likewise.
      
      From-SVN: r166561
      Quentin Neill committed
    • unordered_map (unordered_map<>::_M_profile_size): Simplify, don't take a… · 6d24de83
      unordered_map (unordered_map<>::_M_profile_size): Simplify, don't take a __new_size argument; adjust all callers.
      
      2010-11-10  François Dumont  <francois.cppdevs@free.fr>
      
              * include/profile/unordered_map (unordered_map<>::_M_profile_size): 
              Simplify, don't take a __new_size argument; adjust all callers.
      
      From-SVN: r166560
      François Dumont committed
    • MAINTAINERS (Write After Approval): Add myself. · 5a4b6c0e
      2010-11-10  François Dumont  <francois.cppdevs@free.fr>
      
             * MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r166559
      François Dumont committed
    • re PR c++/46065 (ICE: tree check: expected tree that contains 'decl minimal'… · 75acdae9
      re PR c++/46065 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'tree_list' in poplevel_named_label_1, at cp/decl.c:477)
      
      gcc/cp/
      	PR c++/46065
      	* decl.c (poplevel_named_label_1): Use TREE_CHAIN if necessary.
      
      gcc/testsuite/
      	PR c++/46065
      	* g++.dg/pr46065.C: New test.
      
      From-SVN: r166558
      Nathan Froyd committed
    • re PR rtl-optimization/33172 (Optimizer fails to elid away unreferenced static function) · edb29996
      
      	PR tree-optimize/33172
      	PR tree-optimize/43411
      	* gcc.dg/tree-ssa/pr33172.c: New testcase.
      	* g++.dg/tree-ssa/pr43411.C: New testcase.
      
      From-SVN: r166557
      Jan Hubicka committed
    • re PR tree-optimization/46228 (code produced for STL container is worse in 4.5.1 than in 4.4.5) · b6173d50
      
      	PR tree-optimize/46228
      	* doc/invoke.texi (comdat-sharing-probability): Document.
      	* ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
      	* params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
      
      From-SVN: r166556
      Jan Hubicka committed