Commit graph

104806 commits

Author SHA1 Message Date
Jan Hubicka
2503de8d44 re PR tree-optimization/40436 (0.5% code size regression caused by r147852)
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
2010-11-11 22:08:26 +00:00
Janus Weil
8be3d7da69 resolve.c (resolve_procedure_interface): Copy 'is_bind_c' attribute.
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
2010-11-11 22:44:15 +01:00
Andreas Simbuerger
d32ef397c9 Support official CLooG.org versions.
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
2010-11-11 21:33:24 +00:00
Joern Rennecke
77b0efff1d re PR target/44749 (mep-elf fails to build)
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
2010-11-11 19:11:44 +00:00
Nicola Pero
d6f62adad7 Fixed my email address in 3 of my ChangeLog entries for the past couple of months
From-SVN: r166613
2010-11-11 19:01:45 +00:00
Nicola Pero
10e34e6eb1 In gcc/objc/: 2010-11-11 Nicola Pero <nicola.pero@meta-innovation.com>
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
2010-11-11 18:58:43 +00:00
Richard Henderson
a1d8aa4b1f 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
2010-11-11 10:42:35 -08:00
Joseph Myers
658bd5ca00 reginfo.c (fix_register): Avoid inserting English word in diagnostic sentence.
* reginfo.c (fix_register): Avoid inserting English word in
	diagnostic sentence.  Use %qs for quoting and %'.

From-SVN: r166610
2010-11-11 18:28:46 +00:00
H.J. Lu
12bbb78f64 Support Intel processor family 6, model 0x2c.
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
2010-11-11 09:30:39 -08:00
Joseph Myers
f954bd2c81 opts.c (warning_as_error_callback, [...]): Remove.
* 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
2010-11-11 16:54:49 +00:00
Richard Henderson
a5f09e7311 Recognize -(a * b) + c -> fma(-a,b,c).
* tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
	in between the MULT and the PLUS/MINUS.

From-SVN: r166605
2010-11-11 08:20:54 -08:00
Jakub Jelinek
1004f0c5c8 re PR middle-end/46388 (ICE in int_mode_for_mode, at stor-layout.c:493)
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
2010-11-11 16:48:39 +01:00
Rainer Orth
86de8875db lto.exp (lto-get-options-main): Support optional target selector for dg-suppress-ld-options.
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
2010-11-11 14:08:47 +00:00
Dave Korn
d19e0f01a1 re PR bootstrap/46397 (lto-plugin.c does not build on Solaris 10/SPARC)
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
2010-11-11 13:33:59 +00:00
Dave Korn
a16e07c682 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
2010-11-11 13:29:46 +00:00
Paolo Carlini
ad26988476 move.h (forward): Implement N3143, resolving US 90.
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
2010-11-11 13:10:49 +00:00
Martin Jambor
280fedf067 re PR tree-optimization/46383 (ICE: in get_binfo_at_offset, at tree.c:10947)
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
2010-11-11 13:03:59 +01:00
Joern Rennecke
778216a0c8 Use more specific PR number in ChangeLog entry:
PR bootstrap/44770
        * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
        to i.

From-SVN: r166597
2010-11-11 11:04:44 +00:00
Uros Bizjak
5f8085011a sse-12.c: Add -msse4a to dg-options.
* 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
2010-11-11 09:24:15 +01:00
Jakub Jelinek
dcc53f137c re PR debug/46150 (-fcompare-debug failure (length) with -fPIC -O2)
PR debug/46150
	* tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
	true if expr1->hash != expr2->hash.

From-SVN: r166595
2010-11-11 09:09:46 +01:00
Jason Merrill
9c8b521559 re PR c++/46420 ([C++0X][4.6 regression] ICE: in tsubst_copy, at cp/pt.c:11677)
PR c++/46420
	* pt.c (tsubst_copy_and_build) [TARGET_EXPR]: New case.
	[CONSTRUCTOR]: Use the tsubsted type.

From-SVN: r166592
2010-11-11 01:17:32 -05:00
Joseph Myers
72b53e21bd bitfield2.C, [...]: Update expected messages.
* 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
2010-11-11 02:14:01 +00:00
GCC Administrator
03f28e7538 Daily bump.
From-SVN: r166582
2010-11-11 00:18:55 +00:00
Jan Hubicka
cd3c6bbca8 re PR c++/38699 (ICE using offsetof with pointer and array accesses)
PR tree-optimize/38669
	* gcc.dg/tree-ssa/pr38699.c

From-SVN: r166579
2010-11-11 00:17:34 +00:00
Jan Hubicka
928bcefada * gcc.dg/tree-prof/inliner-1.c: Fix testcase.
From-SVN: r166577
2010-11-11 00:16:19 +00:00
Jason Merrill
4ddf1c7f49 re PR c++/46369 (ICE: unexpected expression '((unsigned char*)&*r)[24]' of kind bit_field_ref)
PR c++/46369
	* semantics.c (cxx_eval_bit_field_ref): New.
	(cxx_eval_constant_expression): Call it.

From-SVN: r166576
2010-11-10 19:06:34 -05:00
Jakub Jelinek
a34779030e re PR debug/46409 (ICE in propagate_rtx, at fwprop.c:688)
PR debug/46409
	* gcc.dg/debug/pr46409.c: New test.

	PR c++/46368
	* g++.dg/cpp0x/constexpr-defarg2.C: New test.

From-SVN: r166574
2010-11-11 00:33:56 +01:00
Joseph Myers
86de112502 * gcc.pot: Regenerate.
From-SVN: r166573
2010-11-10 23:33:06 +00:00
Joseph Myers
d8a07487de cfgloop.c (verify_loop_structure): Use %' in diagnostics.
* 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
2010-11-10 23:23:15 +00:00
Uros Bizjak
5ca2bc5e88 re PR target/46419 (_mm_cvtpu16_ps (and hence _mm_cvtpu8_ps) returns false result)
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
2010-11-11 00:00:01 +01:00
Joseph Myers
d547878398 common.opt (flag_excess_precision_cmdline, [...]): New Variable declarations.
* 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
2010-11-10 22:35:13 +00:00
Eric Botcazou
8e7a6ed68c sparc.c (sparc_delegitimize_address): New function.
* config/sparc/sparc.c (sparc_delegitimize_address): New function.
	(TARGET_DELEGITIMIZE_ADDRESS): Define to above.

From-SVN: r166563
2010-11-10 22:08:02 +00:00
Quentin Neill
94d13ad18d Add support for TBM.
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
2010-11-10 22:02:34 +00:00
Quentin Neill
91afcfa30c Add support for BMI.
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
2010-11-10 22:02:23 +00:00
François Dumont
6d24de8354 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
2010-11-10 21:53:43 +00:00
François Dumont
5a4b6c0e97 MAINTAINERS (Write After Approval): Add myself.
2010-11-10  François Dumont  <francois.cppdevs@free.fr>

       * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r166559
2010-11-10 21:47:13 +00:00
Nathan Froyd
75acdae9f3 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
2010-11-10 21:05:50 +00:00
Jan Hubicka
edb29996a5 re PR rtl-optimization/33172 (Optimizer fails to elid away unreferenced static function)
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
2010-11-10 20:38:15 +00:00
Jan Hubicka
b6173d509c re PR tree-optimization/46228 (code produced for STL container is worse in 4.5.1 than in 4.4.5)
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
2010-11-10 20:26:36 +00:00
Jan Hubicka
c5d0600d09 re PR tree-optimization/46228 (code produced for STL container is worse in 4.5.1 than in 4.4.5)
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.
	* g++.dg/tree-ssa/pr46228.C: New testcase.

From-SVN: r166555
2010-11-10 20:23:09 +00:00
Joern Rennecke
d707fc7738 re PR target/46417 (spu-elf --enable-werror-always build fails)
PR target/46417
	* config/spu/spu.c (spu_expand_insv): Remove unused variables.
	(spu_split_store): Use aform.
	(spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.

From-SVN: r166554
2010-11-10 20:15:24 +00:00
Jan Hubicka
2cfef329c2 re PR tree-optimization/46228 (code produced for STL container is worse in 4.5.1 than in 4.4.5)
PR tree-optimize/46228
	* cgraph.c (cgraph_propagate_frequency): Fix typo.

From-SVN: r166553
2010-11-10 20:10:46 +00:00
H.J. Lu
c204d113c0 Check preferred vector mode for vector type in estimate_move_cost.
gcc/

2010-11-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR tree-optimization/46414
	* tree-inline.c (estimate_move_cost): Check preferred vector
	mode for vector type.

gcc/testsuite/

2010-11-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR tree-optimization/46414
	* gcc.target/i386/recip-vec-sqrtf-avx.c: Updated for loop
	unrolling.

From-SVN: r166552
2010-11-10 12:08:27 -08:00
Paolo Carlini
e6a054481d PR libstdc++/44436 (partial)
2010-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44436 (partial)
	PR libstdc++/46148
        * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_, _M_insert_lower,
	_M_insert_equal_lower, _M_insert_unique, _M_insert_equal,
	_M_insert_unique_, _M_insert_equal_): Templatize in C++0x mode,
	use _GLIBCXX_FORWARD throughout.
        * include/bits/stl_map.h (map<>::insert(_Pair&&),
	insert(const_iterator, _Pair&&), operator[](key_type&&): Add.
        * include/bits/stl_set.h (set<>::insert(value_type&&),
	insert(const_iterator, value_type&&)): Likewise.
        * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
	insert(const_iterator, _Pair&&)): Likewise.
        * include/bits/stl_multiset.h (multiset<>::insert(value_type&&),
	insert(const_iterator, value_type&&)): Likewise.
	* include/debug/set.h: Adjust.
        * include/debug/multiset.h: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/multimap.h: Likewise.
        * include/profile/set.h: Likewise.
        * include/profile/multiset.h: Likewise.
        * include/profile/map.h: Likewise.
        * include/profile/multimap.h: Likewise.
        * testsuite/23_containers/multimap/modifiers/insert/1.cc: New.
        * testsuite/23_containers/multimap/modifiers/insert/2.cc: Likewise.
        * testsuite/23_containers/multimap/modifiers/insert/3.cc: Likewise.
        * testsuite/23_containers/multimap/modifiers/insert/4.cc: Likewise.
        * testsuite/23_containers/set/modifiers/insert/2.cc: Likewise.
        * testsuite/23_containers/set/modifiers/insert/3.cc: Likewise.
        * testsuite/23_containers/multiset/modifiers/insert/3.cc: Likewise.
        * testsuite/23_containers/multiset/modifiers/insert/4.cc: Likewise.
        * testsuite/23_containers/map/modifiers/insert/2.cc: Likewise.
        * testsuite/23_containers/map/modifiers/insert/3.cc: Likewise.
        * testsuite/23_containers/map/modifiers/insert/4.cc: Likewise.
        * testsuite/23_containers/map/modifiers/insert/5.cc: Likewise.
        * testsuite/23_containers/map/element_access/2.cc: Likewise.
        * testsuite/23_containers/map/element_access/46148.cc: Likewise.

        * include/bits/hashtable.h: Trivial naming changes.

From-SVN: r166551
2010-11-10 19:08:49 +00:00
Tobias Burnus
1d3a84ce03 re PR fortran/46411 (MOVE_ALLOC wrongly rejected as impure)
2010-11-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/46411
        * intrinsic.c (gfc_intrinsic_sub_interface): Check for attr.pure
        and not for attr.elemental.
        * intrinsic.texi (move_alloc): Document as being pure.

2010-11-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/46411
        * gfortran.dg/intrinsic_7.f90: New.

From-SVN: r166550
2010-11-10 19:04:04 +01:00
Rainer Orth
95b53b576b * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
From-SVN: r166549
2010-11-10 18:00:42 +00:00
Rainer Orth
bbed6555f0 rtti3.C: Scan for .weakext on alpha*-dec-osf*.
* g++.dg/abi/rtti3.C: Scan for .weakext on alpha*-dec-osf*.
	* g++.dg/abi/thunk4.C: Likewise.
	* g++.dg/opt/combine.C: Add dg-require-visibility.
	* g++.dg/other/anon5.C: Skip on alpha*-dec-osf*.
	* g++.dg/warn/miss-format-1.C: XFAIL scanf attribute warning on
	alpha*-dec-osf*.
	* g++.dg/warn/pr31246.C: XFAIL on alpha*-dec-osf*.
	* g++.dg/warn/weak1.C: Skip on alpha*-dec-osf*.
	* g++.old-deja/g++.eh/badalloc1.C [!STACK_SIZE && __osf__]: Use
	large arena_size.
	* gcc.dg/attr-weakref-1.c: Skip on alpha*-dec-osf*.
	* gcc.dg/intmax_t-1.c: Likewise.

From-SVN: r166548
2010-11-10 17:48:42 +00:00
Tobias Burnus
0149d8ccb1 re PR fortran/46244 (gfc_compare_derived_types is buggy)
2010-11-10  Tobias Burnus <burnus@net-b.de>

        PR fortran/46244
        * resolve.c (resolve_fl_derived): Don't allow CLASS in
        sequence/BIND(C) types.

2010-11-10  Tobias Burnus <burnus@net-b.de>

        PR fortran/46244
        * gfortran.dg/class_30.f90: New.

From-SVN: r166547
2010-11-10 18:44:58 +01:00
Tobias Burnus
445f52e230 re PR fortran/46223 (gfortran.dg/bessel_7.f90 failures on s390-ibm-linux-gnu)
2010-11-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/46223
        * gfortran.dg/bessel_7.f90: Bump allowed precision to avoid
        failure on s390.

From-SVN: r166546
2010-11-10 18:41:22 +01:00
Joern Rennecke
4ae50669e0 re PR target/46415 (mmix-knuth-mmixware --enable-werror-always build fails)
PR target/46415
        * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
        (mmix_dbx_register_number): Likewise.
        * config/mmix/mmix.c: Include df.h .
        (mmix_local_alignment): Change argument basic_align and return type
        to unsigned.
        (mmix_dbx_register_number): Change argument and return type to
        unsigned.
        (mmix_expand_prologue): Use add_reg_note.

From-SVN: r166545
2010-11-10 17:18:22 +00:00