Commit Graph

136505 Commits

Author SHA1 Message Date
Jonathan Wakely
7f971f18e4 codecvt.cc (write_utf16_code_point): Fix code to output surrogate pairs.
* src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
	surrogate pairs.
	(utf16_in): Pass mode argument to write_utf16_code_point.
	(codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
	native byte order.
	* testsuite/22_locale/codecvt/char16_t.cc: New.
	* testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.

From-SVN: r220793
2015-02-18 19:39:03 +00:00
H.J. Lu
b0ddb385f0 Return false for common symbols in sdata_symbolic_operand
Although common symbols are defined in executables, they aren't in small
data section.  But a definition in small data section overrides a common
symbol, which still binds lcoally, and turns a reference to common symbol
to reference to small data section.  Even if ia64_in_small_data_p returns
true on common symbols, sdata_symbolic_operand must return false on common
symbols.  Common symbols are assumed to be placed in small data section,
but are accessed as if they are in normal data section so that they won't
cause any relocation overflow.

	PR target/65064
	* config/ia64/predicates.md (sdata_symbolic_operand): Return false
	for common symbols.

From-SVN: r220792
2015-02-18 09:24:20 -08:00
Jakub Jelinek
2d64d38c98 t-intelmic (mkoffload.o): Remove dependency on insn-modes.h.
* config/i386/t-intelmic (mkoffload.o): Remove dependency on
	insn-modes.h.
	(ALL_HOST_OBJS): Add mkoffload.o.
	* config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.

From-SVN: r220791
2015-02-18 17:38:29 +01:00
Jan Hubicka
88b1650888 ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
* ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
	(compare_virtual_tables): Be smarter about skipping typeinfos;
	do sane output on virtual table table mismatch.
	(warn_odr): Be ready for forward declarations of enums;
	output sane info on base mismatch and virtual table mismatch.
	(add_type_duplicate): Fix code choosing prevailing type; do not ICE
	when only one type is polymorphic.
	(get_odr_type): Fix hashtable corruption.
	(dump_odr_type): Dump mangled names.

From-SVN: r220790
2015-02-18 16:12:52 +00:00
Ilya Tocar
196904d813 target.c (gomp_load_plugin_for_device): Use const char * instead of char * for variables holding dlerror return values.
libgomp/

* target.c (gomp_load_plugin_for_device): Use const char * instead of
char * for variables holding dlerror return values.
(DLSYM_OPT): Ditto.

From-SVN: r220789
2015-02-18 16:33:43 +03:00
Richard Biener
8039a35df1 re PR tree-optimization/65063 (gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize)
2015-02-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65063
	* tree-predcom.c (determine_unroll_factor): Return 1 if we
	have replaced looparound PHIs.

	* gcc.dg/pr65063.c: New testcase.

From-SVN: r220788
2015-02-18 13:08:58 +00:00
Martin Liska
0c28944fc0 Add checking macro within lto_streamer_init.
* lto-streamer.c (lto_streamer_init): Encapsulate
	streamer_check_handled_ts_structures with checking macro.

From-SVN: r220787
2015-02-18 12:12:50 +00:00
Jakub Jelinek
4ab26ee022 re PR ipa/65087 (r220742 causes: ICE: in ipcp_verify_propagated_values, at ipa-cp.c:1057)
PR ipa/65087
	* cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
	section if !implicit_section.
	(cgraph_node::create_version_clone_with_body): Likewise.
	* trans-mem.c (ipa_tm_create_version): Likewise.

From-SVN: r220786
2015-02-18 12:37:02 +01:00
Richard Biener
6f423f4c89 re PR tree-optimization/62217 (DOM confuses complete unrolling which in turn causes VRP to warn)
2015-02-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62217
	* tree-ssa-dom.c (cprop_operand): Avoid propagating copies
	into BIVs.

	* gcc.dg/tree-ssa/cunroll-11.c: New testcase.

From-SVN: r220785
2015-02-18 09:48:57 +00:00
Marek Polacek
c7400e2fec re PR sanitizer/65081 (-fsanitize=object-size fails with simple pointer arithm)
PR sanitizer/65081
	* ubsan.c (OBJSZ_MAX_OFFSET): Define.
	(ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
	is in range [-16K, -1].  Don't issue run-time error if
	(ptr > ptr + offset).

	* c-c++-common/ubsan/pr65081.c: New test.

From-SVN: r220784
2015-02-18 09:46:59 +00:00
Thomas Schwinge
d77052881b Begin documenting the nvptx backend.
gcc/
	* doc/install.texi (nvptx-*-none): New section.
	* doc/invoke.texi (Nvidia PTX Options): Likewise.
	* config/nvptx/nvptx.opt: Update.

From-SVN: r220783
2015-02-18 09:31:18 +01:00
Thomas Schwinge
865fc32a92 nvptx mkoffload: For non-installed testing, look in all COMPILER_PATHs for GCC_INSTALL_NAME.
gcc/
	* config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
	(access_check): New functions, copied from
	config/i386/intelmic-mkoffload.c.
	(main): For non-installed testing, look in all COMPILER_PATHs for
	GCC_INSTALL_NAME.

From-SVN: r220782
2015-02-18 09:17:32 +01:00
Thomas Schwinge
8ae12d71c4 nvptx-none: Disable the lto-plugin.
config/
	* elf.m4 (ACX_ELF_TARGET_IFELSE): nvptx-*-none isn't ELF.
	/
	* configure: Regenerate.

From-SVN: r220781
2015-02-18 09:01:03 +01:00
Thomas Schwinge
8747dd6e13 nvptx-none: Define empty GOMP_SELF_SPECS.
Otherwise, offloading with -fopenacc or -fopenmp active will run into:

    x86_64-unknown-linux-gnu-accel-nvptx-none-gcc: error: unrecognized command line option '-pthread'

	gcc/
	* config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.

From-SVN: r220780
2015-02-18 08:45:42 +01:00
Andrew Pinski
e6f7f0e951 aarch64.c (*aarch64_load_symref_appropriately): Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
* config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
	Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.


Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>

From-SVN: r220779
2015-02-18 04:40:10 +00:00
GCC Administrator
17d32dee97 Daily bump.
From-SVN: r220778
2015-02-18 00:16:11 +00:00
Jan Hubicka
1ede94c559 ipa-visibility.c (function_and_variable_visibility): Only check locality if node is not already local.
* ipa-visibility.c (function_and_variable_visibility): Only
	check locality if node is not already local.
	* ipa-inline.c (want_inline_function_to_all_callers_p): Use
	call_for_symbol_and_aliases instead of
	call_for_symbol_thunks_and_aliases.
	(ipa_inline): Likewise.
	* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
	first walk aliases.
	* ipa.c (symbol_table::remove_unreachable_nodes): Use
	call_for_symbol_and_aliases.
	* ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
	(ipa_propagate_frequency_1): Use it; use opt_for_fn
	(ipa_propagate_frequency): Update.
	(ipa_profile): Add opt_for_fn gueards.

From-SVN: r220775
2015-02-17 21:57:53 +00:00
Oleg Endo
f05911fb07 sh.opt (mcbranch-force-delay-slot): New option.
gcc/
	* config/sh/sh.opt (mcbranch-force-delay-slot): New option.
	* doc/invoke.texi (SH options): Document it.
	* config/sh/sh.c (sh_insn_length_adjustment): Check
	TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.

gcc/testsuite/
	* gcc.target/sh/sh.exp (check_effective_target_sh1): New.
	* gcc.target/sh/force-cbranch-delay-slot.c: New.

From-SVN: r220774
2015-02-17 21:38:12 +00:00
H.J. Lu
3c99176a7f Add -fipa-cp-alignment
This patch adds -fipa-cp-alignment to provide a way to enable/disable
alignment discovery and propagation in IPA-CP.

gcc/

	* common.opt (fipa-cp-alignment): New.
	* ipa-cp.c (ipcp_store_alignment_results): Check
	flag_ipa_cp_alignment.
	* opts.c (default_options_table): Enable -fipa-cp-alignment for
	-O2.
	(enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
	* doc/invoke.texi: Document -fipa-cp-alignment.

gcc/testsuite/

	* gcc.dg/ipa/propalign-3.c: New test.

From-SVN: r220773
2015-02-17 13:25:56 -08:00
Oleg Endo
d420206ea5 re PR target/64793 ([SH] missed delay slot)
gcc/
	PR target/64793
	* config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
	to nil.  Adjust comments.

gcc/testsuite/
	PR target/64793
	* gcc.target/sh/pr64793.c: New.
	* gcc.target/sh/pr51244-20-sh2a.c: Adjust expected cmp/gt insn count.

From-SVN: r220772
2015-02-17 21:08:24 +00:00
Jan Hubicka
1379ce8faf ipa-visibility.c (function_and_variable_visibility): Only check locality if node is not already local.
* ipa-visibility.c (function_and_variable_visibility): Only
	check locality if node is not already local.
	* ipa-inline.c (want_inline_function_to_all_callers_p): Use
	call_for_symbol_and_aliases instead of
	call_for_symbol_thunks_and_aliases.
	(ipa_inline): Likewise.
	* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
	first walk aliases.
	* ipa.c (symbol_table::remove_unreachable_nodes): Use
	call_for_symbol_and_aliases.
	* ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
	(ipa_propagate_frequency_1): Use it; use opt_for_fn
	(ipa_propagate_frequency): Update.
	(ipa_profile): Add opt_for_fn guards.

From-SVN: r220771
2015-02-17 20:58:43 +00:00
Thomas Schwinge
a2818955d7 libgomp: Make GOMP_PLUGIN_debug actually work...
libgomp/
	* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.

From-SVN: r220770
2015-02-17 19:24:07 +01:00
Thomas Schwinge
6f3c1d38bf nvptx mkoffload: Fix logic error in skipping of "strange" tokens.
gcc/
	* config/nvptx/mkoffload.c (parse_file): Fix logic error in
	skipping of "strange" tokens.

From-SVN: r220769
2015-02-17 19:13:32 +01:00
Thomas Schwinge
26f9331258 libgomp: Make nvptx helper routines self-contained.
libgomp/
	* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
	GOACC_ctaid, and GOACC_nctaid routines.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r220768
2015-02-17 19:05:24 +01:00
Sandra Loosemore
53cfb467cf bpabi.S (test_div_by_zero): Make label names consistent between thumb2 and arm mode cases.
2015-02-17  Sandra Loosemore  <sandra@codesourcery.com>

	libgcc/
	* config/arm/bpabi.S (test_div_by_zero): Make label names
	consistent between thumb2 and arm mode cases.  Separate the
	signed comparison on the high word of the numerator from the
	unsigned comparison on the low word.
	* config/arm/bpabi-v6m.S (test_div_by_zero): Similarly separate
	signed comparison.

	gcc/testsuite/
	* gcc.target/arm/divzero.c: New test case.

From-SVN: r220765
2015-02-17 12:39:22 -05:00
Joseph Myers
77d10a1b20 Avoid dependence on libc headers in nvptx realloc.
* config/nvptx/realloc.c: Include <stddef.h> instead of <stdlib.h>
	and <string.h>.
	(__nvptx_realloc): Call __builtin_memcpy instead of memcpy.

From-SVN: r220764
2015-02-17 16:19:56 +00:00
Jeff Law
1d93fa5c1b tree-vrp.c (identify_jump_threads): Use last_stmt.
* tree-vrp.c (identify_jump_threads): Use last_stmt.  Remove
        obsolete comment.

From-SVN: r220763
2015-02-17 08:32:05 -07:00
Daniel Richard G.
ba5b5e2431 Change stdlib.h base, not inttypes.h
From-SVN: r220761
2015-02-17 09:45:48 -05:00
Rüdiger Sonderfeld
fb96818737 char32_t.cc: New.
2015-02-17  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
	    Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/22_locale/codecvt/char32_t.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r220760
2015-02-17 14:25:48 +00:00
Alan Lawrence
09008d80b6 Correct ChangeLog entry (2015-02-04)
From-SVN: r220759
2015-02-17 14:08:59 +00:00
Jonathan Wakely
faa7d78e41 re PR libstdc++/65085 (Move-assigned empty string corrupt with -D_GLIBCXX_USE_CXX11_ABI=1)
PR libstdc++/65085
	* include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
	empty string gets null-terminated.
	* testsuite/21_strings/basic_string/cons/char/65085.cc: New.

From-SVN: r220758
2015-02-17 12:44:26 +00:00
Tom de Vries
06e6dc291c Add gcc.target/x86_64/abi/callabi/vaarg-6.c
2015-02-17  Tom de Vries  <tom@codesourcery.com>

	* gcc.target/x86_64/abi/callabi/vaarg-6.c: New test.

From-SVN: r220757
2015-02-17 11:42:26 +00:00
James Greenhalgh
61a17dcaf2 [Haifa Scheduler] Fix latent bug in macro-fusion/instruction grouping
gcc/

	* haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
	as forcing a HARD_DEP between instructions, thereby
	disallowing rewriting to break dependencies.

From-SVN: r220751
2015-02-17 09:19:33 +00:00
Jan Hubicka
87be7f0cbb symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
* symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
	* lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
	variables in boundary that have no inlitalizer encoded and are
	not aliases.
	* varasm.c (default_binds_local_p_2): External definitions do not
	count as definitions here.

From-SVN: r220749
2015-02-17 08:58:37 +00:00
Paolo Carlini
4414e22eee re PR c++/65075 (constexpr regression)
PR c++/65075
	* constexpr.c (check_constexpr_bind_expr_vars): Allow
	implicit typedefs for lambda types.

	* g++.dg/cpp0x/pr65075.C: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r220748
2015-02-17 09:25:30 +01:00
GCC Administrator
524d87f3a5 Daily bump.
From-SVN: r220747
2015-02-17 00:16:12 +00:00
David Edelsohn
242789de09 re PR target/65058 (AIX: missing extern decorations "[DS]" for functions and "[UA]" for variables)
PR target/65058
        * gcc.target/powerpc/pr65058.c: New test.

From-SVN: r220744
2015-02-16 18:03:33 -05:00
Jeff Law
215f8d9eb3 re PR tree-optimization/64823 (false "may be used uninitialized", missed jump threading)
PR tree-optimization/64823
	* tree-vrp.c (identify_jump_threads): Handle blocks with no real
	statements.
	* tree-ssa-threadedge.c (potentially_threadable_block): Allow
	threading through blocks with PHIs, but no statements.
	(thread_through_normal_block): Distinguish between blocks where
	we did not process all the statements and blocks with no statements.

	PR tree-optimization/64823
	* gcc.dg/uninit-20.c: New test.

From-SVN: r220743
2015-02-16 13:56:55 -07:00
Jakub Jelinek
ed89033d7c re PR ipa/64963 (IPA Cloning/Splitting does not copy function section attributes resulting in kernel miscompilation)
PR ipa/64963
	* cgraphclones.c (cgraph_node::create_virtual_clone): Copy
	section if not linkonce.  Fix up formatting.
	(cgraph_node::create_version_clone_with_body): Copy section.
	* trans-mem.c (ipa_tm_create_version): Likewise.

	* gcc.dg/ipa/ipa-clone-1.c: New test.

Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>

From-SVN: r220742
2015-02-16 20:22:57 +01:00
Richard Biener
7b909872f1 re PR tree-optimization/65077 (memcpy generates incorrect code with floating point numbers and -O1)
2015-02-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65077
	* tree-ssa-structalias.c (get_constraint_for_1): Handle
	IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
	(find_func_aliases): Allow float values to carry pointers again.

	* gcc.dg/torture/pr65077.c: New testcase.

From-SVN: r220741
2015-02-16 18:15:19 +00:00
Alex Velenko
3f880d38dc atomic-op-consume.c (scan-assember-times): Directive adjusted to scan for ldaxr.
gcc/testsuite/

	* gcc.target/aarch64/atomic-op-consume.c (scan-assember-times):
	Directive adjusted to scan for ldaxr.
	* gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive
	adjusted to scan for ldaex.

From-SVN: r220740
2015-02-16 18:12:10 +00:00
Paolo Carlini
205c0affca re PR c++/65080 (constexpr-ness lost by using alias in definition)
2015-02-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65080
	* g++.dg/cpp0x/constexpr-65080.C: New.

From-SVN: r220739
2015-02-16 17:48:08 +00:00
James Greenhalgh
4fb1c8f97a [Patch docs obvious] install.texi: Put aarch64 back in alphabetical order, add link
gcc/

	* doc/install.texi (Specific): Reorder targets list to put
	aarch64 in alphabetical order.  Add a link to aarch64*-*-*
	from the top menu.

From-SVN: r220738
2015-02-16 16:28:16 +00:00
David Edelsohn
403697abae [multiple changes]
2015-02-16  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
            David Edelsohn  <dje.gcc@gmail.com>

        PR target/65058
        * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
        mapping class to external variable or function reference.
        * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
        mapping class.

2015-02-16  David Eelsohn  <dje.gcc@gmail.com>

        PR target/53348
        * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
        ASM_WEAKEN_DECL if defined.

From-SVN: r220737
2015-02-16 10:33:09 -05:00
Daniel Richard G.
266c722faf Daniel Richard G.
Daniel Richard G. <skunk@iskunk.org>
        PR bootstrap/48009
        PR bootstrap/53348
        * inclhack.def (aix_strtof_const): New fix.
        * fixincl.x: Regenerate.
        * tests/base/inttypes.h: New test.

From-SVN: r220736
2015-02-16 10:19:20 -05:00
Richard Biener
2d4df88383 re PR lto/65015 (LTO produces randomly ordered debug information)
2015-02-16  Richard Biener  <rguenther@suse.de>

	PR lto/65015
	* varasm.c (default_file_start): For LTO produced units
	emit <artificial> as file directive.

From-SVN: r220735
2015-02-16 14:53:23 +00:00
Richard Biener
a933d47ffa re PR tree-optimization/63593 (ICE: verify_gimple failed: incompatible types in PHI argument 0 with -O3 -fno-tree-vectorize)
2015-02-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/63593
	* tree-predcom.c (execute_pred_commoning_chain): Delay removing
	stmts and releasing SSA names until...
	(execute_pred_commoning): ... after processing all chains.

	* gcc.dg/pr63593.c: New testcase.

From-SVN: r220734
2015-02-16 14:52:14 +00:00
Jan Hubicka
62991c35a8 re PR ipa/65059 (Chrome LTO: lto1: internal compiler error: in ipa_comdats, at ipa-comdats.c:360)
Fix PR ipa/65059.

	PR ipa/65059
	* ipa-comdats.c (ipa_comdats): Do not categorize thunks to
	external functions.

From-SVN: r220733
2015-02-16 12:28:40 +00:00
Marek Polacek
3d5cb23da1 re PR c/65066 (ICE: Segmentation fault with -Wformat=2)
PR c/65066
	* c-format.c (check_format_types): Handle null param.

	* gcc.dg/pr65066.c: New test.

From-SVN: r220732
2015-02-16 11:16:33 +00:00
Ilya Enkovich
d39023b4d5 pr65002.C: Move ...
gcc/testsuite/

	* gcc.dg/pr65002.C: Move ...
	* g++.dg/ipa/pr65002.C: ... here.

From-SVN: r220731
2015-02-16 10:03:26 +00:00