Commit Graph

148724 Commits

Author SHA1 Message Date
Richard Biener
d96a55858c re PR middle-end/77407 (Optimize integer i / abs (i) into the sign of i)
2016-10-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/77407
	* match.pd (X / abs (X) -> X < 0 ? -1 : 1): Drop vector
	type support, mark with :C.
	(X / -X -> -1): Mark with :C.

From-SVN: r240742
2016-10-04 13:18:18 +00:00
Rainer Orth
43c40f3e43 Restore --enable-objc-gc support
* configure.ac (target_libraries): Readd target-boehm-gc.
	Restore --enable-objc-gc handling.
	* configure: Regenerate.

From-SVN: r240740
2016-10-04 09:00:27 +00:00
Jakub Jelinek
5a79befbf4 defaults.h (JCR_SECTION_NAME, [...]): Remove.
gcc/
	* defaults.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Remove.
	* system.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Poison.
	* doc/tm.texi.in (TARGET_USE_JCR_SECTION): Remove.
	* doc/tm.texi: Regenerated.
	* config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Remove.
	* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Remove.
	* config/darwin.h (JCR_SECTION_NAME): Remove.
	* config/pa/pa64-hpux.h (JCR_SECTION_NAME): Remove.
	* config/rs6000/aix71.h (TARGET_USE_JCR_SECTION): Remove.
	* config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Remove.
	* config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Remove.
	* config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Remove.
	* config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Remove.
gcc/c-family/
	* c-cppbuiltin.c (c_cpp_builtins): Don't define
	__LIBGCC_JCR_SECTION_NAME__.
libgcc/
	* config/i386/cygming-crtbegin.c (_Jv_RegisterClasses): Remove.
	(__JCR_LIST__): Remove.
	(__gcc_register_frame): Don't attempt to _Jv_RegisterClasses.
	* config/i386/cygming-crtend.c (__JCR_END__): Remove.
	* config/ia64/crtbegin.S (__JCR_LIST__): Remove.
	* config/ia64/crtend.S (__JCR_END__): Remove.
	* crtstuff.c: Remove __LIBGCC_JCR_SECTION_NAME__ from preprocessor
	conditionals.
	(__JCR_LIST__, __JCR_END__): Remove.
	(frame_dummy): Don't attempt to _Jv_RegisterClasses.
	(__do_global_ctors_1): Likewise.

From-SVN: r240739
2016-10-04 09:49:44 +02:00
GCC Administrator
4b3a7e03e5 Daily bump.
From-SVN: r240738
2016-10-04 00:16:17 +00:00
François Dumont
38aee22c7d shared_ptr.cc (mask, [...]): Move declaration...
2016-10-03  François Dumont  <fdumont@gcc.gnu.org>

	* src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
	declaration...
	* src/c++11/mutex_pool.h: ... here. New.
	* src/c++11/debug.cc: Use latter.

From-SVN: r240732
2016-10-03 20:23:13 +00:00
Prathamesh Kulkarni
ac4f79dde4 Fix ChangeLog entry for r240730
From-SVN: r240731
2016-10-03 19:48:58 +00:00
Prathamesh Kulkarni
7d52128374 ipa-cp.c (propagate_bits_accross_jump_function): Introduce space between callee name and param in dump message in call to fprintf.
2016-10-03  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* ipa-cp.c (propagate_bits_accross_jump_function): Introduce space
	between callee name and param in dump message in call to fprintf.

From-SVN: r240730
2016-10-03 19:42:55 +00:00
Jeff Law
f05796ba9b MAINTAINERS: Move several inactive maintainers to the write-after-approval section.
* MAINTAINERS: Move several inactive maintainers to the
	write-after-approval section.

From-SVN: r240729
2016-10-03 13:37:08 -06:00
Jeff Law
0a4e5cf312 re PR tree-optimization/71550 (wrong code at -O3 on x86_64-linux-gnu)
PR tree-optimization/71550
	PR tree-optimization/71403
	* tree-ssa-threadbackward.c: Include tree-vectorizer.h
	(profitable_jump_thread_path): Also return boolean indicating if
	the realized path will create an irreducible loop.
	Remove loop depth tests from 71403.
	(fsm_find_control_statement_thread_paths): Remove loop depth tests
	from 71403.  If threading will create an irreducible loop, then
	throw away loop iteration and related information.

	PR tree-optimization/71550
	PR tree-optimization/71403
	* gcc.c-torture/execute/pr71550.c: New test.

From-SVN: r240727
2016-10-03 13:28:24 -06:00
Ian Lance Taylor
95ccd17c61 re PR go/77809 ("_LITTLE_ENDIAN" redefined)
PR go/77809

    libgo: strip most C macros from runtime.inc
    
    The Go runtime package is picking up C macros from runtime_sysinfo.go
    and then re-exporting them to runtime.inc.  This can cause name
    conflicts.  Change the Makefile so that we only put the macros we need
    into runtime.inc.  These are the constants that are actually defined by
    Go code, not runtime_sysinfo.go.  There are only a few, so we can
    pattern match.
    
    This is an additional hack on runtime.inc.  The long term goal is to
    convert the runtime package to Go and eliminate runtime.inc entirely, so
    a few hacks seem acceptable.
    
    Fixes GCC PR 77809.

    Reviewed-on: https://go-review.googlesource.com/30167

From-SVN: r240724
2016-10-03 18:39:54 +00:00
Jonathan Wakely
606dda21c8 Define std::gcd and std::lcm for C++17
* doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
	* doc/html/*: Regenerate.
	* include/experimental/numeric (__abs): Move to <numeric>.
	(gcd, lcm): Use __detail::gcd and __detail::lcm.
	* include/std/numeric (__detail::__abs_integral)
	(__detail::__gcd, __detail::__lcm): Define.
	(gcd, lcm): Define for C++17.
	* testsuite/26_numerics/gcd/1.cc: New test.
	* testsuite/26_numerics/lcm/1.cc: New test.
	* testsuite/experimental/numeric/gcd.cc: Swap contents with ...
	* testsuite/experimental/numeric/lcd.cc: ... this.

From-SVN: r240723
2016-10-03 18:01:10 +01:00
Uros Bizjak
ec9d5ad13b configure.ac (strict_warn): Merge -Wmissing-format-attribute and -Woverloaded-virtual checks for warning...
* configure.ac (strict_warn): Merge -Wmissing-format-attribute and
	-Woverloaded-virtual checks for warning options.
	* configure: Regenerate.

From-SVN: r240721
2016-10-03 17:51:33 +02:00
Jonathan Wakely
e347987da8 Fix libstdc++ versioned namespace build
PR libstdc++/68323
	PR libstdc++/77794
	* config/abi/pre/gnu-versioned-namespace.ver: Add exports for
	__cxa_thread_atexit and __gnu_cxx::__freeres.
	* include/Makefile.am: Add <experimental/bits/lfts_config.h>
	* include/Makefile.in: Regenerate.
	* include.bits/basic_string.h: Fix nesting of versioned namespaces.
	* include/bits/c++config: Declare versioned namespaces for literals.
	* include/bits/regex.h (basic_regex, match_results): Add workarounds
	for PR c++/59256.
	* include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
	* include/std/chrono: Likewise.
	* include/std/complex: Likewise.
	* include/std/string_view: Likewise.
	* include/std/variant: Likewise. Add workaround for PR c++/59256.
	* include/experimental/bits/fs_fwd.h: Declare versioned namespace.
	* include/experimental/bits/lfts_config.h: Declare versioned
	namespaces.
	* include/experimental/algorithm: Include
	<experimental/bits/lfts_config.h>.
	* include/experimental/any: Likewise.
	* include/experimental/bits/erase_if.h: Likewise.
	* include/experimental/chrono: Likewise.
	* include/experimental/functional: Likewise.
	* include/experimental/memory_resource: Likewise.
	* include/experimental/optional: Likewise.
	* include/experimental/propagate_const: Likewise.
	* include/experimental/random: Likewise.
	* include/experimental/ratio: Likewise.
	* include/experimental/system_error: Likewise.
	* include/experimental/tuple: Likewise.
	* include/experimental/type_traits: Likewise.
	* include/experimental/utility: Likewise.
	* include/experimental/string_view: Likewise. Fix nesting of
	versioned namespaces.
	* include/experimental/bits/string_view.tcc: Reopen inline namespace
	for non-inline function definitions.
	* testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
	* testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
	* testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
	Likewise.
	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.

From-SVN: r240714
2016-10-03 15:35:28 +01:00
Bernd Edlinger
1adae32747 re PR preprocessor/77699 (suspicious code in get_next_line)
2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR preprocessor/77699
        * input.c (maybe_grow): Don't allocate one byte extra headroom.
        (get_next_line): Return false on error.
        (read_next_line): Removed, use get_next_line instead.
        (read_line_num): Don't copy the line.
        (location_get_source_line): Don't use static data.
        (selftest::test_reading_source_line): Add more test cases.

From-SVN: r240713
2016-10-03 14:05:46 +00:00
Senthil Kumar Selvaraj
d07b0a23a5 Fix failing gcc.target/avr/torture/builtins_error.c
The compiler defaults to thin LTO objects if built with linker plugin
support, and in that case, the error expected by the testcase appears 
only at link time, if at all. Forcing fat LTO object file creation 
generates the error consistently at compile time, as expected.

gcc/testsuite/ChangeLog:

2016-10-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.target/avr/torture/builtins-error.c: Add -ffat-lto-objects
	option.

From-SVN: r240711
2016-10-03 12:08:27 +00:00
Jonathan Wakely
6a0d23af49 Ensure "C++" language linkage for std::abs overloads
PR libstdc++/77814
	* include/bits/std_abs.h: Use "C++" language linkage.
	* testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
	the end. Add <stdalign.h>.

From-SVN: r240710
2016-10-03 12:50:46 +01:00
Ville Voutilainen
3fe2ddae4b re PR libstdc++/77802 (Boost Fiber doesn't compile)
PR libstdc++/77802
    * testsuite/20_util/tuple/77802.cc: New.

    Revert:
    2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
    Implement LWG 2729 for tuple.
    * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
    Suppress conditionally.
    (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
    (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
    (_Tuple_impl(const _Head&)): Constrain.
    (_Tuple_impl(_UHead&&)): Likewise.
    (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
    (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
    (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
    (operator=(const tuple&)): Enable conditionally.
    (operator=(tuple&&)): Suppress conditionally.
    (operator=(const tuple<_UElements...>&)): Constrain.
    (operator=(tuple<_UElements...>&&)): Likewise.
    (operator=(const tuple&)): Enable conditionally (2-param tuple).
    (operator=(tuple&&)): Suppress conditionally (2-param tuple).
    (operator=(const tuple<_U1, _U2>&)): Constrain.
    (operator=(tuple<_U1, _U2>&&)): Likewise.
    (operator=(const pair<_U1, _U2>&)): Likewise.
    (operator=(pair<_U1, _U2>&&)): Likewise.
    * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
    * testsuite/20_util/tuple/tuple_traits.cc: New.

From-SVN: r240709
2016-10-03 14:06:53 +03:00
Kyrylo Tkachov
b44a42cfab Revert: [RTL ifcvt] Transform (X == CST) ? -CST : Y into (X == CST) ? -X : Y when conditional negation is available
Revert
	2016-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* ifcvt.c (noce_try_avoid_const_materialization): New function.
	(noce_process_if_block): Use it.

	* gcc.target/aarch64/ifcvt_avoid_const_materialization_1.c: New test.

From-SVN: r240708
2016-10-03 09:28:28 +00:00
Marek Polacek
f41f1ceba6 Core 903
Core 903
	* typeck.c (cp_build_binary_op): Pass original operands to
	null_ptr_cst_p, not those after the default conversions.

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

From-SVN: r240707
2016-10-03 08:10:43 +00:00
Bernd Edlinger
1633d3b91a invoke.texi: Update -Wint-in-bool-context.
2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * doc/invoke.texi: Update -Wint-in-bool-context.

c-family:
2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
        left shift in boolean context.

cp:
2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * parser.c (cp_parser_condition): Fix a warning.

testsuite:
2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-c++-common/Wint-in-bool-context.c: Update test.

From-SVN: r240706
2016-10-03 08:00:21 +00:00
GCC Administrator
21d7b03ca1 Daily bump.
From-SVN: r240705
2016-10-03 00:16:19 +00:00
Jakub Jelinek
2c8e3a1d99 asm3.C (two): Only use register keyword for C++14 and earlier.
* g++.dg/ext/asm3.C (two): Only use register keyword for C++14 and
	earlier.
	* g++.dg/charset/asm2.c (memmove): Likewise.
	* g++.dg/tls/diag-2.C (foo): Expect -Wregister error for C++17.
	* g++.dg/tls/diag-4.C (foo): Likewise.
	* c-c++-common/vector-subscript-2.c (vf): Change dg-error to
	dg-warning, fix up regex.
	* g++.old-deja/g++.brendan/warnings4.C: Limit to c++14_down targets.
	* g++.old-deja/g++.mike/p700.C: Add -Wno-register.
	* g++.old-deja/g++.mike/net31.C: Likewise.
	* g++.old-deja/g++.other/regstack.C (foo): Expect -Wregister warning
	for C++17.
	* g++.old-deja/g++.jason/enum3.C: Add -Wno-register.
	* g++.old-deja/g++.eh/ia64-1.C: Likewise.

From-SVN: r240702
2016-10-02 21:32:45 +02:00
Jakub Jelinek
333b2f3146 dwarf2out.c (output_fde, [...]): Use MAX_ARTIFICIAL_LABEL_BYTES as char array sizes for...
* dwarf2out.c (output_fde, output_call_frame_info,
	dwarf2out_do_cfi_startproc, set_indirect_string,
	gen_internal_sym, output_die, output_line_info): Use
	MAX_ARTIFICIAL_LABEL_BYTES as char array sizes for
	ASM_GENERATE_INTERNAL_LABEL output.

From-SVN: r240701
2016-10-02 21:31:57 +02:00
GCC Administrator
0b7879085e Daily bump.
From-SVN: r240699
2016-10-02 00:16:22 +00:00
Richard Biener
f00b6283fb re PR middle-end/77798 (465.tonto ICE with trunk with -O2)
2016-10-01  Richard Biener  <rguenther@suse.de>

	PR middle-end/77798
	* genmatch.c (get_operand_type): Add operand position arg
	and handle COND_EXPR comparison operand with fixed boolean_type_node.
	(expr::gen_transform): Adjust.
	(dt_simplify::gen_1): Likewise.

	* gfortran.fortran-torture/compile/pr77798.f90: New testcase.

From-SVN: r240696
2016-10-01 14:34:18 +00:00
Andre Vehreschild
0f0565b143 re PR libfortran/77663 (libgfortran/caf/single.c: three minor problems and a lost token)
gcc/testsuite/ChangeLog:

2016-10-01  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/77663
	* gfortran.dg/coarray_send_by_ref_1.f08: New test.

libgfortran/ChangeLog:

2016-10-01  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/77663
	* caf/single.c (caf_internal_error): Fix not terminating va-list.
	(_gfortran_caf_register): Free memory also when other allocs failed.
	(_gfortran_caf_get_by_ref): Fixed style.
	(send_by_ref): Token is now stored at the correct position preventing
	inaccessible tokens, memory loss and possibly crashes.

From-SVN: r240695
2016-10-01 16:00:57 +02:00
Jakub Jelinek
eb647b80ba sse.md (<mask_codefor><code><mode>): Add FALLTHRU comments.
* config/i386/sse.md (<mask_codefor><code><mode>): Add FALLTHRU
	comments.  Simplify asserts, remove unnecessary conditions.
	Formatting fixes.
	(*<code><mode>3): Likewise.

From-SVN: r240694
2016-10-01 10:41:52 +02:00
GCC Administrator
bff3267993 Daily bump.
From-SVN: r240691
2016-10-01 00:16:14 +00:00
Jakub Jelinek
c58823a0b0 re PR c/77490 (bit-not (~) on boolean should be warned about)
PR c/77490
	* c-c++-common/Wbool-operation-1.c: Add -Wno-psabi to dg-options.
	Add dg-prune-output directive.

From-SVN: r240688
2016-10-01 01:43:49 +02:00
Jerry DeLisle
e3228a5038 re PR fortran/66643 (Missing compilation error for formatted data transfer without format)
2016-09-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/66643
	* io.c (match_dt_unit): Peek check for missing format.

	* gfortran.fortran-torture/compile/arrayio.f90: Update test.
	* gfortran.fortran-torture/compile/write.f90: Update test.

From-SVN: r240686
2016-09-30 23:19:58 +00:00
Jakub Jelinek
5afa955f12 * doc/invoke.texi (-Wregister): Document.
From-SVN: r240685
2016-10-01 00:47:29 +02:00
Jakub Jelinek
012447ea17 configure.ac: Add target-libffi to target_libraries.
* configure.ac: Add target-libffi to target_libraries.
	Readd libgcj target disablings, modified to only target-libffi.
	Readd target addition of go to unsupported languages.
	* configure: Regenerated.

From-SVN: r240684
2016-10-01 00:46:39 +02:00
Bernd Edlinger
b06f87c7eb configure.ac: Split CHECKING_P into CHECKING_P and ENABLE_EXTRA_CHECKING.
2016-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * configure.ac: Split CHECKING_P into CHECKING_P and
        ENABLE_EXTRA_CHECKING.
        * configure: Regenerated.
        * config.in: Adjust commment of CHECKING_P.  Add ENABLE_EXTRA_CHECKING.
        * common.opt (flag_checking): Use CHECKING_P and ENABLE_EXTRA_CHECKING.

From-SVN: r240677
2016-09-30 18:57:49 +00:00
Steve Ellcey
a7d75d596f MAINTAINERS: Update email address.
2016-09-30  Steve Ellcey  <sellcey@caviumnetworks.com>

	* MAINTAINERS: Update email address.

From-SVN: r240675
2016-09-30 18:35:41 +00:00
Jonathan Wakely
36105dbdab libstdc++/77795 Only declare ::gets for C++98 and C++11
PR libstdc++/77795
	* acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
	for gets.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
	for C++98 and C++11.
	* include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
	* testsuite/27_io/headers/cstdio/functions_neg.cc: New test.

From-SVN: r240672
2016-09-30 19:28:53 +01:00
Prasad Ghangal
b2861325a9 re PR other/31566 (@missing_file gives bad error message)
PR other/31566
        * gcc.c (process_command): For @filename handling, output
        the correct name if the file does not exist.

From-SVN: r240669
2016-09-30 11:21:26 -06:00
Marek Polacek
bc240abcf6 * config/alpha/predicates.md: Adjust fall through comment.
From-SVN: r240667
2016-09-30 16:52:53 +00:00
Andrew Haley
4d8c733de1 Fix typo in ChangeLog.
From-SVN: r240666
2016-09-30 16:46:27 +00:00
Andrew Haley
d1a79a95af MAINTAINERS: Remove Per Bothner, Andrew Haley, and Tom Tromey rom write-after approval.
2016-09-30  Andrew Haley  <aph@redhat.com>

	* MAINTAINERS: Remove Per Bothner, Andrew Haley, and Tom Tromey rom
	write-after approval.  Remove Tom Tromey and Bryce McKinlay from
	libgcj.

From-SVN: r240665
2016-09-30 16:43:34 +00:00
Tadek Kijkowski
716028e405 check.tpl: Convert line endings to unix on test outputs
2016-09-30  Tadek Kijkowski  <tkijkowski@gmail.com>

	* check.tpl: Convert line endings to unix on test outputs
	* fixfixes.c: Fixed passing file name to apply_fix when
	SEPARATE_FIX_PROC is defined
	* fixincl.c: Use system_with_shell, fixes for MinGW and DJGPP
	* fixlib.c, fixlib.h: Added system_with_shell and fix_path_separators

From-SVN: r240664
2016-09-30 10:36:18 -06:00
Andrew Haley
af2d487378 MAINTAINERS: Move Per Bothner...
2016-09-30  Andrew Haley  <aph@redhat.com>

        * MAINTAINERS: Move Per Bothner, Andrew Haley, and Tom Tromey to
        write-after approval after GCJ deletion.

From-SVN: r240663
2016-09-30 16:31:40 +00:00
Andrew Haley
07b78716af Makefile.def: Remove libjava.
2016-09-30  Andrew Haley  <aph@redhat.com>

	* Makefile.def: Remove libjava.
	* Makefile.tpl: Likewise.
	* Makefile.in: Regenerate.
	* configure.ac: Likewise.
	* configure: Likewise.
	* gcc/java: Remove.
	* libjava: Likewise.

From-SVN: r240662
2016-09-30 16:24:48 +00:00
Andrew Haley
eae993948b Makefile.def: Remove libjava.
2016-09-05  Andrew Haley  <aph@redhat.com>

	* Makefile.def: Remove libjava.
	* Makefile.tpl: Likewise.
	* Makefile.in: Regenerate.
	* configure.ac: Likewise.
	* configure: Likewise.

From-SVN: r240661
2016-09-30 16:08:23 +00:00
Jonathan Wakely
37b204de60 Implement LWG 2192 and LWG 2294 for std::abs
* doc/xml/manual/intro.xml: Document LWG 2192 changes.
	* doc/html/*: Regenerate.
	* include/Makefile.am: Add bits/std_abs.h.
	* include/Makefile.in: Regenerate.
	* include/bits/std_abs.h: New header defining all required overloads
	of std::abs in one place (LWG 2294).
	* include/c_global/cmath (abs(double), abs(float), abs(long double)):
	Move to bits/std_abs.h.
	(abs<_Tp>(_Tp)): Remove.
	* include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
	Move to bits/std_abs.h.
	* testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
	* testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
	* testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
	* testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.

From-SVN: r240660
2016-09-30 17:07:43 +01:00
Ian Lance Taylor
c0401cf78c runtime: copy internal locking code from Go 1.7 runtime
Remove the old locking code written in C.
    
    Add a shell script mkrsysinfo.sh to generate the runtime_sysinfo.go
    file, so that we can get Go copies of the system time structures and
    other types.
    
    Tweak the compiler so that when compiling the runtime package the
    address operator does not cause local variables to escape.  When the gc
    compiler compiles the runtime, an escaping local variable is treated as
    an error.  We should implement that, instead of this change, when escape
    analysis is turned on.
    
    Tweak the compiler so that the generated C header does not include names
    that start with an underscore followed by a non-upper-case letter,
    except for the special cases of _defer and _panic.  Otherwise we
    translate C types to Go in runtime_sysinfo.go and then generate those Go
    types back as C types in runtime.inc, which is useless and painful for
    the C code.
    
    Change entersyscall and friends to take a dummy argument, as the gc
    versions do, to simplify calls from the shared code.
    
    Reviewed-on: https://go-review.googlesource.com/30079

From-SVN: r240657
2016-09-30 13:45:08 +00:00
Jonathan Wakely
9e28a77462 Remove use of std::abs in experimental::{gcd,lcm}
PR libstdc++/77801
	* include/experimental/numeric: Include <numeric>.
	(__abs): Define.
	(gcd, lcm): Use __abs instead of std::abs.
	* testsuite/experimental/numeric/77801.cc: New test.
	* testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
	* testsuite/experimental/numeric/lcm.cc: Likewise.

From-SVN: r240656
2016-09-30 14:43:37 +01:00
Matthew Wahab
e70bbc6f1f [Testsuite] Use correct effective-target settings for ARM fp16-aapcs tests.
2016-09-30  Matthew Wawhab  <matthew.wahab@arm.com>

	* gcc.target/arm/fp16-aapcs-3.c: Replace arm_fp16_ok with
	arm_fp16_alternative_ok as the required effective target.
	* gcc.target/arm/fp16-aapcs-4.c: Likewise.  Also add
	-mfp16-format=alternative to the dg-options directive and remove
	the dg-add-options directive.

From-SVN: r240655
2016-09-30 13:25:04 +00:00
Marek Polacek
0be5622712 * config/aarch64/aarch64-simd.md: Adjust fall through comments.
From-SVN: r240653
2016-09-30 11:49:32 +00:00
Fritz Reese
c39747d24b Fix ICE for maps with zero components.
2016-09-30  Fritz Reese  <fritzoreese@gmail.com>

Fix ICE for maps with zero components.

	PR fortran/77764
	* gcc/fortran/interface.c (gfc_compare_union_types): Null-guard map
	components.

	PR fortran/77764
	* gcc/testsuite/gfortran.dg/dec_union_8.f90: New testcase.

From-SVN: r240652
2016-09-30 11:42:31 +00:00
Fritz Reese
00074dd8e3 Fix ICE caused by union types comparing equal to structures.
2016-09-30  Fritz Reese  <fritzoreese@gmail.com>

Fix ICE caused by union types comparing equal to structures.

	PR fortran/77782
	* gcc/fortran/interface.c (gfc_compare_derived_types): Use
	gfc_compare_union_types to compare union types.

	PR fortran/77782
	* gcc/testsuite/gfortran.dg/dec_structure_16.f90: New testcase.

From-SVN: r240651
2016-09-30 11:37:23 +00:00