Commit Graph

140082 Commits

Author SHA1 Message Date
Uros Bizjak
51f23addfa configure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.
* configure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.
	* configure: Regenerate.
	* tools/Makefile.am: Remove unneeded dependencies for Automake 1.11.
	* tools/Makefile.in: Regenerate.

From-SVN: r226785
2015-08-11 19:59:25 +02:00
Uros Bizjak
aff4eeac68 re PR target/66954 (function multiversioning fails for target "aes")
libgcc/ChangeLog:

	PR target/66954
	* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.
	(get_available_features): Handle FEATURE_PCLMUL.

gcc/ChangeLog:

	PR target/66954
	* config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
	to enum feature_priority and feature_list.
	(fold_builtin_cpu): Add F_PCLMUL to enum processor_features
	and isa_names_table.

gcc/testsuite/ChangeLog:

	PR target/66954
	* g++.dg/ext/mv25.C: New test.

From-SVN: r226784
2015-08-11 19:53:41 +02:00
Yuri Rumyantsev
dbfa87aa87 tree-vect-stmts.c (vectorizable_shift): Add missed test on vect_induction_def.
gcc/

	* tree-vect-stmts.c (vectorizable_shift): Add missed test on
	vect_induction_def.

gcc/testsuite:

	* gcc.target/i386/avx2-vect-shift.c: New test.

From-SVN: r226781
2015-08-11 13:52:17 +00:00
Manuel López-Ibáñez
b32bc1ac16 re PR c/66098 (#pragma diagnostic 'ignored' not fully undone by pop for strict-overflow)
gcc/ChangeLog:

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

	PR c/66098
	PR c/66711
	* diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
	account when deciding what was the command-line status.

gcc/testsuite/ChangeLog:

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

	PR c/66098
	PR c/66711
	* gcc.dg/pragma-diag-3.c: New test.
	* gcc.dg/pragma-diag-4.c: New test.

From-SVN: r226780
2015-08-11 13:34:00 +00:00
Nathan Sidwell
8299dd5cbb * tree-vrp.c (simplify_abs_using_ranges): Simplify.
From-SVN: r226779
2015-08-11 12:34:43 +00:00
Nathan Sidwell
a6810021af tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if we're not the only contributor to target phi.
* tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
	we're not the only contributor to target phi.

	testsuite/
	* c-c++-common/dfp/operator-comma.c: Call init function.
	* c-c++-common/dfp/convert-dfp-2.c: New test.

From-SVN: r226778
2015-08-11 12:34:06 +00:00
Jiong Wang
739a838e18 [AArch64][Obivious] Add the missing ',' for enumeration element
2015-08-11  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
  FIXED_REG0.

From-SVN: r226777
2015-08-11 11:17:28 +00:00
Tom de Vries
8b70d6d6fd Add todo comment for move_sese_region_to_fn
2015-08-11  Tom de Vries  <tom@codesourcery.com>

	* tree-cfg.c (move_sese_region_to_fn): Add todo comment.

From-SVN: r226776
2015-08-11 09:15:19 +00:00
Iain Buclaw
fd91ffb805 Fix test failure on Solaris 9 where strtod() does not accept hexadecimals
2015-08-11  Iain Buclaw  <ibuclaw@gdcproject.org>

libiberty/

	* d-demangle.c (dlang_parse_real): Remove call to strtod.
	(strtod): Remove declaration.
	* testsuite/d-demangle-expected: Update float and complex literal
	tests to check correct hexadecimal demangling.

From-SVN: r226774
2015-08-11 07:12:19 +00:00
GCC Administrator
9f46780965 Daily bump.
From-SVN: r226773
2015-08-11 00:16:16 +00:00
Steven G. Kargl
50060d9a03 re PR libfortran/67140 (undefined reference to _gfortran_mvbits_i16)
2015-08-10  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR libfortran/67140
	* intrinsics/mvbits.c: Fix build for paltforms without c_int128_t.

From-SVN: r226769
2015-08-10 21:45:01 +00:00
H.J. Lu
736e56dac0 Treat model == 0x4f as Broadwell
gcc/testsuite/

	* gcc.target/i386/builtin_target.c (check_intel_cpu_model):
	Treat model == 0x4f as Broadwell.

libgcc/

	* config/i386/cpuinfo.c (get_intel_cpu): Treat model == 0x4f as
	Broadwell.

From-SVN: r226766
2015-08-10 12:19:05 -07:00
H.J. Lu
52ec072692 Update -mtune=knl for Knights Landing
From:

https://software.intel.com/sites/default/files/managed/e9/b5/Knights-Corner-is-your-path-to-Knights-Landing.pdf

Knights Landing is “Based on Intel Atom core (based on Silvermont
microarchitecture) with many HPC enhancements.”

This patch replaces CPU_KNL with CPU_SLM to tune for Knights Landing.

	* config/i386/i386.c (processor_alias_table): Replace CPU_KNL
	with CPU_SLM.
	* config/i386/i386.md (cpu): Remove knl.

From-SVN: r226765
2015-08-10 11:59:35 -07:00
Steven G. Kargl
0238e1e98a [multiple changes]
2015-08-10  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR libfortran/67140
	* gfortran.map: Add _gfortran_mvbits_i16.
	* intrinsics/mvbits.c: Generate mvbits for c_int128_t.

2015-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/67140
	* gfortran.dg/pr67140.f90: New test.

From-SVN: r226764
2015-08-10 17:42:00 +00:00
Thomas Schwinge
b97e78b712 [PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution
gcc/
	* builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
	open-coded sequence.
	* omp-low.c (oacc_process_reduction_data): Remove handline of
	GOMP_DEVICE_HOST_NONSHM.
	gcc/testsuite/
	* c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C.
	include/
	* gomp-constants.c (GOMP_DEVICE_HOST_NONSHM): Remove.
	libgomp/
	* libgomp-plugin.h (enum offload_target_type): Remove
	OFFLOAD_TARGET_TYPE_HOST_NONSHM.
	* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
	* openacc.h (enum acc_device_t): Likewise.
	* openacc_lib.h: Likewise.
	* oacc-init.c (name_of_acc_device_t): Don't handle it.
	(acc_on_device): Just use __builtin_acc_on_device.
	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
	of acc_on_device builtin.
	* plugin/plugin-host.h: Remove file.
	* plugin/plugin-host.c: Likewise, but salvage some content into...
	* oacc-host.c: ... this file.
	* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
	* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
	* Makefile.in: Regenerate.
	* configure: Likewise.
	* testsuite/lib/libgomp.exp
	(check_effective_target_openacc_host_nonshm_selected): Remove.
	* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
	ACC_DEVICE_TYPE=host_nonshm.
	* testsuite/libgomp.oacc-c/c.exp: Likewise.
	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.

From-SVN: r226763
2015-08-10 18:48:26 +02:00
Thomas Schwinge
44a7d18d95 Empty libgomp for nvptx
* configure.ac (noconfigdirs): Don't add "target-libgomp" for target
	nvptx*-*-*.
	* configure: Regenerate.
	libgomp/
	* config/nvptx/affinity.c: New file.
	* config/nvptx/alloc.c: Likewise.
	* config/nvptx/bar.c: Likewise.
	* config/nvptx/barrier.c: Likewise.
	* config/nvptx/critical.c: Likewise.
	* config/nvptx/env.c: Likewise.
	* config/nvptx/error.c: Likewise.
	* config/nvptx/fortran.c: Likewise.
	* config/nvptx/iter.c: Likewise.
	* config/nvptx/iter_ull.c: Likewise.
	* config/nvptx/libgomp-plugin.c: Likewise.
	* config/nvptx/lock.c: Likewise.
	* config/nvptx/loop.c: Likewise.
	* config/nvptx/loop_ull.c: Likewise.
	* config/nvptx/mutex.c: Likewise.
	* config/nvptx/oacc-async.c: Likewise.
	* config/nvptx/oacc-cuda.c: Likewise.
	* config/nvptx/oacc-host.c: Likewise.
	* config/nvptx/oacc-init.c: Likewise.
	* config/nvptx/oacc-mem.c: Likewise.
	* config/nvptx/oacc-parallel.c: Likewise.
	* config/nvptx/oacc-plugin.c: Likewise.
	* config/nvptx/omp-lock.h: Likewise.
	* config/nvptx/ordered.c: Likewise.
	* config/nvptx/parallel.c: Likewise.
	* config/nvptx/proc.c: Likewise.
	* config/nvptx/ptrlock.c: Likewise.
	* config/nvptx/sections.c: Likewise.
	* config/nvptx/sem.c: Likewise.
	* config/nvptx/single.c: Likewise.
	* config/nvptx/splay-tree.c: Likewise.
	* config/nvptx/target.c: Likewise.
	* config/nvptx/task.c: Likewise.
	* config/nvptx/team.c: Likewise.
	* config/nvptx/time.c: Likewise.
	* config/nvptx/work.c: Likewise.
	* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
	* configure: Regenerate.
	* configure.tgt (config_path): Set to "nvptx" for target
	nvptx*-*-*.

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

From-SVN: r226760
2015-08-10 17:53:33 +02:00
Thomas Schwinge
96a2d174cc Fix offloading machine mode stream reading
... in context of the GET_MODE_INNER changes applied in r226328.

	gcc/
	* lto-streamer-in.c (lto_input_mode_table): Adjust to
	GET_MODE_INNER changes.
	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.

From-SVN: r226759
2015-08-10 17:22:30 +02:00
Thomas Schwinge
78647e656d Correctly advance iterator in offloading machine mode stream reading
gcc/
	* lto-streamer-in.c (lto_input_mode_table): Correctly advance
	iterator.

Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>

From-SVN: r226758
2015-08-10 17:22:24 +02:00
Ramana Radhakrishnan
43e06d03ef [AArch64] Recommit correct version for improving TLS descriptor pattern
2015-08-06    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	      Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
  * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
  (REG_CLASS_NAMES): Likewise.
  (REG_CLASS_CONTENTS): Likewise.
  * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
  (aarch64_register_move_cost): Likewise.
  (aarch64_load_symref_appropriately): Invoke the new added pattern if
  possible.
  * config/aarch64/constraints.md (Uc0): New constraint.

gcc/testsuite/
  * gcc.target/aarch64/tlsdesc_hoist.c: New testcase.

From-SVN: r226757
2015-08-10 10:06:28 +00:00
Jiong Wang
7fd8646421 [AArch64] Revert wrong commit of "Improve TLS Descriptor pattern to release RTL loop IV opt"
Revert the wrong commit of

  2015-08-06    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	      Jiong Wang  <jiong.wang@arm.com>

	* config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
	* config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
	(REG_CLASS_NAMES): Likewise.
	(REG_CLASS_CONTENTS): Likewise.
	* config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
	(aarch64_register_move_cost): Likewise.
	(aarch64_load_symref_appropriately): Invoke the new added pattern if
	possible.
	* config/aarch64/constraints.md (Uc0): New constraint.

From-SVN: r226756
2015-08-10 10:00:56 +00:00
Uros Bizjak
9ca287086f re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)
PR fortran/64022
	* gfortran.dg/ieee/large_4.f90: New test.

From-SVN: r226755
2015-08-10 07:13:01 +02:00
GCC Administrator
f48dc6463d Daily bump.
From-SVN: r226754
2015-08-10 00:16:12 +00:00
Manuel López-Ibáñez
c2d8909517 options.texi (EnabledBy): Document that the argument must be a Common option.
gcc/ChangeLog:

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

	* doc/options.texi (EnabledBy): Document that the argument must be
	a Common option.
	* doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
	Not enabled by -Wall.
	* optc-gen.awk: Give nicer error messages. Detect if the argument
	of EnabledBy is not a Common option.
	* common.opt (Wnull-dereference): Not enabled by -Wall.
	* opt-functions.awk (lang_enabled_by): Nicer error messages.

gcc/c-family/ChangeLog:

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

	* c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.

From-SVN: r226751
2015-08-09 19:30:17 +00:00
Francois-Xavier Coudert
18a2180daa re PR libfortran/66936 (io/unix.c gratuitously uses S_IRWXG and S_IRWXO on the basis that umask() is available)
PR libfortran/66936
	* io/unix.c (__MINGW32__): Undefine HAVE_UMASK.

From-SVN: r226750
2015-08-09 16:43:42 +00:00
H.J. Lu
dc04bc8431 Treat model == 0x4f as Broadwell
From Intel SDM Vol 3:

Table 35-29 lists MSRs that are common to processors based on the
Broadwell microarchitectures (including CPUID signatures 06_3DH,
06_47H, 06_4FH, and 06_56H).

	* config/i386/driver-i386.c (host_detect_local_cpu): Treat
	model == 0x4f as Broadwell.

From-SVN: r226749
2015-08-09 06:59:08 -07:00
Francois-Xavier Coudert
03c02a42c5 Makefile.am (libquadmath_la_SOURCES): Add math/logbq.c.
* Makefile.am (libquadmath_la_SOURCES): Add math/logbq.c.
	* Makefile.in: Regenerate.
	* libquadmath.texi: Document logbq.
	* quadmath.h: Add logbq prototype.
	* quadmath.map: Add logbq.
	* quadmath_weak.h: Add logbq prototype.
	* math/logbq.c: New file

From-SVN: r226748
2015-08-09 08:46:52 +00:00
GCC Administrator
e7b724da79 Daily bump.
From-SVN: r226746
2015-08-09 00:16:13 +00:00
Ville Voutilainen
b95170d380 Implement N4279, Improved insertion interface for unique-key maps.
2015-08-09  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement N4279, Improved insertion interface for unique-key maps.
	* include/bits/stl_map.h (try_emplace, insert_or_assign): New.
	* include/bits/stl_tree.h (_M_get_insert_unique_pos,
	_M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
	_M_get_insert_hint_equal_pos): Make public.
	* include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
	Likewise.
	* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
	* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
	Likewise.

From-SVN: r226743
2015-08-09 01:57:13 +03:00
Jason Merrill
d0920fa2df re PR c++/67144 ([C++1z] ICE; in get_constraints, at cp/pt.c:23346)
PR c++/67144
	* call.c (joust): Only call more_constrained on decls.

From-SVN: r226740
2015-08-08 18:04:34 -04:00
Jason Merrill
7beb0c35aa re PR c++/67152 ([concepts] bogus "partial specialization of ‘foo<T>’ after instantiation" error)
PR c++/67152
	* pt.c (process_partial_specialization): Call
	associate_classtype_constraints.

From-SVN: r226739
2015-08-08 18:01:39 -04:00
Jason Merrill
4e7739b25a re PR c++/67159 ([c++concepts] Segfault while diagnosing constraint violation)
PR c++/67159
	* constraint.cc (finish_template_introduction):
	SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.

From-SVN: r226738
2015-08-08 18:01:29 -04:00
Jason Merrill
d6729a4291 re PR c++/67142 ([C++1z] ICE: tree check: expected template_decl, have field_decl in equal, at cp/pt.c:1665)
PR c++/67142
	* pt.c (equal): Make sure tmpl is actually a template.

From-SVN: r226737
2015-08-08 18:01:21 -04:00
Jason Merrill
a2dfb56374 re PR libstdc++/67114 ([MinGW64] build failure with POSIX threads enabled)
PR c++/67114
	* call.c (joust): Only call more_constrained on decls.

From-SVN: r226736
2015-08-08 18:01:12 -04:00
Francois-Xavier Coudert
aab2b07154 re PR fortran/67059 (gfortran --version output is inconsistent with the rest of GCC)
PR fortran/67059
	* gfortranspec.c (lang_specific_driver): Adjust --version output.

From-SVN: r226734
2015-08-08 19:59:16 +00:00
Ville Voutilainen
f334456903 Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) and N4366 LWG 2228...
2015-08-08  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
	and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
	templated assignment
	* include/bits/unique_ptr.h
	(__remove_cv, __is_derived_Tp): Remove.
	(default_delete::default_delete(const default_delete<_Up[]>)):
	Constrain with array convertibility.
	(default_delete::operator(_Up*)): Turn into a template,
	constrain with array convertibility.
	(__safe_conversion_up): New, single object version.
	(unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
	convertibility.
	(unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
	is_assignable as a constraint.
	(__safe_conversion_up): Array version, renamed from __safe_conversion,
	updated to implement N4089.
	(__safe_conversion_raw): New.
	(unique_ptr(_Up)): Turn into a template, constrain with array
	convertibility.
	(unique_ptr(_Up,
        typename conditional<is_reference<deleter_type>::value,
        deleter_type, const deleter_type&>::type)): Likewise.
	(unique_ptr(_Up, typename
 	remove_reference<deleter_type>::type&&)): Likewise.
	(unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
	(operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
	is_assignable as a constraint (array version).
	(reset(_Up)): Turn into a template, constrain with array
	convertibility.
	(reset(nullptr_t)): New.
	* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
	* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
	* testsuite/20_util/unique_ptr/dr2228.cc: New.
	* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.

From-SVN: r226733
2015-08-08 14:07:34 +03:00
Bud Davis
0d251765be When undoing symbols, also restore common block lists
gcc/fortran/
2015-08-08  Bud Davis  <jmdavis@link.com>
	    Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/59746
	* symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
	symbol if it was put in the list.

gcc/testsuite/
2015-08-08  Bud Davis  <jmdavis@link.com>

	PR fortran/59746
	* gfortran.dg/common_22.f90: New.


Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>

From-SVN: r226732
2015-08-08 10:40:06 +00:00
Segher Boessenkool
1aeec6dc1f re PR rtl-optimization/67028 (combine bug. Different assumptions about subreg in different places.)
PR rtl-optimization/67028
	* combine.c (simplify_comparison): Fix comment.  Rearrange code.
	Add test to see if a const_int fits in the new mode.

gcc/testsuite/
	PR rtl-optimization/67028
	* gcc.dg/pr67028.c: New testcase.

From-SVN: r226731
2015-08-08 03:51:27 +02:00
DJ Delorie
0fa95f4ead * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
From-SVN: r226730
2015-08-07 21:09:20 -04:00
GCC Administrator
645ea9e86d Daily bump.
From-SVN: r226729
2015-08-08 00:16:11 +00:00
Francois-Xavier Coudert
c2cc83bc88 re PR libfortran/66458 (Loading libgfortran.so changes the FPU exception flags)
PR libfortran/66458
	* runtime/main.c (init): Only call set_fpu() if requested by user.

From-SVN: r226725
2015-08-07 16:23:53 +00:00
H.J. Lu
8f3f5ac089 Add alternative_mask to ira_implicitly_set_insn_hard_regs
Since ira_implicitly_set_insn_hard_regs may be called outside of
ira-lives.c, it can't use the local variable, preferred_alternatives.
This patch adds an alternative_mask argument to
ira_implicitly_set_insn_hard_regs.

gcc/

	PR rtl-optimization/67029
	* ira-color.c: Include "recog.h" before including "ira-int.h".
	* target-globals.c: Likewise.
	* ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
	adds an alternative_mask argument and use it instead of
	preferred_alternatives.
	* ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
	* ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
	* sched-deps.c: Include "ira-int.h" after including "ira.h".
	(sched_analyze_insn): Update call to
	ira_implicitly_set_insn_hard_regs.
	* sel-sched.c: Include "ira-int.h" after including "ira.h".
	(implicit_clobber_conflict_p): Update call to
	ira_implicitly_set_insn_hard_regs.

gcc/testsuite/

	PR rtl-optimization/67029
	* gcc.dg/pr67029.c: New test.

From-SVN: r226724
2015-08-07 09:18:09 -07:00
Francois-Xavier Coudert
0e360db970 re PR fortran/64104 ([F2003][IEEE] Allow IEEE functions in specification expressions)
PR fortran/64104

	* expr.c (gfc_check_init_expr): Allow some IEEE functions in
	constant expressions.
	(external_spec_function): Allow some IEEE functions in specification
	expressions.
	* simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
	(simplify_ieee_selected_real_kind, simplify_ieee_support,
	matches_ieee_function_name, gfc_simplify_ieee_functions): New
	functions.
	* gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
	prototype.
	(gfc_simplify_ieee_functions): Add prototype.

	* gfortran.dg/ieee/ieee_8.f90: New test.

From-SVN: r226723
2015-08-07 15:02:15 +00:00
Jiong Wang
a044d2b1b6 [AArch64] Check branch types for noplt testcases
2015-08-07  Jiong Wang  <jiong.wang@arm.com>

gcc/testsuite/
  * gcc.target/aarch64/noplt_1.c: Check branch type instead of relocation
  modifers.
  * gcc.target/aarch64/noplt_2.c: Likewise.
  * gcc.target/aarch64/noplt_3.c: Likewise.

From-SVN: r226721
2015-08-07 13:26:23 +00:00
Uros Bizjak
27f40df410 Makefile.in (.INTERMEDIATE): Add gpl.pod.
* Makefile.in (.INTERMEDIATE): Add gpl.pod.

From-SVN: r226720
2015-08-07 14:12:41 +02:00
Ian Lance Taylor
d0ceffe507 libgo/testsuite: don't call kill without args
If the timeout subshell has no child processes,
    the "xargs | kill" will fail. Ensure there is
    some input for kill before calling it.
    
    Reviewed-on: https://go-review.googlesource.com/13295

From-SVN: r226719
2015-08-07 10:10:00 +00:00
Jason Merrill
82b110199a ville
From-SVN: r226716
2015-08-07 04:41:33 -04:00
Kaz Kojima
fa0a20e309 sh.c (sh_recog_treg_set_expr): Return false during expand phase to avoid codegen differences with -g.
* config/sh/sh.c (sh_recog_treg_set_expr): Return false during
expand phase to avoid codegen differences with -g.

From-SVN: r226715
2015-08-07 08:11:45 +00:00
Uros Bizjak
41b122f335 texi2pod.pl: Escape braces in regexp involving @strong{...}.
* doc/texi2pod.pl: Escape braces in regexp involving @strong{...}.

From-SVN: r226714
2015-08-07 08:38:07 +02:00
Andrew Sutton
971e17ff87 Add C++ Concepts TS support.
gcc/c-family/
	* c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
	* c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
	(D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
	* c-opts.c (set_std_cxx1z): Set flag_concepts.
	* c.opt (fconcepts): New.
gcc/cp/
	* constraint.cc, logic.cc: New files.
	* Make-lang.in (CXX_AND_OBJCXX_OBJS): Add constraint.o and logic.o.
	(c++.tags): Also process .cc files.
	* call.c (enum rejection_reason_code): Add rr_constraint_failure.
	(print_z_candidate): Handle it.
	(constraint_failure): New.
	(add_function_candidate): Check constraints.
	(build_new_function_call): Handle evaluating concepts.
	(joust): Check more_constrained.
	* class.c (add_method): Check equivalently_constrained.
	(build_clone): Copy constraints.
	(currently_open_class): Return tree.
	(resolve_address_of_overloaded_function): Check constraints.
	* constexpr.c (cxx_eval_constant_expression): Handle REQUIRES_EXPR.
	(potential_constant_expression_1): Likewise.
	* cp-objcp-common.c (cp_tree_size): Handle CONSTRAINT_INFO.
	(cp_common_init_ts): Handle WILDCARD_DECL and REQUIRES_EXPR.
	* cp-tree.def: Add CONSTRAINT_INFO, WILDCARD_DECL, REQUIRES_EXPR,
	SIMPLE_REQ, TYPE_REQ, COMPOUND_REQ, NESTED_REQ, PRED_CONSTR,
	EXPR_CONSTR, TYPE_CONSTR, ICONV_CONSTR, DEDUCT_CONSTR,
	EXCEPT_CONSTR, PARM_CONSTR, CONJ_CONSTR, DISJ_CONSTR.
	* cp-tree.h (struct tree_constraint_info, check_nonnull)
	(check_constraint_info, CI_TEMPLATE_REQS, CI_DECLARATOR_REQS)
	(CI_ASSOCIATED_CONSTRAINTS, CI_NORMALIZED_CONSTRAINTS)
	(CI_ASSUMPTIONS, TEMPLATE_PARMS_CONSTRAINTS)
	(TEMPLATE_PARM_CONSTRAINTS, COMPOUND_REQ_NOEXCEPT_P)
	(PLACEHOLDER_TYPE_CONSTRAINTS, PRED_CONSTR_EXPR, EXPR_CONSTR_EXPR)
	(TYPE_CONSTR_TYPE, ICONV_CONSTR_EXPR, ICONV_CONSTR_TYPE)
	(DEDUCT_CONSTR_EXPR, DEDUCT_CONSTR_PATTERN)
	(DEDUCT_CONSTR_PLACEHOLDER, EXCEPT_CONSTR_EXPR, PARM_CONSTR_PARMS)
	(PARM_CONSTR_OPERAND, CONSTRAINT_VAR_P, CONSTRAINED_PARM_CONCEPT)
	(CONSTRAINED_PARM_EXTRA_ARGS, CONSTRAINED_PARM_PROTOTYPE)
	(DECL_DECLARED_CONCEPT_P, WILDCARD_PACK_P, struct cp_unevaluated)
	(struct local_specialization_stack, enum auto_deduction_context)
	(variable_concept_p, concept_template_p)
	(struct deferring_access_check_sentinel): New.
	(enum cp_tree_node_structure_enum): Add TS_CP_CONSTRAINT_INFO.
	(union lang_tree_node): Add constraint_info field.
	(struct lang_decl_base): Add concept_p flag.
	(enum cp_decl_spec): Add ds_concept.
	(struct cp_declarator): Add requires_clause.
	* cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
	(cxx_pretty_printer::expression): Handle REQUIRES_EXPR,
	TRAIT_EXPR, *_CONSTR.
	(pp_cxx_parameter_declaration_clause): Accept a chain of
	PARM_DECLs.
	(cxx_pretty_printer::declarator): Print requires-clause.
	(pp_cxx_template_declaration): Likewise.
	(pp_cxx_trait_expression): Handle CPTK_IS_SAME_AS.
	(pp_cxx_requires_clause, pp_cxx_requirement)
	(pp_cxx_requirement_list, pp_cxx_requirement_body)
	(pp_cxx_requires_expr, pp_cxx_simple_requirement)
	(pp_cxx_type_requirement, pp_cxx_compound_requirement)
	(pp_cxx_nested_requirement, pp_cxx_predicate_constraint)
	(pp_cxx_expression_constraint, pp_cxx_type_constraint)
	(pp_cxx_implicit_conversion_constraint)
	(pp_cxx_argument_deduction_constraint)
	(pp_cxx_exception_constraint, pp_cxx_parameterized_constraint)
	(pp_cxx_conjunction, pp_cxx_disjunction, pp_cxx_constraint): New.
	* cxx-pretty-print.h: Declare them.
	* decl.c (decls_match): Compare constraints.
	(duplicate_decls): Likewise.  Remove constraints before freeing.
	(cxx_init_decl_processing): Call init_constraint_processing.
	(cp_finish_decl): Diagnose concept without initializer.
	(grokfndecl, grokvardecl): Handle concepts and constraints.
	(grokdeclarator): Handle concept, requires-clause.
	(grokparms): No longer static.
	(xref_tag_1): Check constraints.
	(finish_function): Call check_function_concept.
	(cp_tree_node_structure): Handle CONSTRAINT_INFO.
	(check_concept_refinement, is_concept_var, check_concept_fn): New.
	* decl2.c (check_classfn): Compare constraints.
	(mark_used): Don't instantiate concepts.
	* error.c (dump_template_decl): Print constraints.
	(dump_function_decl): Likewise.
	(dump_expr): Handle REQUIRES_EXPR, *_REQ, *_CONSTR.
	* lex.c (init_reswords): Set D_CXX_CONCEPTS.
	* method.c (implicitly_declare_fn): Copy constraints from
	inherited ctor.
	* parser.h (struct cp_parser): Add in_result_type_constraint_p and
	prevent_constrained_type_specifiers fields.
	* parser.c (make_call_declarator): Add requires_clause parm.
	(cp_parser_new): Clear prevent_constrained_type_specifiers.
	(cp_parser_primary_expression): Handle RID_IS_SAME_AS, RID_REQUIRES.
	(cp_parser_postfix_expression): Set prevent_constrained_type_specifiers.
	(cp_parser_trait_expr): Handle RID_IS_SAME_AS.
	(cp_parser_declaration): Handle concept introduction.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_template_parameter): Handle constrained parameter.
	(cp_parser_type_parameter): Handle constraints.
	(cp_parser_decl_specifier_seq): Handle RID_CONCEPT.
	(cp_parser_template_id): Handle partial concept id.
	(cp_parser_type_name): Add overload that takes typename_keyword_p.
	Handle constrained parameter.
	(cp_parser_nonclass_name): Handle concept names.
	(cp_parser_alias_declaration): Handle constraints.
	(cp_parser_late_return_type_opt): Also handle requires-clause.
	(cp_parser_type_id_1): Handle deduction constraint.
	(cp_parser_parameter_declaration): Handle constrained parameters.
	(cp_parser_class_specifier_1): Handle constraints.
	(cp_parser_template_declaration_after_parameters): Split out from
	cp_parser_template_declaration_after_export.
	(cp_parser_single_declaration): Handle constraints.
	(synthesize_implicit_template_parm): Handle constraints.
	(cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
	(cp_parser_introduction_list, get_id_declarator)
	(get_unqualified_id, is_constrained_parameter)
	(cp_parser_check_constrained_type_parm)
	(cp_parser_constrained_type_template_parm)
	(cp_parser_constrained_template_template_parm)
	(constrained_non_type_template_parm, finish_constrained_parameter)
	(declares_constrained_type_template_parameter)
	(declares_constrained_template_template_parameter)
	(check_type_concept, cp_parser_maybe_constrained_type_specifier)
	(cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
	(cp_parser_requires_clause, cp_parser_requires_clause_opt)
	(cp_parser_requires_expression)
	(cp_parser_requirement_parameter_list, cp_parser_requirement_body)
	(cp_parser_requirement_list, cp_parser_requirement)
	(cp_parser_simple_requirement, cp_parser_type_requirement)
	(cp_parser_compound_requirement, cp_parser_nested_requirement)
	(cp_parser_template_introduction)
	(cp_parser_explicit_template_declaration)
	(get_concept_from_constraint): New.
	* pt.c (local_specialization_stack): Implement.
	(maybe_new_partial_specialization): New.
	(maybe_process_partial_specialization): Use it.
	(retrieve_local_specialization, register_local_specialization)
	(template_parm_to_arg, build_template_decl, extract_fnparm_pack)
	(tsubst_expr): No longer static.
	(spec_hasher::equal): Compare constraints.
	(determine_specialization): Handle constraints.
	(check_explicit_specialization): Handle concepts.
	(process_template_parm): Handle constraints.
	(end_template_parm_list): Add overload taking no arguments.
	(process_partial_specialization): Handle concepts and constraints.
	Register partial specializations of variable templates.
	(redeclare_class_template): Handle constraints.
	(convert_template_argument): Handle WILDCARD_DECL.  Check
	is_compatible_template_arg.
	(coerce_template_parameter_pack): Handle wildcard packs.
	(coerce_template_parms): DR 1430 also applies to concepts.  Add
	overloads taking fewer parameters.
	(lookup_template_class_1): Handle constraints.
	(lookup_template_variable): Concepts are always bool.
	(finish_template_variable): Handle concepts and constraints.
	(tsubst_friend_class): Handle constraints.
	(gen_elem_of_pack_expansion_instantiation): Handle constraints.
	(tsubst_pack_expansion): Handle local parameters.
	(tsubst_decl) [FUNCTION_DECL]: Handle constraints.
	(tsubst) [TEMPLATE_TYPE_PARM]: Handle deduction constraints.
	(tsubst_copy_and_build): Handle REQUIRES_EXPR.
	(more_specialized_fn, more_specialized_partial_spec): Check constraints.
	(more_specialized_inst): Split out from most_specialized_instantiation.
	(most_specialized_partial_spec): Check constraints.
	(instantiate_decl): Never instantiate a concept.
	(value_dependent_expression_p): Handle REQUIRES_EXPR, TYPE_REQ,
	variable concepts.
	(type_dependent_expression_p): Handle WILDCARD_DECL, REQUIRES_EXPR.
	(instantiation_dependent_r): Handle REQUIRES_EXPR and concepts.
	(do_auto_deduction): Add overload taking tsubst flags and context enum.
	Handle constraints.
	(get_template_for_ordering, most_constrained_function)
	(is_compatible_template_arg, convert_wildcard_argument)
	(struct	constr_entry, struct constr_hasher, decl_constraints)
	(valid_constraints_p, get_constraints, set_constraints)
	(remove_constraints, init_constraint_processing): New.
	* ptree.c (cxx_print_xnode): Handle CONSTRAINT_INFO.
	* search.c (lookup_member): Do lookup in the open partial
	instantiation.
	* semantics.c (finish_template_template_parm): Handle constraints.
	(fixup_template_type): New.
	(finish_template_type): Call it.
	(trait_expr_value, finish_trait_expr): Handle CPTK_IS_SAME_AS.
	* tree.c (cp_tree_equal): Handle local parameters, CONSTRAINT_INFO.
	(cp_walk_subtrees): Handle REQUIRES_EXPR.
	* typeck.c (cp_build_function_call_vec): Check constraints.

Co-Authored-By: Braden Obrzut <admin@maniacsvault.net>
Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r226713
2015-08-07 01:44:49 -04:00
Yaakov Selkowitz
bf5372e7f0 Makefile.def (libiconv): Define bootstrap=true.
2015-08-06  Yaakov Selkowitz  <yselkowi@redhat.com>

	* Makefile.def (libiconv): Define bootstrap=true.
	Mark pdf/html/info as missing.
	(configure-gcc): Depend on all-libiconv.
	(all-gcc): Ditto.
	(configure-libcpp): Ditto.
	(all-libcpp): Ditto.
	(configure-intl): Ditto.
	(all-intl): Ditto.
	* Makefile.in: Regenerate.

intl/
	* configure: Reflects renaming of configure.in to configure.ac

libcpp/
	* configure: Regenerate.

gcc/
	* configure.ac: Define LIBICONV_DEP with in-tree libiconv.
	* configure: Regenerate.

From-SVN: r226712
2015-08-07 01:13:52 -04:00