Commit graph

120321 commits

Author SHA1 Message Date
Uros Bizjak
5756eff74e i386-protos.h (ix86_emit_mode_set): Add third argument.
* config/i386/i386-protos.h (ix86_emit_mode_set): Add third argument.
	* config/i386/i386.h (EMIT_MODE_SET): Update.
	* config/i386/i386.c (ix86_avx_emit_vzeroupper): New function.
	(ix86_emit_mode_set) <AVX_U128>: Call ix86_avx_emit_vzeroupper.

From-SVN: r193550
2012-11-16 08:42:19 +01:00
Ganesh Gopalasubramanian
4888636ee7 AMD bdver3 enablement
From-SVN: r193549
2012-11-16 07:18:37 +00:00
Ganesh Gopalasubramanian
eb2f2b44dd AMD bdver3 enablement
From-SVN: r193548
2012-11-16 07:17:30 +00:00
David S. Miller
91764ab8bd Fix gcc.c-torture/compile/pr53410-2.c on sparc.
* expmed.c (expand_shift_1): Don't strip non-integral SUBREGs.

From-SVN: r193547
2012-11-15 21:31:46 -08:00
GCC Administrator
8b9bf07ae3 Daily bump.
From-SVN: r193546
2012-11-16 00:18:13 +00:00
David S. Miller
8b98b5fd9f Add support for sparc fused compare-and-branch.
gcc/

2012-11-15  David S. Miller  <davem@davemloft.net>

	* configure.ac: Add check for assembler SPARC4 instruction
	support.
	* configure: Rebuild.
	* config.in: Add HAVE_AS_SPARC4 section.
	* config/sparc/sparc.opt (mcbcond): New option.
	* doc/invoke.texi: Document it.
	* config/sparc/constraints.md: New constraint 'A' for 5-bit signed
	immediates.
	* doc/md.texi: Document it.
	* config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_CBCOND.
	(sparc_option_override): Likewise.
	(emit_cbcond_insn): New function.
	(emit_conditional_branch_insn): Call it.
	(emit_cbcond_nop): New function.
	(output_ubranch): Use cbcond, remove label arg.
	(output_cbcond): New function.
	* config/sparc/sparc-protos.h (output_ubranch): Update.
	(output_cbcond): Declare it.
	(emit_cbcond_nop): Likewise.
	* config/sparc/sparc.md (type attribute): New types 'cbcond'
	and uncond_cbcond.
	(emit_cbcond_nop): New attribute.
	(length attribute): Handle cbcond and uncond_cbcond.
	(in_call_delay attribute): Reject cbcond and uncond_cbcond.
	(in_branch_delay attribute): Likewise.
	(in_uncond_branch_delay attribute): Likewise.
	(in_annul_branch_delay attribute): Likewise.
	(*cbcond_sp32, *cbcond_sp64): New insn patterns.
	(jump): Rewrite into an expander.
	(*jump_ubranch, *jump_cbcond): New patterns.
	* config/sparc/niagara4.md: Match 'cbcond' in 'n4_cti'.
	* config/sparc/sparc.h (AS_NIAGARA4_FLAG): New macro, use it
	when target default is niagara4.
	(SPARC_SIMM5_P): Define.
	* config/sparc/sol2.h (AS_SPARC64_FLAG): Adjust.
	(AS_SPARC32_FLAG): Define.
	(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Use
	AS_NIAGARA4_FLAG as needed.

From-SVN: r193543
2012-11-15 13:24:22 -08:00
Roland McGrath
2bf33cdb91 * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r193542
2012-11-15 19:12:53 +00:00
Marcus Shawcroft
54f4eaf08d soft-fp updated from GLIBC upstream.
From-SVN: r193540
2012-11-15 18:39:47 +00:00
Steve Ellcey
59bdc31c02 expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp.
2012-11-15  Steve Ellcey  <sellcey@mips.com>

	* expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp.

From-SVN: r193539
2012-11-15 17:27:44 +00:00
Tobias Burnus
7ee2eb8277 fmaq.c (fmaq): Merge from GLIBC.
2012-11-15  Tobias Burnus  <burnus@net-b.de>
            Joseph Myers  <joseph@codesourcery.com>

        * math/fmaq.c (fmaq): Merge from GLIBC. Fix fma
        underflows with small x * y; Fix overflow results
        outside round-to-nearest mode; make use of Dekker
        and Knuth algorithms use round-to-nearest.


Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r193538
2012-11-15 18:22:21 +01:00
Tom de Vries
0c604a61a3 re PR tree-optimization/54619 (GCC aborts during compilation with '-O2 -mips16')
2012-11-15  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/54619
	* tree-ssa-loop-ivopts.c (get_use_type): New function.
	(get_computation_at): Use get_use_type.
	(get_computation_cost_at): Declare and set mem_mode.  Use mem_mode.

From-SVN: r193537
2012-11-15 16:49:45 +00:00
Dmitry Vyukov
f0e10e243e MAINTAINERS: (libsanitizer...
* MAINTAINERS: (libsanitizer, asan.c): Add myself,
Kostya Serebryany (kcc@google.com) and
Jakub Jelinek (jakub@redhat.com).
Rename area for Dodji Seketeli (dodji@redhat.com).

From-SVN: r193536
2012-11-15 08:28:39 -08:00
Jason Merrill
c8d15a7262 re PR c++/54903 (Auto + static in-class constant initialization not working)
PR c++/54903
	* decl2.c (mark_used): Don't complain about auto in templates.

From-SVN: r193535
2012-11-15 11:11:56 -05:00
H.J. Lu
f64bcb29f5 Properly set MULTISUBDIR and gcc_version
* configure.ac: Properly set MULTISUBDIR.
	* asan/Makefile.am (gcc_version): New.
	* interception/Makefile.am (gcc_version): Likewise.
	* sanitizer_common/Makefile.am (gcc_version): Likewise.
	* configure: Regenerated.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

From-SVN: r193534
2012-11-15 08:00:47 -08:00
Jakub Jelinek
671e554d87 asan.c (report_error_func): Set DECL_IGNORED_P, don't touch DECL_ASSEMBLER_NAME.
* asan.c (report_error_func): Set DECL_IGNORED_P, don't touch
	DECL_ASSEMBLER_NAME.
	(asan_init_func): Likewise.
	(asan_finish_file): Use void * instead of __asan_global * as
	type of __asan_{,un}register_globals.  Set DECL_IGNORED_P on
	the decls.

From-SVN: r193532
2012-11-15 14:12:36 +01:00
Dodji Seketeli
8b7ec4233d Add myself as asan co-reviewer
ChangeLog:

	* MAINTAINERS: (asan.c, related): Add myself.

From-SVN: r193530
2012-11-15 13:36:50 +01:00
Matthias Klose
9eae39049b Makefile.in (if_multiarch): Don't use a GNU make 3.81 feature.
2012-11-15  Matthias Klose  <doko@ubuntu.com>

        * Makefile.in (if_multiarch): Don't use a GNU make 3.81 feature.

From-SVN: r193529
2012-11-15 11:58:42 +00:00
Jason Merrill
d28bdb60d7 tests
From-SVN: r193527
2012-11-14 20:54:00 -05:00
Jason Merrill
e7cf651365 re PR c++/37276 (Trouble with some (C99?) math builtins and namespace std)
PR c++/37276
	* decl.c (decls_match): Remove #ifdef around earlier fix.

From-SVN: r193526
2012-11-14 20:53:48 -05:00
Jason Merrill
d3061adb7f class.c (finish_struct_1): Check virtual functions for missing ABI tags.
* class.c (finish_struct_1): Check virtual functions
	for missing ABI tags.

From-SVN: r193525
2012-11-14 20:53:37 -05:00
Jason Merrill
4fce678f8a re PR c++/55275 (abi_tag attribute doesn't work on explicit specializations of class templates)
PR c++/55275
	* pt.c (maybe_process_partial_specialization): Update
	DECL_SOURCE_LOCATION for new specializations.

From-SVN: r193524
2012-11-14 20:53:23 -05:00
Jonathan Wakely
c25639b1a3 re PR libstdc++/53841 ([C++11] condition_variable::wait_until() fails with high resolution clocks)
PR libstdc++/53841
	* include/std/condition_variable (condition_variable::wait_until):
	Handle clocks with higher resolution than __clock_t.
	(condition_variable::__wait_until_impl): Remove unnecessary _Clock
	parameter.
	* testsuite/30_threads/condition_variable/members/53841.cc: New.

From-SVN: r193523
2012-11-15 01:38:17 +00:00
Jan Hubicka
6c2b4cacb9 re PR bootstrap/55051 (profiledbootstrap failed)
PR bootstrap/55051
	* gcov-io.c (gcov_read_summary): Fix array bound check.

From-SVN: r193522
2012-11-15 01:07:01 +00:00
Roland McGrath
ff4b7a7e91 Consider *-*-nacl* targets ELF
* configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
	* configure: Regenerate.

From-SVN: r193521
2012-11-14 16:38:07 -08:00
GCC Administrator
e26f512d38 Daily bump.
From-SVN: r193519
2012-11-15 00:18:38 +00:00
H.J. Lu
2a6346c406 Add support for multilib run-time libraries
PR other/55291
	* configure.ac (--enable-version-specific-runtime-libs): New option.
	(AC_CANONICAL_SYSTEM): New.
	(AM_ENABLE_MULTILIB): Moved right after AM_INIT_AUTOMAKE.
	(toolexecdir): Support multilib.
	(toolexeclibdir): Likewise.
	(multilib_arg): New.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

From-SVN: r193516
2012-11-14 16:03:37 -08:00
Sterling Augustine
bc6a33956f re PR debug/55328 (ICE: in output_addr_table_entry, at dwarf2out.c:21780 with -gsplit-dwarf)
2012-11-14  Sterling Augustine  <saugustine@google.com>

	PR debug/55328
	* dwarf2out.c (index_address_table_entry): Check a node's refcount.

From-SVN: r193515
2012-11-14 23:36:50 +00:00
Jonathan Wakely
99ace34a31 re PR libstdc++/55320 (Invalid delete with throwing copy-c'tor passed to std::function)
PR libstdc++/55320
	* include/std/functional (function::function(F)): Set _M_manager after
	operations that could throw.
	(_Function_base::_Ref_manager::_M_init_functor): Use addressof.
	* include/tr1/functional
	(_Function_base::_Ref_manager::_M_init_functor): Use addressof.
	(_Function_base::_Base_manager::_M_get_pointer): Likewise.
	* testsuite/20_util/function/cons/55320.cc: New.
	* testsuite/20_util/function/cons/addressof.cc: New.
	* testsuite/20_util/function/cons/callable.cc: Remove header.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
	* testsuite/tr1/3_function_objects/function/10.cc: New.

From-SVN: r193514
2012-11-14 23:33:01 +00:00
Jan Hubicka
3aac5aad16 builtins.c (define_builtin): Accept ECF flags and use set_call_expr_flags.
* builtins.c (define_builtin): Accept ECF flags and
	use set_call_expr_flags.
	(initialize_builtins): Update.

From-SVN: r193513
2012-11-14 23:14:05 +00:00
Jan Hubicka
7153ca970b re PR bootstrap/55051 (profiledbootstrap failed)
PR bootstrap/55051
	* ipa-inline.c (edge_badness): Improve dumping; fix overflow.

From-SVN: r193512
2012-11-14 23:03:22 +00:00
Jakub Jelinek
8335a6439d asan-dg.exp: New file.
* lib/asan-dg.exp: New file.
	* gcc.dg/asan/asan.exp: New file.
	* g++.dg/dg.exp: Prune also asan tests.
	* g++.dg/asan/asan.exp: New file.
	* c-c++-common/asan/memcmp-1.c: New test.

From-SVN: r193511
2012-11-14 23:58:01 +01:00
Matthias Klose
d3547cab78 t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
2012-11-14  Matthias Klose  <doko@ubuntu.com>

        * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
        * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
        * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
        for 32bit non-biarch configurations.

From-SVN: r193510
2012-11-14 22:45:25 +00:00
Uros Bizjak
0c9afb50c4 abi_tag.cc: Adjust expected demangling for 128bit long-double targets.
* testsuite/26_numerics/complex/abi_tag.cc: Adjust expected
	demangling for 128bit long-double targets.

From-SVN: r193509
2012-11-14 23:23:51 +01:00
Matthias Klose
e0cdc09f6b invoke.texi: Document -print-multiarch.
2012-11-14  Matthias Klose  <doko@ubuntu.com>

        * doc/invoke.texi: Document -print-multiarch.
        * doc/install.texi: Document --enable-multiarch.
        * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
        * configure.ac: Add --enable-multiarch option.
        * configure: Regenerate.
        * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
        enable_multiarch, with_float: New macros.
        if_multiarch: New macro, define in terms of enable_multiarch.
        * genmultilib: Add new argument for the multiarch name.
        * gcc.c (multiarch_dir): Define.
        (for_each_path): Search for multiarch suffixes.
        (driver_handle_option): Handle multiarch option.
        (do_spec_1): Pass -imultiarch if defined.
        (main): Print multiarch.
        (set_multilib_dir): Separate multilib and multiarch names
        from multilib_select.
        (print_multilib_info): Ignore multiarch names in multilib_select.
        * incpath.c (add_standard_paths): Search the multiarch include dirs.
        * cppdefault.h (default_include): Document multiarch in multilib
        member.
        * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
        include directory for multiarch directories.
        * common.opt: New options --print-multiarch and -imultilib.
        * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
        Include i386/t-linux.
        <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
        Include i386/t-kfreebsd.
        <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
        * config/i386/t-linux64: Add multiarch names in
        MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
        * config/i386/t-gnu: New file.
        * config/i386/t-kfreebsd: Likewise.
        * config/i386/t-linux: Likewise.

From-SVN: r193508
2012-11-14 21:29:15 +00:00
Jan Hubicka
46de9f5e37 f95-lang.c (ATTR_NOTHROW_LEAF_MALLOC_LIST): New macro.
* f95-lang.c (ATTR_NOTHROW_LEAF_MALLOC_LIST): New macro.
	(gfc_define_builtin): Use set_call_expr_flags.
	(gfc_init_builtin_functions): Update.

From-SVN: r193507
2012-11-14 21:09:58 +00:00
Jan Hubicka
229a6cdb5a tree.c (set_call_expr_flags): New function.
* tree.c (set_call_expr_flags): New function.
	(local_define_builtin): Use it.
	* tree.h (set_call_expr_flags): Declare.

From-SVN: r193506
2012-11-14 21:08:52 +00:00
Paolo Carlini
3b616f08a6 re PR c++/55323 (ICE in expand_aggr_init_1, at cp/init.c:1718)
/cp
2012-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/55323
	* init.c (emit_mem_initializers): Skip arguments == error_mark_node.

/testsuite
2012-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/55323
	* g++.dg/cpp0x/vt-55323.C: New.

From-SVN: r193505
2012-11-14 20:29:07 +00:00
Fabien Chêne
7628dc541e re PR c++/11750 (class scope using-declaration lookup not implemented)
gcc/testsuite/ChangeLog

2012-11-14  Fabien Chêne  <fabien@gcc.gnu.org>

	PR c++/11750
	* g++.dg/inherit/vitual9.C: New.

gcc/cp/ChangeLog

2012-11-14  Fabien Chêne  <fabien@gcc.gnu.org>

	PR c++/11750
	* call.c (build_new_method_call_1): Check that the instance type
	and the function context are the same before setting the flag
	LOOKUP_NONVIRTUAL.

From-SVN: r193504
2012-11-14 21:12:47 +01:00
Uros Bizjak
ccd025e14c re PR target/47440 (Use LCM for vzeroupper insertion)
PR target/47440
	* config/i386/i386.c (gate_insert_vzeroupper): New function.
	(rest_of_handle_insert_vzeroupper): Ditto.
	(struct rtl_opt_pass pass_insert_vzeroupper): New.
	(ix86_option_override): Register vzeroupper insertion pass here.
	(ix86_check_avx256_register): Handle SUBREGs properly.
	(ix86_init_machine_status): Remove optimize_mode_switching[AVX_U128]
	initialization.

From-SVN: r193503
2012-11-14 17:47:29 +01:00
David Edelsohn
9e81cc8bde configure.ac (HAVE_LD_LARGE_TOC): Add AIX test.
* configure.ac (HAVE_LD_LARGE_TOC): Add AIX test.
        * configure: Regenerated.
        * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Warn if
        other toc options used with cmodel. Disable TARGET_NO_FP_IN_TOC
        and TARGET_NO_SUM_IN_TOC if not CMODEL_SMALL. CMODEL_MEDIUM means
        CMODEL_LARGE on AIX.
        (ASM_SPEC): -mvsx implies -mpwr6. Add -many.
        (ASM_DEFAULT_SPEC): Use -mpwr4.
        (TARGET_CMODEL): Define.
        (SET_CMODEL): Define.
        * config/rs6000/rs6000.md (largetoc_high_aix<mode>): New.
        (largetoc_high_plus_aix<mode>): New.
        (largetoc_low<mode>): Change to mode iterator. Test TARGET_TOC
        instead of TARGET_ELF.
        (tocref): Remove TARGET_ELF test.
        * config/rs6000/rs6000.c (output_toc): Use [TE] for large TOC
        symbols on AIX.
        * config/rs6000/aix64.opt (mcmodel): New.

From-SVN: r193502
2012-11-14 11:41:21 -05:00
Andreas Tobler
4a3d0b10a2 i386.c (ix86_get_function_versions_dispatcher): Guard variables with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION...
2012-11-14  Andreas Tobler  <andreast@fgznet.ch>

	* config/i386/i386.c (ix86_get_function_versions_dispatcher): Guard
	variables with ASM_OUTPUT_TYPE_DIRECTIVE and
	HAVE_GNU_INDIRECT_FUNCTION where needed.

From-SVN: r193501
2012-11-14 16:55:50 +01:00
H.J. Lu
4a56a7be3d Check __x86_64__ instead of __WORDSIZE
PR other/55292
	Backport from upstream revision 167883
	* sanitizer_common/sanitizer_linux.cc (internal_mmap): Check
	__x86_64__ instead of __WORDSIZE.
	(internal_filesize): Likwise.

From-SVN: r193500
2012-11-14 05:45:56 -08:00
H.J. Lu
4053ca2c6f Don't set AC_CONFIG_AUX_DIR
* configure.ac (AC_CONFIG_AUX_DIR): Removed.
	* Makefile.in: Regenerated.
	* configure: Likewise.

From-SVN: r193499
2012-11-14 04:21:28 -08:00
H.J. Lu
9d10e4f5fd Rename libsanitizer/ChangeLog.asan to libsanitizer/ChangeLog
From-SVN: r193498
2012-11-14 03:41:10 -08:00
H.J. Lu
451a210d0f Update libsanitizer generated files
* gcc_update: Update libsanitizer generated files.

From-SVN: r193497
2012-11-14 03:09:00 -08:00
GCC Administrator
286e9ca974 Daily bump.
From-SVN: r193494
2012-11-14 00:18:21 +00:00
H.J. Lu
a2479b3dd0 Update configure.ac for GCC tree and remove unused files
PR other/55304
	* acinclude.m4: New file.
	* Makefile.am (ACLOCAL_AMFLAGS): New.
	* configure.ac (AC_PREREQ): Set to 2.64.
	(AC_CONFIG_AUX_DIR): Set to "..".
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

	* config.guess: Removed.
	* config.sub: Likewise.
	* depcomp: Likewise.
	* install-sh: Likewise.
	* ltmain.sh: Likewise.
	* missing: Likewise.

From-SVN: r193491
2012-11-13 16:02:12 -08:00
Ian Lance Taylor
da0aa2ccc0 common.opt (fPIC, [...]): Create a Negative loop such that any of these options disables the others.
* common.opt (fPIC, fPIE, fpic, fpie): Create a Negative loop such
	that any of these options disables the others.

From-SVN: r193489
2012-11-13 23:03:56 +00:00
Richard Henderson
93bf539055 Move libsanitizer configure logic to subdirectory
From-SVN: r193487
2012-11-13 14:19:44 -08:00
Sriraman Tallam
beb42d2022 cgraph.c (insert_new_cgraph_node_version): Use cgraph_get_node instead of cgraph_get_create_node.
2012-11-13  Sriraman Tallam  <tmsriram@google.com>

	* cgraph.c (insert_new_cgraph_node_version): Use cgraph_get_node
	instead of cgraph_get_create_node.
	* config/i386/i386.c (ix86_get_function_versions_dispatcher): Move ifunc
	not supported code to the end.

	* class.c (mark_versions_used): Remove.
	(resolve_address_of_overloaded_function): Call target hook
	for versioned functions. Refactor to call
	get_function_versions_dispatcher.
	* decl.c (duplicate_decls): Add comments.
	* cp/call.c (get_function_version_dispatcher): Expose function.
	(mark_versions_used): Expose function.
	* cp/cp-tree.h (mark_versions_used): New declaration.
	(get_function_version_dispatcher): Ditto.

	* testsuite/g++.dg/mv4.C: Add require ifunc. Change error message.
	* testsuite/g++.dg/mv5.C: Add require ifunc.
	* testsuite/g++.dg/mv6.C: Add require ifunc.

From-SVN: r193486
2012-11-13 21:56:30 +00:00