Commit Graph

140365 Commits

Author SHA1 Message Date
Francois-Xavier Coudert a139f28147 * libgfortran.h (check_buffered): Remove unused prototype.
From-SVN: r227174
2015-08-25 15:26:02 +00:00
Thomas Schwinge db8d09191c Expand comment on struct switchstr.
This patch, extracted from a larger change on gomp-4_0-branch, expands
a comment documenting struct switchstr in gcc.c.

2015-08-25  Thomas Schwinge  <thomas@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* gcc.c (struct switchstr): Expand comment.

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

From-SVN: r227173
2015-08-25 15:53:24 +01:00
Nathan Sidwell 1fe6befc36 nvptx.c (nvptx_write_function_decl): Reformat.
* config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
	(nvptx_reorg_subreg): Pass insn pattern to asm_operands.

From-SVN: r227169
2015-08-25 14:06:39 +00:00
Richard Biener e4cdf6a8c5 re PR tree-optimization/67306 (Patterns ICEs when moved using "simplify and match")
2015-08-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/67306
	* genmatch.c (expr::gen_transform): Verify the result of
	builtin_decl_implicit.
	(dt_simplify::gen_1): Likewise.

From-SVN: r227163
2015-08-25 10:29:09 +00:00
Thomas Preud'homme e36dbdfe55 constraints.md: Also list Cs and US ARM-specific constraints as used.
2015-08-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * config/arm/constraints.md: Also list Cs and US ARM-specific
    constraints as used.

From-SVN: r227162
2015-08-25 08:50:53 +00:00
Christian Bruel d5ef2c2109 gcc.dg/Wno-frame-address.c: Skip for ARM.
g++.dg/Wno-frame-address.C: Ditto.

From-SVN: r227161
2015-08-25 09:49:54 +02:00
Ian Lance Taylor e3552bf9f0 compiler: Type check params in sink function decl.
When a function is declared and named with the blank identifier, only
    the syntax is checked.  This patch modifies the parser to add a dummy
    node for each function declaration with a blank identifier name that
    will be type checked like any function declaration.
    
    Fixes golang/go#11535.
    
    Reviewed-on: https://go-review.googlesource.com/13792

From-SVN: r227160
2015-08-25 03:48:35 +00:00
GCC Administrator cd0fea2ba9 Daily bump.
From-SVN: r227159
2015-08-25 00:16:11 +00:00
Kaz Kojima fbce972ab3 re PR target/66609 ([sh] Relative address expressions bind at as-time, even if symbol is weak)
PR target/66609
* [SH] Take into account weak symbols for pc relative calls/sibcalls.

From-SVN: r227155
2015-08-24 23:23:00 +00:00
Aditya Kumar 2a611178d5 Specify the type of scop->region
Changing the type of scop::region from void* to sese, as this is
the only type assigned to scop::region for now. No functional changes intended.
Passes regtest and bootstrap.

gcc/ChangeLog:

2015-08-17  Aditya Kumar  <aditya.k7@samsung.com>

        * graphite-poly.c: Change type of region from void* to sese.
        * graphite-poly.h (struct scop): Changing the type of scop::region
	from void* to sese. Change accessor macro accordingly.
        * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.

From-SVN: r227151
2015-08-24 20:53:51 +00:00
Aditya Kumar 9ead801e4d Constrain only on INTEGER_TYPE
Passes bootstrap, no regressions.

With this patch gcc bootstraps with graphite.
make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange -floop-block"

gcc/ChangeLog:

2015-08-12  Aditya Kumar  <hiraditya@msn.com>

        * graphite-scop-detection.c (stmt_simple_for_scop_p):
	Constrain only on INTEGER_TYPE

From-SVN: r227150
2015-08-24 20:50:12 +00:00
François Dumont 41e4e5edce formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.
2015-08-24  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
	New enum entry.
	* include/debug/functions.h (_Irreflexive_checker): New.
	(__is_irreflexive, __is_irreflexive_pred): New.
	* include/debug/macros.h
	(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
	macros.
	(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
	macros limited to post-C++11 mode.
	* include/debug/debug.h
	(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
	New macros, use latter.
	(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
	Likewise.
	* include/bits/stl_algo.h
	(partial_sort_copy): Add irreflexive debug check.
	(partial_sort_copy): Likewise.
	(lower_bound): Likewise.
	(upper_bound): Likewise.
	(equal_range): Likewise.
	(binary_search): Likewise.
	(inplace_merge): Likewise.
	(includes): Likewise.
	(next_permutation): Likewise.
	(prev_permutation): Likewise.
	(is_sorted_until): Likewise.
	(minmax_element): Likewise.
	(partial_sort): Likewise.
	(nth_element): Likewise.
	(sort): Likewise.
	(merge): Likewise.
	(stable_sort): Likewise.
	(set_union): Likewise.
	(set_intersection): Likewise.
	(set_difference): Likewise.
	(set_symmetric_difference): Likewise.
	(min_element): Likewise.
	(max_element): Likewise.
	* include/bits/stl_algobase.h
	(lower_bound): Likewise.
	(lexicographical_compare): Likewise.
	* include/bits/stl_heap.h
	(push_heap): Likewise.
	(pop_heap): Likewise.
	(make_heap): Likewise.
	(sort_heap): Likewise.
	(is_heap_until): Likewise.
	* testsuite/25_algorithms/lexicographical_compare/debug/
	irreflexive_neg.cc: New.
	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
	* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
	New.

From-SVN: r227147
2015-08-24 20:21:57 +00:00
Ulrich Weigand 1b533361da configure.ac: Set have_mmap to no on spu-*-* targets.
* configure.ac: Set have_mmap to no on spu-*-* targets.
	* configure: Regenerate.

From-SVN: r227145
2015-08-24 18:48:28 +00:00
Michael Meissner 74457d003e re PR target/67211 (ICE (insn does not satisfy its constraints) on powerpc64le-linux-gnu)
[gcc]
2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/67211
	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
	-mefficient-unaligned-vsx on ISA 2.7.

	* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
	option to a masked option.

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
	logic for -mefficient-unaligned-vsx so that it is set via an arch
	ISA option, instead of being set if -mtune=power8 is set. Move
	-mefficient-unaligned-vsx and -mallow-movmisalign handling to be
	near other default option handling.

[gcc/testsuite]
2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/67211
	* g++.dg/pr67211.C: New test.

From-SVN: r227144
2015-08-24 18:43:02 +00:00
Richard Sandiford 58d745ec90 genflags.c (gen_macro): Delete.
gcc/
	* genflags.c (gen_macro): Delete.
	(gen_proto): Don't create GEN.*CALL.* macros.
	* gensupport.h (get_file_location): Declare.
	* gensupport.c (rtx_locs): New variable.
	(read_md_rtx): Record rtx locations.
	(get_file_location): New function.
	* target-insns.def (call, call_pop, call_value, call_value_pop)
	(sibcall, sibcall_value): New patterns.
	* gentarget-def.c (parse_argument): New function.
	(def_target_insn): Use it.  Handle optional operands.  Raise an
	error if an .md pattern has the wrong number of operands for the
	pattern name.  Remove the names of unused operands from the prototype.
	* builtins.c (expand_builtin_apply): Use targetm functions
	instead of HAVE_call_value and GEN_CALL_VALUE.
	* calls.c (emit_call_1): Likewise.  Remove support for sibcall_pop
	and sibcall_value_pop.
	* config/aarch64/aarch64.md (untyped_call): Use gen_call instead
	of GEN_CALL.
	* config/alpha/alpha.md (untyped_call): Likewise.
	* config/iq2000/iq2000.md (untyped_call): Likewise.
	* config/m68k/m68k.md (untyped_call): Likewise.
	* config/mips/mips.md (untyped_call): Likewise.
	* config/pa/pa.md (untyped_call): Likewise.
	* config/rs6000/rs6000.md (untyped_call): Likewise.
	* config/sparc/sparc.md (untyped_call): Likewise.
	* config/tilegx/tilegx.md (untyped_call): Likewise.
	* config/tilepro/tilepro.md (untyped_call): Likewise.
	* config/visium/visium.md (untyped_call): Likewise.
	* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
	gen_call_value instead of GEN_CALL_VALUE.
	* config/arm/arm.md (untyped_call): Likewise.
	* config/cr16/cr16.c (cr16_function_arg): Remove reference to
	GEN_CALL.

From-SVN: r227143
2015-08-24 17:59:51 +00:00
Richard Sandiford 651159e5d6 ifcvt.c (HAVE_incscc, [...]): Delete.
gcc/
	* ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
	(have_cbranchcc4): New variable.
	(cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
	(noce_get_condition): Use it instead of HAVE_cbranchcc4.
	(if_convert): Initialize have_cbranchcc4.

From-SVN: r227142
2015-08-24 17:59:31 +00:00
Richard Sandiford 7f9f48bede builtins.c (expand_cmpstrn): Rename to...
gcc/
	* builtins.c (expand_cmpstrn): Rename to...
	(expand_cmpstrn_or_cmpmem): ...this.
	(expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
	(expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
	Remove mode argument.
	(expand_builtin): Update accordingly.

From-SVN: r227141
2015-08-24 17:59:19 +00:00
Richard Sandiford a666df609a builtins.c (expand_cmpstr, [...]): New functions.
gcc/
	* builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
	(expand_builtin_strcmp, expand_builtin_strncmp): Use them.  Remove
	references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
	* config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
	Add predicates for operands 0 and 3.
	* config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
	operand.
	* config/sh/sh.md (cmpstrnsi): Change the length predicate from
	immediate_operand to nonmemory_operand.

From-SVN: r227140
2015-08-24 17:59:07 +00:00
Richard Sandiford 762613be3e df-scan.c (df_insn_info_init_fields): New function, split out from...
gcc/
	* df-scan.c (df_insn_info_init_fields): New function, split out
	from...
	(df_insn_create_insn_record): ...here.
	(df_insn_info_free_fields): New function, split out from...
	(df_insn_info_delete): ...here.
	(df_insn_rescan): Use the new functions instead of freeing and
	reallocating the df_insn_info.

From-SVN: r227139
2015-08-24 17:58:42 +00:00
Francois-Xavier Coudert 50b43b866a * doc/install.texi (Binaries): Remove links no longer valid.
From-SVN: r227138
2015-08-24 17:52:34 +00:00
Nathan Sidwell 2a21ff193a libgomp.map: Add 4.0.2 version.
libgomp/
	* libgomp.map: Add 4.0.2 version.
	* target.c (offload_image_descr): Add version field.
	(gomp_load_image_to_device): Add version argument.  Adjust plugin
	call.  Improve load mismatch diagnostic.
	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
	call.
	(GOMP_offload_regster): Make stub function, move bulk to ...
	(GOMP_offload_register_ver): ... here.  Process version argument.
	(GOMP_offload_unregister): Make stub function, move bulk to ...
	(GOMP_offload_unregister_ver): ... here.  Process version argument.
	(gomp_init_device): Process version field.
	(gomp_unload_device): Process version field.
	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
	macros.  Check plugin version.
	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
	loader and unloader types.
	* oacc-host.c: Include gomp-constants.h.
	(host_version): New.
	(host_load_image, host_unload_image): Adjust.
	(host_dispatch): Add host_version.
	* plugin/plugin-nvptx.c: Include gomp-constants.h.
	(GOMP_OFFLOAD_version): New.
	(GOMP_OFFLOAD_load_image): Add version arg and check it.
	(GOMP_OFFLOAD_unload_image): Likewise.
	* plugin/plugin-host.c: Include gomp-constants.h.
	(GOMP_OFFLOAD_version): New.
	(GOMP_OFFLOAD_load_image): Add version arg.
	(GOMP_OFFLOAD_unload_image): Likewise.

	liboffloadmic/
	* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_version): New.
	(GOMP_OFFLOAD_load_image): Add version arg and check it.
	(GOMP_OFFLOAD_unload_image): Likewise.

	include/
	* gomp-constants.h (GOMP_VERSION, GOMP_VERSION_NVIDIA_PTX,
	GOMP_VERSION_INTEL_MIC): New.
	(GOMP_VERSION_PACK, GOMP_VERSION_LIB, GOMP_VERSION_DEV): New.

	gcc/
	* config/nvptx/mkoffload.c (process): Replace
	GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.

From-SVN: r227137
2015-08-24 17:10:06 +00:00
Francois-Xavier Coudert 5cdf54b765 re PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with -ffpe-trap=overflow)
PR libfortran/57496
	* io/write_float.def: Use built-in type-generic functions defined
	by libgfortran.h for isfinite, isnan, and signbit.

From-SVN: r227136
2015-08-24 16:31:47 +00:00
Louis Krupp 9f7ba2088e re PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement)
PR fortran/62536
	PR fortran/66175

	* decl.c (gfc_match_end): Clean up nested BLOCKs.
	* parse.c (parse_block_construct): Deal gracefully with cleaned-up
	BLOCKs.

	* gfortran.dg/block_end_error_1.f90: New test.
	* gfortran.dg/blocks_nested_incomplete_1.f90: New test.

From-SVN: r227135
2015-08-24 16:29:59 +00:00
Marek Polacek 2021ff273d re PR tree-optimization/67284 (libgo fails to build on trunk r227015 / *-linux-gnu)
PR tree-optimization/67284
	* go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
	Set TREE_THIS_VOLATILE.
	(Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
	Pass false to the rest of define_builtin calls.

From-SVN: r227134
2015-08-24 16:06:02 +00:00
H.J. Lu 76eed9d920 Add a testcase for PR target/66821
PR target/66821
	* gcc.target/i386/pr66821.c: New test.

From-SVN: r227133
2015-08-24 08:31:02 -07:00
H.J. Lu 03541b0d44 Update MOVE_RATIO cost for IA MCU
This patch updates MOVE_RATIO cost for IA MCU from 6 to 9 so that we
can unroll the loop completely for DOM with -mtune=iamcu.

gcc/

	PR target/67329
	* config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.

gcc/testsuite/

	PR target/67329
	* gcc.target/i386/pr67329.c: New test.

From-SVN: r227132
2015-08-24 08:24:44 -07:00
Tom de Vries 1358a74795 Add libgomp.oacc-c-c++-common/vector-loop.c
2015-08-24  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65468
	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.

From-SVN: r227130
2015-08-24 15:01:44 +00:00
Renlin Li 6ce4364514 [PATCH][ARM]Tighten the conditions for arm_movw, arm_movt.
gcc/

2015-08-24  Renlin Li  <renlin.li@arm.com>

	* config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
	* config/arm/arm.c (arm_valid_symbolic_address_p): Define.
	* config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
	* config/arm/constraints.md ("j"): Add check for high code.

From-SVN: r227129
2015-08-24 14:59:58 +00:00
Nathan Sidwell 55466f20d7 pr49551.c: Needs -fdata-sections.
* gcc/testsuite/gcc.dg/pr49551.c: Needs -fdata-sections.

	* gcc/testsuite/gcc.dg/pr64935-2.c: Needs scheduling.

	* gcc/testsuite/gcc.dg/torture/pr66101.c: Needs nonlocal goto.
	* gcc/testsuite/gcc.dg/torture/pr63738.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/pr64728.c: Likewise.
	* gcc/testsuite/gcc.dg/pr63748.c: Likewise.
	* gcc/testsuite/gcc.dg/20020312-2.c: Likewise.

	* gcc/testsuite/gcc.dg/torture/pr66123.c: Needs label_values.

	* gcc/testsuite/gcc.dg/torture/pr41261.c: Needs profiling.
	* gcc/testsuite/gcc.dg/pr26570.c: Likewise.
	* gcc/testsuite/gcc.dg/pr61776.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c: Likewise.
	* gcc/testsuite/gcc.dg/gomp/pr34610.c: Likewise.
	* gcc/testsuite/gcc.dg/pr54121.c: Likewise.
	* gcc/testsuite/gcc.dg/20050325-1.c: Likewise.
	* gcc/testsuite/gcc.dg/pr66899.c: Likewise.
	* gcc/testsuite/gcc.dg/pr48770.c: Likewise.
	* gcc/testsuite/gcc.dg/pr24225.c: Likewise.

	* gcc/testsuite/gcc.dg/pr27531-1.c: Needs io.
	* gcc/testsuite/gcc.dg/pr44606.c: Likewise.

	* gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c: Needs weak.

	* gcc/testsuite/gcc.dg/pr51990.c: Needs alloca.

	* gcc/testsuite/gcc.misc-tests/options.exp: Disable profiling
	check for nvptx.

From-SVN: r227128
2015-08-24 14:06:12 +00:00
Jonathan Wakely 4a88769c96 re PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>)
PR libstdc++/65049
	* include/bits/char_traits.h (char_traits<char>::compare,
	char_traits<char>::find, char_traits<char>::move,
	char_traits<char>::copy, char_traits<char>::assign): Check for zero
	length.
	(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
	char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
	char_traits<wchar_t>::assign): Likewise.
	(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
	(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
	* include/ext/pod_char_traits.h (char_traits<character<>>::move,
	char_traits<character<>>::copy): Likewise.
	* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
	* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
	New.
	* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
	New.
	* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
	New.

From-SVN: r227127
2015-08-24 14:43:54 +01:00
Jonathan Wakely 3af7efb7d9 re PR libstdc++/67309 (Error compiling with -std=c++11 and -fsingle-precision-constant)
PR libstdc++/67309
	* include/bits/random.tcc
	(poisson_distribution::param_type::_M_initialize): Use max<double>.
	(binomial_distribution::param_type::_M_initialize): Likewise.
	* testsuite/17_intro/headers/c++200x/67309.cc: New.
	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
	redundant header.

From-SVN: r227126
2015-08-24 14:43:36 +01:00
Thomas Schwinge 8e87588a59 Makefile.am (include_src_dir): Set.
* plugin/Makefile.am (include_src_dir): Set.
	[PLUGIN_HOST] (libgomp_plugin_intelmic_la_CPPFLAGS): Use it.
	* plugin/Makefile.in: Regenerate.
	* plugin/libgomp-plugin-intelmic.cpp: Include "gomp-constants.h".

From-SVN: r227125
2015-08-24 13:20:31 +00:00
Tom de Vries 6be5c241bb Optimize expand_omp_for_static_chunk for chunk_size one
2015-08-24  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65468
	* omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
	chunk_size is one.

	* gcc.dg/gomp/static-chunk-size-one.c: New test.

	* testsuite/libgomp.c/static-chunk-size-one.c: New test.

From-SVN: r227124
2015-08-24 13:14:17 +00:00
Nathan Sidwell 7373d132e1 nvptx.c (walk_args_for_param): Revert previous change to nvptx_type_from_mode call.
* config/nvptx/nvptx.c (walk_args_for_param): Revert previous
	change to nvptx_type_from_mode call. Use arg_promotion for both
	split and non-split args.

From-SVN: r227123
2015-08-24 12:43:54 +00:00
Richard Sandiford 7cff0471e4 target-insns.def (movstr): New pattern.
gcc/
	* target-insns.def (movstr): New pattern.
	* builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
	(expand_movstr): Use targetm rather than HAVE_movstr/
	CODE_FOR_movstr.

From-SVN: r227121
2015-08-24 11:13:16 +00:00
Richard Sandiford d26ed7fa67 microblaze.c (microblaze_classify_unspec): Fix cast syntax.
gcc/
	* config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
	cast syntax.

From-SVN: r227120
2015-08-24 11:12:32 +00:00
Joost VandeVondele bfe7ac89a0 re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp)
PR libgomp/66761
        PR libgomp/67303
        * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
        (gomp_iter_guided_next): Idem.
        * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
        (gomp_iter_ull_guided_next): Idem.
        * config/linux/wait.h (do_spin): Idem.

From-SVN: r227119
2015-08-24 11:01:25 +00:00
Yaakov Selkowitz d485982286 Missing parts of fixes for in-tree libiconv
(The previous iconv-related commit missed the config/iconv.m4 change.)

Original description:

This is the second in a series of patches to make a build with an
in-tree GNU libiconv work as designed.

Currently GDB is the only toolchain component which actually uses an
in-tree libiconv.  This patch modifies the common AM_ICONV to use an
in-tree libiconv when present and not already provided by libc.
(GDB's workaround uses an in-tree libiconv even when libc provides
iconv(3); I'm not sure when or why that would be desirable.)

config/ChangeLog:
2015-08-24  Yaakov Selkowitz  <yselkowi@redhat.com>

	* iconv.m4 (AM_ICONV_LINK): Use in-tree libiconv when present.
---
 config/ChangeLog   |  4 +++
 config/iconv.m4    | 47 +++++++++++++++++++++------
 4 files changed, 112 insertions(+), 36 deletions(-)

diff --git a/config/iconv.m4 b/config/iconv.m4
index c5f3579..5f9304a 100644
--- a/config/iconv.m4
+++ b/config/iconv.m4
@@ -7,6 +7,7 @@ dnl that contains a configuration script generated by Autoconf, under
 dnl the same distribution terms as the rest of that program.
 
 dnl From Bruno Haible.
+dnl with modifications to support building with in-tree libiconv
 
 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
 [
@@ -28,24 +29,51 @@ AC_DEFUN([AM_ICONV_LINK],
   dnl accordingly.
   AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
 
-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
+    dnl Add $INCICONV to CPPFLAGS before performing the first check,
+    dnl because if the user has installed libiconv and not disabled its use
+    dnl via --without-libiconv-prefix, he wants to use it. This first
+    dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+    am_save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $INCICONV"
     AC_TRY_LINK([#include <stdlib.h>
 #include <iconv.h>],
       [iconv_t cd = iconv_open("","");
        iconv(cd,NULL,NULL,NULL,NULL);
        iconv_close(cd);],
       am_cv_func_iconv=yes)
+    CPPFLAGS="$am_save_CPPFLAGS"
+
+    if test "$am_cv_func_iconv" != yes && test -d ../libiconv; then
+      for _libs in .libs _libs; do
+        am_save_CPPFLAGS="$CPPFLAGS"
+        am_save_LIBS="$LIBS"
+        CPPFLAGS="$CPPFLAGS -I../libiconv/include"
+        LIBS="$LIBS ../libiconv/lib/$_libs/libiconv.a"
+        AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+          [iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);],
+          INCICONV="-I../libiconv/include"
+          LIBICONV='${top_builddir}'/../libiconv/lib/$_libs/libiconv.a
+          LTLIBICONV='${top_builddir}'/../libiconv/lib/libiconv.la
+          am_cv_lib_iconv=yes
+          am_cv_func_iconv=yes)
+        CPPFLAGS="$am_save_CPPFLAGS"
+        LIBS="$am_save_LIBS"
+        if test "$am_cv_func_iconv" = "yes"; then
+          break
+        fi
+      done
+    fi
+
     if test "$am_cv_func_iconv" != yes; then
+      am_save_CPPFLAGS="$CPPFLAGS"
       am_save_LIBS="$LIBS"
+      CPPFLAGS="$LIBS $INCICONV"
       LIBS="$LIBS $LIBICONV"
       AC_TRY_LINK([#include <stdlib.h>
 #include <iconv.h>],
@@ -54,6 +82,7 @@ AC_DEFUN([AM_ICONV_LINK],
          iconv_close(cd);],
         am_cv_lib_iconv=yes
         am_cv_func_iconv=yes)
+      CPPFLAGS="$am_save_CPPFLAGS"
       LIBS="$am_save_LIBS"
     fi
   ])
@@ -61,12 +90,10 @@ AC_DEFUN([AM_ICONV_LINK],
     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
   fi
   if test "$am_cv_lib_iconv" = yes; then
+    AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
     AC_MSG_CHECKING([how to link with libiconv])
     AC_MSG_RESULT([$LIBICONV])
   else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
     LIBICONV=
     LTLIBICONV=
   fi
-- 
1.9.3

From-SVN: r227118
2015-08-24 10:24:52 +00:00
Andrew Pinski a339a01c96 Remove the hack for AARCH64_EXTRA_TUNE_ALL.
2015-08-24  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-tuning-flags.def: Remove all index to
        AARCH64_EXTRA_TUNING_OPTION.
        * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): New enum.
        (aarch64_extra_tuning_flags): Base the shifted value on the index instead
        of the argument to AARCH64_EXTRA_TUNING_OPTION.
        * config/aarch64/aarch64.c: Remove the last argument to
        AARCH64_EXTRA_TUNING_OPTION.

From-SVN: r227117
2015-08-24 02:56:48 -07:00
GCC Administrator 4fe3a2a110 Daily bump.
From-SVN: r227110
2015-08-24 00:16:14 +00:00
François-Xavier Coudert 52a70ccf61 * ChangeLog: fix previous entry.
From-SVN: r227107
2015-08-23 21:56:46 +00:00
Francois-Xavier Coudert ad4f95e395 re PR libfortran/54572 (Use libbacktrace library)
PR libfortran/54572

	* Makefile.def: Make libgfortran depend on libbacktrace.
	* Makefile.in: Regenerate.

	* config-lang.in: Add libbacktrace to target_libs.

	* Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace.
	(AM_CPPFLAGS): Add libbacktrace directories to include paths.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Remove checks for strtok_r, wait, execve, pipe,
	and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO.
	* libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove
	prototypes.
	(show_backtrace): Add prototype.
	* runtime/backtrace.c: Rework file entirely.
	* runtime/compile_options.c (backtrace_handler): Rename backtrace
	to show_backtrace.
	(maybe_find_addr2line): Remove function.
	(set_options): Remove call to maybe_find_addr2line.
	* runtime/error.c (sys_abort): Rename backtrace to show_backtrace.
	* runtime/main.c (store_exe_path): Empty function body.
	(full_exe_path, gfstrtok_r, find_addr2line): Remove functions.
	(cleanup): Don't free removed variables.
	* runtime/minimal.c (full_exe_path): Remove function.
	(set_args): Don't set exe_path.

	* gfortran.dg/backtrace_1.f90: New test.

From-SVN: r227106
2015-08-23 21:50:30 +00:00
François-Xavier Coudert 1487cca00c re PR libfortran/62296 (EXECUTE_COMMAND_LINE not F2008 conforming)
PR libfortran/62296

	* intrinsics/execute_command_line.c (EXEC_INVALIDCOMMAND): New
	error code.
	(cmdmsg_values): New error message.
	(set_cmdstat): Rework runtime error.
	(execute_command_line): Handle invalid command line error status.

	* gfortran.dg/execute_command_line_2.f90: New test.

From-SVN: r227105
2015-08-23 21:24:49 +00:00
Nathan Sidwell ac9521817d nvptx.c (walk_args_for_param): Promote arg reg decls.
* config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
	decls.
	(nvptx_declare_function_name): Insert formatting tabs for
	consistency.

From-SVN: r227104
2015-08-23 14:37:09 +00:00
Tom de Vries 2eddac76ab Don't create superfluous parm in expand_omp_taskreg
2015-08-23  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
	parm_decl, rather than generating a dummy default def in cfun.
	* tree-cfg.c (replace_ssa_name): Assume no default defs.  Make sure
	ssa_name from cfun and child_fn do not share a stmt as def stmt.
	(move_stmt_op): Handle PARM_DECl.
	(gather_ssa_name_hash_map_from): New function.
	(move_sese_region_to_fn): Add default defs for function params, and add
	them to vars_map.  Release copied ssa names.
	* tree-cfg.h (gather_ssa_name_hash_map_from): Declare.

From-SVN: r227103
2015-08-23 09:19:32 +00:00
Tom de Vries 1b95056999 Rename vect_no_int_max to vect_no_int_min_max
2015-08-23  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/vect/trapv-vect-reduc-4.c: Use vect_no_int_min_max.
	* gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Rename
	vect_no_int_max to vect_no_int_min_max.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Same.
	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Same.
	* gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: Same.
	* gcc.dg/vect/slp-reduc-4.c: Same.
	* gcc.dg/vect/slp-reduc-5.c: Same.
	* gcc.dg/vect/vect-125.c: Same.
	* gcc.dg/vect/vect-13.c: Same.
	* gcc.dg/vect/vect-double-reduc-3.c: Same.
	* gcc.dg/vect/vect-reduc-1.c: Same.
	* gcc.dg/vect/vect-reduc-1char-big-array.c: Same.
	* gcc.dg/vect/vect-reduc-1char.c:Same.
	* gcc.dg/vect/vect-reduc-1short.c: Same.
	* gcc.dg/vect/vect-reduc-2.c: Same.
	* gcc.dg/vect/wrapv-vect-reduc-2char.c: Same.
	* gcc.dg/vect/wrapv-vect-reduc-2short.c: Same.
	* lib/target-supports.exp: Same.

	* doc/sourcebuild.texi: Rename vect_no_int_max with
	vect_no_int_min_max.  Update description.

From-SVN: r227102
2015-08-23 08:35:41 +00:00
GCC Administrator d8e5702b99 Daily bump.
From-SVN: r227101
2015-08-23 00:16:20 +00:00
Paolo Carlini 82e78c3f28 re PR c++/63693 (ICE in resolve_typename_type)
/cp
2015-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63693
	* pt.c (resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE_TYPE
	only on class types.

/testsuite
2015-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63693
	* g++.dg/cpp0x/decltype63.C: New.

From-SVN: r227098
2015-08-22 17:44:46 +00:00
Nathan Sidwell 2e969ce551 Wsizeof-pointer-memaccess1.c: Require alloca.
* c-c++-common/Wsizeof-pointer-memaccess1.c: Require alloca.
	* c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
	* c-c++-common/Wunused-var-8.c: Likewise.
	* c-c++-common/gomp/pr61486-2.c: Likewise.
	* c-c++-common/Wunused-var-6.c: Likewise.
	* c-c++-common/goacc/reduction-1.c: Likewise.
	* c-c++-common/goacc/reduction-2.c: Likewise.
	* c-c++-common/goacc/reduction-3.c: Likewise.
	* c-c++-common/goacc/reduction-4.c: Likewise.
	* gcc.dg/builtins-64.c: Likewise.
	* gcc.dg/pr59523.c: Likewise.
	* gcc.dg/tree-ssa/20080530.c: Likewise.
	* gcc.dg/tree-ssa/pr23848-2.c: Likewise.
	* gcc.dg/tree-ssa/pr23848-4.c: Likewise.
	* gcc.dg/tree-ssa/pr23848-1.c: Likewise.
	* gcc.dg/tree-ssa/pr23848-3.c: Likewise.
	* gcc.dg/tree-ssa/20030807-2.c: Likewise.
	* gcc.dg/pr59011.c: Likewise.
	* gcc.dg/uninit-9.c: Likewise.
	* gcc.dg/pr61561.c: Likewise.
	* gcc.dg/vla-4.c: Likewise.
	* gcc.dg/20101010-1.c: Likewise.
	* gcc.dg/pr49120.c: Likewise.
	* gcc.dg/20030331-2.c: Likewise.
	* gcc.dg/compat/struct-by-value-22_main.c: Likewise.
	* gcc.dg/pr25682.c: Likewise.
	* gcc.dg/guality/guality.c: Likewise.
	* gcc.dg/pr27301.c: Likewise.
	* gcc.dg/uninit-9-O0.c: Likewise.
	* gcc.dg/fold-alloca-1.c: Likewise.
	* gcc.dg/pr41470.c: Likewise.
	* gcc.dg/pr51491-2.c: Likewise.
	* gcc.dg/winline-7.c: Likewise.
	* gcc.dg/vla-2.c: Likewise.
	* gcc.dg/pr50764.c: Likewise.
	* gcc.dg/c99-vla-1.c: Likewise.
	* gcc.dg/pr33238.c: Likewise.
	* gcc.dg/c99-const-expr-13.c: Likewise.
	* gcc.dg/builtin-return-1.c: Likewise.
	* gcc.dg/vla-3.c: Likewise.
	* gcc.dg/20020415-1.c: Likewise.
	* gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
	* gcc.dg/shrink-wrap-alloca.c: Likewise.
	* gcc.dg/Wstrict-aliasing-bogus-vla-1.c: Likewise.
	* gcc.dg/torture/calleesave-sse.c: Likewise.
	* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
	* gcc.dg/gomp/vla-2.c: Likewise.
	* gcc.dg/gomp/vla-3.c: Likewise.
	* gcc.dg/gomp/vla-4.c: Likewise.
	* gcc.dg/gomp/pr30494.c: Likewise.
	* gcc.dg/gomp/vla-5.c: Likewise.
	* gcc.dg/pr51990-2.c: Likewise.
	* gcc.dg/vla-22.c: Likewise.

From-SVN: r227097
2015-08-22 15:09:03 +00:00
Manuel López-Ibáñez 584a7c462b Fix column location in c_lex_with_flags errors
gcc/testsuite/ChangeLog:

2015-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* gcc.dg/cpp/multiline-2.c: Add column numbers.
	* gcc.dg/dollar.c: Likewise.
	* gcc.dg/pragma-message.c: Likewise.
	* g++.dg/cpp1y/digit-sep-neg.C: Likewise.
	* c-c++-common/raw-string-14.c: Likewise.

gcc/c-family/ChangeLog:

2015-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c-lex.c (c_lex_with_flags): Use explicit locations.

From-SVN: r227096
2015-08-22 12:44:51 +00:00