gcc.git
9 years agoImplement observer_ptr.
Ville Voutilainen [Fri, 1 May 2015 21:01:11 +0000 (00:01 +0300)]
Implement observer_ptr.

2015-05-01  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement observer_ptr.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/memory: New.
* testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
* testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
* testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
* testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
* testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
* testsuite/experimental/memory/observer_ptr/requirements.cc: New.
* testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
* testsuite/experimental/memory/observer_ptr/typedefs.cc: New.

From-SVN: r222706

9 years ago* src/filesystem/path.cc (path::compare): Do not copy strings.
Jonathan Wakely [Fri, 1 May 2015 20:05:42 +0000 (21:05 +0100)]
* src/filesystem/path.cc (path::compare): Do not copy strings.

From-SVN: r222704

9 years agoacinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h> is not available.
Jonathan Wakely [Fri, 1 May 2015 19:48:00 +0000 (20:48 +0100)]
acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h> is not available.

* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
is not available.
(GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
* configure: Regenerate.
* config.h.in: Regenerate.
* configure.ac: Check for utime.h
* include/experimental/fs_path.h (path::string<>)
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
* src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
closedir, dirent, readdir_r): Replace dummy functions with #error.
(native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
* src/filesystem/ops.cc (do_stat, is_set): Make inline.
(last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
(permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
(space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
error_code.

From-SVN: r222703

9 years agofs_path.h (path::_List): Use vector instead of list.
Jonathan Wakely [Fri, 1 May 2015 19:47:55 +0000 (20:47 +0100)]
fs_path.h (path::_List): Use vector instead of list.

* include/experimental/fs_path.h (path::_List): Use vector instead of
list.
* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
* src/filesystem/path.cc: Use std::prev instead of decrementing
rvalues. Fix whitespace.
* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
Do not decrement iterators before begin.

From-SVN: r222702

9 years agoWnarrowing4.C: Rename to Wnarrowing3.C.
Paolo Carlini [Fri, 1 May 2015 18:53:51 +0000 (18:53 +0000)]
Wnarrowing4.C: Rename to Wnarrowing3.C.

2015-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/Wnarrowing4.C: Rename to Wnarrowing3.C.

Co-Authored-By: Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
From-SVN: r222701

9 years agore PR c++/65858 (ICE in varpool_node::get_constructor during chromium build on arm...
Paolo Carlini [Fri, 1 May 2015 18:43:40 +0000 (18:43 +0000)]
re PR c++/65858 (ICE in varpool_node::get_constructor during chromium build on arm-linux-gnueabihf with LTO during LINK chrome)

/cp
2015-05-01  Paolo Carlini  <paolo.carlini@oracle.com>
    Prathamesh Kulharni  <prathamesh.kulkarni@linaro.org>

PR c++/65858
* typeck2.c (check_narrowing): Set ok = true when pedwarn returns
false.

/testsuite
2015-05-01  Paolo Carlini  <paolo.carlini@oracle.com>
    Prathamesh Kulharni  <prathamesh.kulkarni@linaro.org>

PR c++/65858
* g++.dg/cpp0x/Wnarrowing4.C: New.

Co-Authored-By: Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
From-SVN: r222699

9 years agomatch.pd: New simplification patterns.
Rasmus Villemoes [Fri, 1 May 2015 18:25:12 +0000 (20:25 +0200)]
match.pd: New simplification patterns.

* match.pd: New simplification patterns.
(x + (x & 1))  -> ((x + 1) & ~1)
(x & ~(x & y)) -> ((x & ~y))
(x | ~(x | y)) -> ((x | ~y))

* gcc.dg/20150120-1.c: New test.
* gcc.dg/20150120-2.c: New test.
* gcc.dg/20150120-3.c: New test.

From-SVN: r222697

9 years ago* gcc.dg/debug/pr65771.c: Add "dg-add-options tls".
David Edelsohn [Fri, 1 May 2015 18:23:30 +0000 (18:23 +0000)]
* gcc.dg/debug/pr65771.c: Add "dg-add-options tls".

From-SVN: r222696

9 years agofs_dir.h: Fix use of non-reserved names.
Jonathan Wakely [Fri, 1 May 2015 17:55:33 +0000 (18:55 +0100)]
fs_dir.h: Fix use of non-reserved names.

* include/experimental/fs_dir.h: Fix use of non-reserved names.
* include/experimental/fs_ops.h: Likewise.
* include/experimental/fs_path.h: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
C++11 when checking for support.

From-SVN: r222695

9 years agolocale_classes.h (locale::facet): Delete copy operations in C++11 mode.
Jonathan Wakely [Fri, 1 May 2015 16:50:31 +0000 (17:50 +0100)]
locale_classes.h (locale::facet): Delete copy operations in C++11 mode.

* include/bits/locale_classes.h (locale::facet): Delete copy
operations in C++11 mode.

From-SVN: r222694

9 years ago* sv.po: Update.
Joseph Myers [Fri, 1 May 2015 16:23:49 +0000 (17:23 +0100)]
* sv.po: Update.

From-SVN: r222692

9 years ago* de.po: Update.
Joseph Myers [Fri, 1 May 2015 16:19:00 +0000 (17:19 +0100)]
* de.po: Update.

From-SVN: r222690

9 years ago[doc] Update definition location of attribute_spec in documentation
Kyrylo Tkachov [Fri, 1 May 2015 15:35:15 +0000 (15:35 +0000)]
[doc] Update definition location of attribute_spec in documentation

* target.def (attribute_table): Mention that struct attribute_spec
is defined in tree-core.h rather than tree.h
* doc/tm.texi: Regenerate.

From-SVN: r222688

9 years ago[PATCH] add sync_int_long target selector to gcc.dg/pr65345-2.c
Renlin Li [Fri, 1 May 2015 15:28:22 +0000 (15:28 +0000)]
[PATCH] add sync_int_long target selector to gcc.dg/pr65345-2.c

gcc/testsuite/

2015-05-01  Renlin Li  <renlin.li@arm.com>

* gcc.dg/pr65345-2.c: Add sync_int_long target selector.

From-SVN: r222687

9 years ago* include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
Jonathan Wakely [Fri, 1 May 2015 15:22:49 +0000 (16:22 +0100)]
* include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.

From-SVN: r222686

9 years agoacinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
Jonathan Wakely [Fri, 1 May 2015 15:11:05 +0000 (16:11 +0100)]
acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.

* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
* configure: Regenerate.

From-SVN: r222685

9 years agoInline one-line erasure dispatch functions.
Edward Smith-Rowland [Fri, 1 May 2015 15:00:46 +0000 (15:00 +0000)]
Inline one-line erasure dispatch functions.

2015-05-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

Inline one-line erasure dispatch functions.
* include/experimental/forward_list (erase_if(), erase()): Inline.
* include/experimental/list (erase_if(), erase()): Inline.
* include/experimental/map (erase_if(*)): Inline.
* include/experimental/set (erase_if(*)): Inline.
* include/experimental/string (erase_if(), erase()): Inline.
* include/experimental/unordered_map (erase_if(*)): Inline.
* include/experimental/unordered_set (erase_if(*)): Inline.

From-SVN: r222684

9 years agogenrecog.c (test): Rename to rtx_test.
Richard Sandiford [Fri, 1 May 2015 14:26:55 +0000 (14:26 +0000)]
genrecog.c (test): Rename to rtx_test.

gcc/
* genrecog.c (test): Rename to rtx_test.  Update rest of file
accordingly.

From-SVN: r222683

9 years agoSummary: Mark help string in DEFPARAM as no-c-format
Andreas Schwab [Fri, 1 May 2015 14:07:51 +0000 (14:07 +0000)]
Summary: Mark help string in DEFPARAM as no-c-format

PR translation/65959
* params.h (DEFPARAM): Rename msgid to nocmsgid.

From-SVN: r222682

9 years agoAllow bound simplification of array subreferences.
Mikael Morin [Fri, 1 May 2015 13:32:42 +0000 (13:32 +0000)]
Allow bound simplification of array subreferences.

gcc/fortran/
* simplify.c (simplify_bound_dim): Tighten the check for array fullness
by also checking for absence of subreference.
(simplify_bound): Don't skip simplification if the array
has subreferences.
(simplify_cobound): Same.
gcc/testsuite/
* gfortran.dg/bound_simplification_4.f90: New.

From-SVN: r222681

9 years ago[AArch64] Make aarch64_min_divisions_for_recip_mul configurable
Wilco Dijkstra [Fri, 1 May 2015 13:19:34 +0000 (13:19 +0000)]
[AArch64] Make aarch64_min_divisions_for_recip_mul configurable

On behalf of Wilco Dijkstra

2015-05-01  Wilco Dijkstra  <wdijkstr@arm.com>

* gcc/config/aarch64/aarch64-protos.h (tune_params):
Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
* gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
Return value depending on target.
(generic_tunings): Initialize new target settings.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(xgene1_tunings): Likewise.

From-SVN: r222679

9 years ago[AArch64] Fix Cortex-A53 shift costs
Wilco Dijkstra [Fri, 1 May 2015 13:09:25 +0000 (13:09 +0000)]
[AArch64] Fix Cortex-A53 shift costs

On behalf of Wilco Dijkstra

2015-05-01  Wilco Dijkstra  <wdijkstr@arm.com>

* gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
Make Cortex-A53 shift costs more accurate.

From-SVN: r222678

9 years ago[AArch64] Handle FLOAT and UNSIGNED_FLOAT in rtx costs
Kyrylo Tkachov [Fri, 1 May 2015 12:54:22 +0000 (12:54 +0000)]
[AArch64] Handle FLOAT and UNSIGNED_FLOAT in rtx costs

* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
UNSIGNED_FLOAT.

From-SVN: r222677

9 years ago[AArch64] Fix aarch64_rtx_costs of PLUS/MINUS
Wilco Dijkstra [Fri, 1 May 2015 12:52:34 +0000 (12:52 +0000)]
[AArch64] Fix aarch64_rtx_costs of PLUS/MINUS

On behalf of Wilco Dijkstra

2015-05-01  Wilco Dijkstra  <wdijkstr@arm.com>

* gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
Calculate cost of op0 and op1 in PLUS and MINUS cases.

From-SVN: r222676

9 years agointro.xml: Link to new status_cxx2017.xml file.
Jonathan Wakely [Fri, 1 May 2015 11:02:24 +0000 (12:02 +0100)]
intro.xml: Link to new status_cxx2017.xml file.

* doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
* doc/xml/manual/status_cxx2011.xml: Update status tables.
* doc/xml/manual/status_cxx2014.xml: Likewise.
* doc/xml/manual/status_cxx2017.xml: New.
* doc/xml/manual/using.xml: Fix typo.
* doc/html/*: Regenerate.

From-SVN: r222675

9 years agomemory (pointer_safety, [...]): Define.
Jonathan Wakely [Fri, 1 May 2015 11:02:18 +0000 (12:02 +0100)]
memory (pointer_safety, [...]): Define.

* include/std/memory (pointer_safety, declare_reachable,
undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
get_pointer_safety): Define.
* testsuite/20_util/pointer_safety/1.cc: New.

From-SVN: r222674

9 years ago[AArch64] Remember to cost operand 0 in FP compare-with-0.0 case
Kyrylo Tkachov [Fri, 1 May 2015 08:58:34 +0000 (08:58 +0000)]
[AArch64] Remember to cost operand 0 in FP compare-with-0.0 case

* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
Add cost of op0 in the compare-with-fpzero case.

From-SVN: r222673

9 years agoDaily bump.
GCC Administrator [Fri, 1 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222669

9 years agocrypto-builtin-2.c: Replace powerpc_vsx_ok with powerpc_p8vector_ok.
Bill Schmidt [Thu, 30 Apr 2015 23:59:16 +0000 (23:59 +0000)]
crypto-builtin-2.c: Replace powerpc_vsx_ok with powerpc_p8vector_ok.

2015-04-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/crypto-builtin-2.c: Replace powerpc_vsx_ok
with powerpc_p8vector_ok.

From-SVN: r222664

9 years agore PR fortran/37131 (inline matmul for small matrix sizes)
Thomas Koenig [Thu, 30 Apr 2015 22:12:31 +0000 (22:12 +0000)]
re PR fortran/37131 (inline matmul for small matrix sizes)

2015-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/37131
* simplify.c (simplify_bound): Get constant lower bounds of one
from array spec for assumed and explicit shape shape arrays if
the lower bounds are indeed one.

2015-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/37131
* gfortran.dg/coarray_lib_this_image_2.f90:  Adjust
scan pattern.
* gfortran.dg/bound_9.f90:  New test case.

From-SVN: r222661

9 years agoFix spurious semicolons
David Malcolm [Thu, 30 Apr 2015 21:07:45 +0000 (21:07 +0000)]
Fix spurious semicolons

gcc/ChangeLog:
* builtins.c (fold_builtin_1): Remove spurious second
semicolon.
* cgraph.h (symtab_node::get_availability): Likewise.
* opts.c (common_handle_option): Remove spurious second semicolon.
* tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.

gcc/cp/ChangeLog:
* cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove spurious
trailing semicolon.

gcc/fortran/ChangeLog:
* options.c (gfc_init_options): Remove spurious second
semicolon.
* trans-stmt.c (gfc_trans_allocate): Likewise.

From-SVN: r222658

9 years agocompiler: Use backend interface for stack allocation.
Chris Manghane [Thu, 30 Apr 2015 20:44:03 +0000 (20:44 +0000)]
compiler: Use backend interface for stack allocation.

Stack allocation was being done by making a temporary variable and
taking its address.  This does not work when allocating in a loop
because every allocated variable will refer to the same address.
The backend now provides a way to safely allocate in a loop.

* go-gcc.cc (Gcc_backend::stack_allocation_expression): New
method.

From-SVN: r222657

9 years agodevirt-28a.C: Require LTO effective target.
Uros Bizjak [Thu, 30 Apr 2015 20:22:51 +0000 (22:22 +0200)]
devirt-28a.C: Require LTO effective target.

* g++.dg/ipa/devirt-28a.C: Require LTO effective target.
* g++.dg/ext/sync-4.C (dg-additional-options): Use -march=pentium
for 32bit x86 targets.
* gcc.dg/pr36504.c (dg-additional-options): Use -march=i686 -msse
for 32bit x86 targets.
* gcc.dg/pr39455.c (dg-additional-options): Ditto.
* gcc.dg/pr45352-1.c (dg-additional-options): Ditto.
* gcc.dg/pr63914.c (dg-additional-options): Use -msse
for 32bit x86 targets.

From-SVN: r222656

9 years agotm.texi: Regenerate.
Caroline Tice [Thu, 30 Apr 2015 19:35:34 +0000 (12:35 -0700)]
tm.texi: Regenerate.

* doc/tm.texi: Regenerate.

From-SVN: r222655

9 years agoImplement N4100 File System TS
Jonathan Wakely [Thu, 30 Apr 2015 19:11:52 +0000 (20:11 +0100)]
Implement N4100 File System TS

* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
(GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Enable filesystem TS and check its dependencies.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
__str_codecvt_out): Move code conversion logic from wstring_convert
into new global functions.
(wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
functions.
(wstring_convert::_M_conv): Remove.
* include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
* include/experimental/filesystem: New.
* include/experimental/fs_dir.h: New.
* include/experimental/fs_fwd.h: New.
* include/experimental/fs_ops.h: New.
* include/experimental/fs_path.h: New.
* include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
* src/Makefile.am (SUBDIRS): Add filesystem.
* src/Makefile.in: Regenerate.
* src/filesystem/Makefile.am: New.
* src/filesystem/Makefile.in: New.
* src/filesystem/dir.cc: New.
* src/filesystem/ops.cc: New.
* src/filesystem/path.cc: New.
* testsuite/experimental/filesystem/operations/absolute.cc: New.
* testsuite/experimental/filesystem/operations/copy.cc: New.
* testsuite/experimental/filesystem/operations/current_path.cc: New.
* testsuite/experimental/filesystem/path/append/path.cc: New.
* testsuite/experimental/filesystem/path/assign/assign.cc: New.
* testsuite/experimental/filesystem/path/assign/copy.cc: New.
* testsuite/experimental/filesystem/path/compare/compare.cc: New.
* testsuite/experimental/filesystem/path/compare/path.cc: New.
* testsuite/experimental/filesystem/path/compare/strings.cc: New.
* testsuite/experimental/filesystem/path/concat/path.cc: New.
* testsuite/experimental/filesystem/path/concat/strings.cc: New.
* testsuite/experimental/filesystem/path/construct/copy.cc: New.
* testsuite/experimental/filesystem/path/construct/default.cc: New.
* testsuite/experimental/filesystem/path/construct/locale.cc: New.
* testsuite/experimental/filesystem/path/construct/range.cc: New.
* testsuite/experimental/filesystem/path/decompose/extension.cc: New.
* testsuite/experimental/filesystem/path/decompose/filename.cc: New.
* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
New.
* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
New.
* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
New.
* testsuite/experimental/filesystem/path/decompose/root_name.cc:
New.
* testsuite/experimental/filesystem/path/decompose/root_path.cc:
New.
* testsuite/experimental/filesystem/path/decompose/stem.cc: New.
* testsuite/experimental/filesystem/path/generic/generic_string.cc:
New.
* testsuite/experimental/filesystem/path/itr/traversal.cc: New.
* testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
New.
* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
New.
* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
New.
* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
New.
* testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
* testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
* testsuite/experimental/filesystem/path/query/empty.cc: New.
* testsuite/experimental/filesystem/path/query/has_extension.cc: New.
* testsuite/experimental/filesystem/path/query/has_filename.cc: New.
* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
New.
* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
New.
* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
New.
* testsuite/experimental/filesystem/path/query/has_root_name.cc:
New.
* testsuite/experimental/filesystem/path/query/has_root_path.cc:
New.
* testsuite/experimental/filesystem/path/query/has_stem.cc: New.
* testsuite/experimental/filesystem/path/query/is_relative.cc: New.
* testsuite/util/testsuite_fs.h: New.

From-SVN: r222654

9 years agore PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)
Marek Polacek [Thu, 30 Apr 2015 18:01:07 +0000 (18:01 +0000)]
re PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)

PR tree-optimization/63551
     * g++.dg/ipa/pr63551.C: New test.

From-SVN: r222650

9 years agoCorrect ChangeLog entry date.
Joseph Myers [Thu, 30 Apr 2015 17:55:31 +0000 (18:55 +0100)]
Correct ChangeLog entry date.

From-SVN: r222648

9 years agobe.po, [...]: Update.
Joseph Myers [Thu, 30 Apr 2015 17:54:41 +0000 (18:54 +0100)]
be.po, [...]: Update.

* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r222646

9 years agobe.po, [...]: Update.
Joseph Myers [Thu, 30 Apr 2015 17:52:24 +0000 (18:52 +0100)]
be.po, [...]: Update.

* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
zh_TW.po: Update.

From-SVN: r222644

9 years agoDefine & use special macros to record the name & size of cold partitions.
Caroline Tice [Thu, 30 Apr 2015 17:49:02 +0000 (10:49 -0700)]
Define & use special macros to record the name & size of cold partitions.

Define & use special macros to record the name & size of cold
partitions.  (Fix PR 65929).

gcc/ChangeLog

PR 65929
* config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
(ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
* doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
(ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
* final.c (final_scan_insn):  Use ASM_DECLARE_COLD_FUNCTION_NAME
instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
* varasm.c (assemble_end_function):  Use ASM_DECLARE_COLD_FUNCTION_SIZE
instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.

gcc/testsuite/ChangeLog:

PR  65929
* gcc.dg/tree-prof/cold_partition_label.c:  Only check for cold
partition size on certain targets.

From-SVN: r222643

9 years agoescape: Analyze function values and conversions.
Ian Lance Taylor [Thu, 30 Apr 2015 17:44:10 +0000 (17:44 +0000)]
escape: Analyze function values and conversions.

The analysis for variables defined as function literals did not
properly analyze the underlying function literal when it was converted
to a function type.  Also, when analyzing composite literals with
function literals as arguments, the connection between the composite
literal and the function literal was ignored.

From-SVN: r222642

9 years ago* varasm.c (handle_cache_entry): Fix logic.
Marek Polacek [Thu, 30 Apr 2015 17:25:55 +0000 (17:25 +0000)]
* varasm.c (handle_cache_entry): Fix logic.

From-SVN: r222641

9 years agocompiler: Mark non-escaping variables that aren't addressed.
Ian Lance Taylor [Thu, 30 Apr 2015 17:21:29 +0000 (17:21 +0000)]
compiler: Mark non-escaping variables that aren't addressed.

When optimizing allocations, only variables that had their address
taken somewhere in the program were marked as non-escaping.
There are several cases where non-addressed variables might cause
extra allocations.

From-SVN: r222640

9 years ago[AArch64] Add alternative 'extr' pattern, calculate rtx cost properly
Kyrylo Tkachov [Thu, 30 Apr 2015 17:03:26 +0000 (17:03 +0000)]
[AArch64] Add alternative 'extr' pattern, calculate rtx cost properly

* config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
(*extrsi5_insn_uxtw_alt): Likewise.
* config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
(aarch64_rtx_costs, IOR case): Use above to properly cost extr
operations.

From-SVN: r222639

9 years ago[AArch64] Properly cost FABD pattern
Kyrylo Tkachov [Thu, 30 Apr 2015 17:01:34 +0000 (17:01 +0000)]
[AArch64] Properly cost FABD pattern

* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
fabd in ABS case.

From-SVN: r222638

9 years ago[AArch64] Properly handle mvn-register and add EON+shift pattern and cost appropriately
Kyrylo Tkachov [Thu, 30 Apr 2015 16:59:50 +0000 (16:59 +0000)]
[AArch64] Properly handle mvn-register and add EON+shift pattern and cost appropriately

* config/aarch64/aarch64.md
(*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
(*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
appropriately.  Handle alternative EON form.

From-SVN: r222637

9 years ago[PATCH][AARCH64]Define vec_shr as an unspec, use shl for big-endian.
Renlin Li [Thu, 30 Apr 2015 15:52:24 +0000 (15:52 +0000)]
[PATCH][AARCH64]Define vec_shr as an unspec, use shl for big-endian.

gcc/

2015-04-30  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
* config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.

gcc/testsuite/

2015-04-30  Renlin Li  <renlin.li@arm.com>
    Alan Lawrence  <alan.lawrence@arm.com>

* gcc.target/aarch64/vect-reduc-or_1.c: New.

From-SVN: r222635

9 years agore PR ipa/65873 (Failure to inline always_inline memcpy)
Jan Hubicka [Thu, 30 Apr 2015 15:09:19 +0000 (17:09 +0200)]
re PR ipa/65873 (Failure to inline always_inline memcpy)

PR ipa/65873
* ipa-inline.c (can_inline_edge_p): It is safe to inline across
-fstrict-aliasing boundaries.

From-SVN: r222634

9 years agoAdd missing PR middle-end/64729 reference.
Rainer Orth [Thu, 30 Apr 2015 14:50:26 +0000 (14:50 +0000)]
Add missing PR middle-end/64729 reference.

From-SVN: r222631

9 years agoAdd fundamentals TR container erasure.
Edward Smith-Rowland [Thu, 30 Apr 2015 14:43:19 +0000 (14:43 +0000)]
Add fundamentals TR container erasure.

2015-04-30  Edward Smith-Rowland  <3dw4rd@verizon.net>

Add fundamentals TR container erasure.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Add new headers.
* include/experimental/array: New.
* include/experimental/deque: New.
* include/experimental/erase_if.tcc: New.
* include/experimental/forward_list: New.
* include/experimental/list: New.
* include/experimental/map: New.
* include/experimental/set: New.
* include/experimental/string: New.
* include/experimental/unordered_map: New.
* include/experimental/unordered_set: New.
* include/experimental/vector: New.
* testsuite/experimental/deque/erasure.cc: New.
* testsuite/experimental/forward_list/erasure.cc: New.
* testsuite/experimental/list/erasure.cc: New.
* testsuite/experimental/map/erasure.cc: New.
* testsuite/experimental/set/erasure.cc: New.
* testsuite/experimental/string/erasure.cc: New.
* testsuite/experimental/unordered_map/erasure.cc: New.
* testsuite/experimental/unordered_set/erasure.cc: New.
* testsuite/experimental/vector/erasure.cc: New.

From-SVN: r222630

9 years ago[AArch64] Properly cost MNEG/[SU]MNEGL patterns
Kyrylo Tkachov [Thu, 30 Apr 2015 13:36:22 +0000 (13:36 +0000)]
[AArch64] Properly cost MNEG/[SU]MNEGL patterns

* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
and [SU]MNEGL patterns.

From-SVN: r222627

9 years agoc-typeck.c (c_build_va_arg): Clarify the error message.
Marek Polacek [Thu, 30 Apr 2015 13:35:44 +0000 (13:35 +0000)]
c-typeck.c (c_build_va_arg): Clarify the error message.

* c-typeck.c (c_build_va_arg): Clarify the error message.

* gcc.dg/pr65901.c (foo): Adjust dg-error.
* gcc.c-torture/compile/pr48767.c (foo): Likewise.

From-SVN: r222626

9 years agoFix up new line in previous commit
Kyrylo Tkachov [Thu, 30 Apr 2015 13:34:54 +0000 (13:34 +0000)]
Fix up new line in previous commit

From-SVN: r222625

9 years ago[AArch64] Properly handle SHIFT ops and EXTEND in aarch64_rtx_mult_cost
Kyrylo Tkachov [Thu, 30 Apr 2015 13:34:05 +0000 (13:34 +0000)]
[AArch64] Properly handle SHIFT ops and EXTEND in aarch64_rtx_mult_cost

* config/aarch64/aarch64.c (aarch64_shift_p): New function.
(aarch64_rtx_mult_cost): Update comment to reflect that it also handles
combined arithmetic-shift ops.  Properly handle all shift and extend
operations that can occur in combination with PLUS/MINUS.
Rename maybe_fma to compound_p.
(aarch64_rtx_costs): Use aarch64_shift_p when costing compound
arithmetic and shift operations.

From-SVN: r222624

9 years ago[AArch64] Use extend_arith rtx cost appropriately
Kyrylo Tkachov [Thu, 30 Apr 2015 13:30:49 +0000 (13:30 +0000)]
[AArch64] Use extend_arith rtx cost appropriately

* config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
rather than arith_shift cost when costing ADD/MINUS of an
extended value.

From-SVN: r222623

9 years agoc-common.c (maybe_warn_bool_compare): When comparing with 0/1, require that the non...
Marek Polacek [Thu, 30 Apr 2015 13:20:03 +0000 (13:20 +0000)]
c-common.c (maybe_warn_bool_compare): When comparing with 0/1, require that the non-constant be of a boolean type.

* c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
require that the non-constant be of a boolean type.

* c-c++-common/Wbool-compare-3.c: New test.

From-SVN: r222622

9 years agore PR tree-optimization/65948 (FAIL: g++.dg/lto/20101010-4 cp_lto_20101010-4_0.o...
Jan Hubicka [Thu, 30 Apr 2015 13:18:22 +0000 (15:18 +0200)]
re PR tree-optimization/65948 (FAIL: g++.dg/lto/20101010-4 cp_lto_20101010-4_0.o-cp_lto_20101010-4_0.o link)

PR lto/65948
* ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
to itself.

From-SVN: r222621

9 years ago[PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
James Norris [Thu, 30 Apr 2015 12:44:39 +0000 (12:44 +0000)]
[PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests

PR testsuite/65205
libgomp/
* testsuite/lib/libgomp.exp
(check_effective_target_openacc_host_selected)
(check_effective_target_openacc_host_nonshm_selected): New
procedures.
* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
dg-shouldfail.
* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.

From-SVN: r222620

9 years agogenrecog.c (simplify_tests): Check that CONST_INT and XWINT tests are for the same...
Richard Sandiford [Thu, 30 Apr 2015 11:53:31 +0000 (11:53 +0000)]
genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests are for the same position.

gcc/
* genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
are for the same position.

From-SVN: r222618

9 years ago2015-04-30 François Dumont <fdumont@gcc.gnu.org>
François Dumont [Thu, 30 Apr 2015 11:36:52 +0000 (11:36 +0000)]
2015-04-30  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/cpp_type_traits.h
(__gnu_cxx::__is_normal_iterator): Delete.
* include/bits/stl_algobase.h (std::__niter_base): Adapt.
* include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
(std::__niter_base): Overloads for std::reverse_iterator,
__gnu_cxx::__normal_iterator and std::move_iterator.

From-SVN: r222617

9 years agore PR c++/57610 (Reference initialized with temporary instead of sub-object of conver...
Paolo Carlini [Thu, 30 Apr 2015 09:43:39 +0000 (09:43 +0000)]
re PR c++/57610 (Reference initialized with temporary instead of sub-object of conversion result)

2015-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57610
* g++.dg/init/ref22.C: New.

From-SVN: r222615

9 years agoc-typeck.c (c_incomplete_type_error): Refactor to use %qT.
Marek Polacek [Thu, 30 Apr 2015 09:35:05 +0000 (09:35 +0000)]
c-typeck.c (c_incomplete_type_error): Refactor to use %qT.

* c-typeck.c (c_incomplete_type_error): Refactor to use %qT.  Print
the type of a decl.

* gcc.dg/incomplete-typedef-1.c: New test.

From-SVN: r222614

9 years agoc-typeck.c (set_init_label): Call error_at instead of error and pass LOC to it.
Marek Polacek [Thu, 30 Apr 2015 09:28:48 +0000 (09:28 +0000)]
c-typeck.c (set_init_label): Call error_at instead of error and pass LOC to it.

* c-typeck.c (set_init_label): Call error_at instead of error and
pass LOC to it.

* gcc.dg/init-bad-8.c: New test.

From-SVN: r222613

9 years agore PR c++/59955 (Segmentation fault on (re?)defining a struct template as function...
Paolo Carlini [Thu, 30 Apr 2015 09:04:04 +0000 (09:04 +0000)]
re PR c++/59955 (Segmentation fault on (re?)defining a struct template as function template, when inside a struct tempate)

2015-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59955
* g++.dg/template/crash121.C: New.

From-SVN: r222612

9 years agohashtable_policy.h (_Prime_rehash_policy::_S_n_primes): Delete.
François Dumont [Thu, 30 Apr 2015 07:13:37 +0000 (07:13 +0000)]
hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): Delete.

2015-04-30  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
Delete.
* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
Remove usage of latter and compute size of the prime numbers array
locally.

From-SVN: r222611

9 years agotree-vectorizer.c (set_uid_loop_bbs): New.
Aditya Kumar [Thu, 30 Apr 2015 05:42:54 +0000 (05:42 +0000)]
tree-vectorizer.c (set_uid_loop_bbs): New.

2015-04-29  Aditya Kumar  <hiraditya@hotmail.com>

        * tree-vectorizer.c (set_uid_loop_bbs): New.  Factored out of
        vectorize_loops.
        (vectorize_loops): Use it.

From-SVN: r222610

9 years agoipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only for aggregate types.
Jan Hubicka [Thu, 30 Apr 2015 04:43:32 +0000 (06:43 +0200)]
ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only for aggregate types.

* ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
for aggregate types.
(register_odr_type): Be ready for MAIN_VARIANT of ODR type
type to be non_ODR.
* tree.c (need_assembler_name_p): Compute mangled name for
non-fundamental types and integer types.

From-SVN: r222609

9 years agodojump.c (do_compare_rtx_and_jump): Use std::swap instead of manual swaps.
Mikhail Maltsev [Thu, 30 Apr 2015 03:47:40 +0000 (03:47 +0000)]
dojump.c (do_compare_rtx_and_jump): Use std::swap instead of manual swaps.

2015-04-29  Mikhail Maltsev  <maltsevm@gmail.com>

        * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
        manual swaps.
        * expr.c (expand_expr_real_2): Likewise.

From-SVN: r222608

9 years agotree.c (build_common_builtin_nodes): Do not build __builtin_alloca_with_align as...
Jan Hubicka [Thu, 30 Apr 2015 02:58:43 +0000 (04:58 +0200)]
tree.c (build_common_builtin_nodes): Do not build __builtin_alloca_with_align as equivalent of library alloca.

* tree.c (build_common_builtin_nodes): Do not build
__builtin_alloca_with_align as equivalent of library alloca.

From-SVN: r222607

9 years agodwarf2out.c (gen_type_die_with_usage): Call verify_type.
Jan Hubicka [Thu, 30 Apr 2015 02:45:54 +0000 (02:45 +0000)]
dwarf2out.c (gen_type_die_with_usage): Call verify_type.

* dwarf2out.c (gen_type_die_with_usage): Call verify_type.
* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
bugus variants.
* tree.c: Include print-tree.h and ipa-utils.h
(free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
(free_lang_data_in_cgraph): Call verify_type.
(verify_type_variant): New function.
(verify_type): New function.
* tree.h (verify_type): Declare.

* lto.c (lto_fixup_state): Call verify_type.

From-SVN: r222606

9 years agofixup libobjc's usage of PCC_BITFIELD_TYPE_MATTERS
Trevor Saunders [Thu, 30 Apr 2015 02:08:05 +0000 (02:08 +0000)]
fixup libobjc's usage of PCC_BITFIELD_TYPE_MATTERS

libobjc/ChangeLog:

* encoding.c (objc_layout_structure_next_member): check value of
PCC_BITFIELD_TYPE_MATTERS instead of if it is defined.

From-SVN: r222605

9 years agoDaily bump.
GCC Administrator [Thu, 30 Apr 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222603

9 years agore PR libstdc++/65839 (xmethods need updating once gdb decides how to fix 18285)
Doug Evans [Wed, 29 Apr 2015 22:50:31 +0000 (22:50 +0000)]
re PR libstdc++/65839 (xmethods need updating once gdb decides how to fix 18285)

PR libstdc++/65839
* python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
Replace all lookups of "bool" with this.
(get_std_size_type): New function.  Replace all lookups of std::size_t
with this.
(*Worker): New method get_result_type.
(DequeWorkerBase.__init__): New arg val_type.  All callers updated.
(ListWorkerBase.__init__): New arg val_type.  All callers updated.
(UniquePtrGetWorker.__init__): New arg elem_type.  All callers updated.
Delete setting of name, enabled.
(UniquePtrDerefWorker.__init__): New arg elem_type.  All callers
updated.  Delete setting of name.
(UniquePtrMethodsMatcher): Rewrite for consistency with all other
libstdc++ xmethod matchers.
* testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
* testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
* testsuite/libstdc++-xmethods/deque.cc: Ditto.
* testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
* testsuite/libstdc++-xmethods/list.cc: Ditto.
* testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
* testsuite/libstdc++-xmethods/vector.cc: Ditto.

From-SVN: r222599

9 years agocompiler: Consider multi-result calls in escape analysis.
Ian Lance Taylor [Wed, 29 Apr 2015 22:40:07 +0000 (22:40 +0000)]
compiler: Consider multi-result calls in escape analysis.

When building connection graphs between objects, the analysis
only handled calls of the form `call(...)` or `var := call(...)`.
Functions with multiple results being used e.g. `var, _ = call(...)`
were not analyzed, causing some escaping variables to be marked as
non-escaping.

From-SVN: r222598

9 years agocompiler: Propagate escape info from closures to enclosed variables.
Ian Lance Taylor [Wed, 29 Apr 2015 22:14:34 +0000 (22:14 +0000)]
compiler: Propagate escape info from closures to enclosed variables.

If a closure escapes, the enclosed variables must escape via the
closure.  Reachability analysis had a bug where the enclosed
variables were not considered as reachable from the closure.

From-SVN: r222597

9 years agoUse consistent naming for value type attributes.
Doug Evans [Wed, 29 Apr 2015 21:57:04 +0000 (21:57 +0000)]
Use consistent naming for value type attributes.

* python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
to _val_type.
(ArraySizeWorker, ArrayEmptyWorker): Ditto.
(ArrayFrontWorker, ArrayBackWorker): Ditto.
(ArrayAtWorker, ArraySubscriptWorker): Ditto.
(DequeWorkerBase): Rename elemtype to val_type.
(ForwardListWorkerBase): Rename _elem_type to _val_type.
(ForwardListFrontWorker): Ditto.  And rename elem_address to
val_address.
(ForwardListMethodsMatcher): Rename elem_type to val_type.
(VectorWorkerBase): Rename _elemtype to _val_type.

From-SVN: r222596

9 years agoruntime: Support -buildmode=c-shared.
Ian Lance Taylor [Wed, 29 Apr 2015 21:31:53 +0000 (21:31 +0000)]
runtime: Support -buildmode=c-shared.

These changes permit using the go tool from the upcoming Go
1.5 release with -buildmode=c-archive to build gccgo code into
an archive file that can be linked with a C program.

From-SVN: r222594

9 years agomips-cpus.def: (mips4): Change default processor from PROCESSOR_R8000 to PROCESSOR_R1...
Steve Ellcey [Wed, 29 Apr 2015 21:09:10 +0000 (21:09 +0000)]
mips-cpus.def: (mips4): Change default processor from PROCESSOR_R8000 to PROCESSOR_R10000.

2015-04-29  Steve Ellcey  <sellcey@imgtec.com>

* config/mips/mips-cpus.def: (mips4): Change default processor
from PROCESSOR_R8000 to PROCESSOR_R10000.

From-SVN: r222593

9 years agore PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn...
Uros Bizjak [Wed, 29 Apr 2015 20:58:25 +0000 (22:58 +0200)]
re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)

PR target/65871
        * config/i386/i386.md (*bmi_bextr_<mode>_cczonly): New pattern.
        (*bmi2_bzhi_<mode>3_1_cczonly): Ditto.
        (setcc+movzbl peephole2): Check also clobbered reg.
        (setcc+andl peephole2): Ditto.

From-SVN: r222592

9 years agore PR c++/50800 (Internal compiler error in finish_member_declarations, possibly...
Jason Merrill [Wed, 29 Apr 2015 20:51:05 +0000 (16:51 -0400)]
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)

PR c++/50800
* tree.c (apply_identity_attributes): Fix handling of classes.

From-SVN: r222591

9 years agoc-common.c (handle_section_attribute): Refactor to reduce nesting and distinguish...
Josh Triplett [Wed, 29 Apr 2015 20:32:41 +0000 (20:32 +0000)]
c-common.c (handle_section_attribute): Refactor to reduce nesting and distinguish between error cases.

        * c-common.c (handle_section_attribute): Refactor to reduce
        nesting and distinguish between error cases.

From-SVN: r222590

9 years agomips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use la/jalr instead of jal.
Petar Jovanovic [Wed, 29 Apr 2015 20:28:52 +0000 (20:28 +0000)]
mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use la/jalr instead of jal.

gcc/ChangeLog:

2015-04-21  Petar Jovanovic  <petar.jovanovic@rt-rk.com>

* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
la/jalr instead of jal.

gcc/testsuite/ChangeLog:

2015-04-21  Petar Jovanovic  <petar.jovanovic@rt-rk.com>

* gcc.target/mips/call-from-init.c: New test.
* gcc.target/mips/mips.exp: Add section_start to mips_option_groups.

From-SVN: r222589

9 years agore PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn...
Uros Bizjak [Wed, 29 Apr 2015 18:53:19 +0000 (20:53 +0200)]
re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)

PR target/65871
* config/i386/i386.md (*bmi_bextr_<mode>_cczonly): New pattern.
(*bmi2_bzhi_<mode>3_1_cczonly): Ditto.

testsuite/ChangeLog:

PR target/65871
* gcc.target/i386/pr65871-1.c: New test
* gcc.target/i386/pr65871-2.c: Ditto.

From-SVN: r222588

9 years agore PR c/64610 (No -Wbool-compare warning on "(0 != a) >= 0")
Marek Polacek [Wed, 29 Apr 2015 18:13:44 +0000 (18:13 +0000)]
re PR c/64610 (No -Wbool-compare warning on "(0 != a) >= 0")

PR c/64610
* c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
with 0/1.

* c-c++-common/Wbool-compare-1.c (fn1): Remove a few lines.
* c-c++-common/Wbool-compare-2.c: New test.

From-SVN: r222587

9 years agoFix libgcc installation for offload targets.
Bernd Schmidt [Wed, 29 Apr 2015 16:52:45 +0000 (16:52 +0000)]
Fix libgcc installation for offload targets.

* Makefile.in (real_host_noncanonical): New variable.
(libsubdir): Use it.
* configure.ac (real_host_noncanonical): Compute.  Remove special
case for intelmicemul.
* configure: Regenerate.

From-SVN: r222585

9 years ago[PR libgomp/65099] nvptx mkoffload: pass "-m32" or "-m64" to the compiler
Thomas Schwinge [Wed, 29 Apr 2015 16:23:26 +0000 (18:23 +0200)]
[PR libgomp/65099] nvptx mkoffload: pass "-m32" or "-m64" to the compiler

... depending on "-foffload-abi=[...]".

Coding style/code copied from gcc/config/i386/intelmic-mkoffload.c for
consistency.

gcc/
* config/nvptx/mkoffload.c (target_ilp32): New variable.
(main): Set it depending on "-foffload-abi=[...]".
(compile_native, main): Use it to pass "-m32" or "-m64" to the
compiler.

From-SVN: r222583

9 years ago[AArch64] Fix PR/65770 vstN_lane on bigendian
Alan Lawrence [Wed, 29 Apr 2015 16:10:27 +0000 (16:10 +0000)]
[AArch64] Fix PR/65770 vstN_lane on bigendian

gcc/:

* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
Flip lane index back at assembly time for bigendian.

gcc/testsuite/:

* gcc.target/aarch64/vstN_lane_1.c: New file.

From-SVN: r222582

9 years agore PR libstdc++/65760 (invalid use of incomplete type with std::is_convertible<C...
Jonathan Wakely [Wed, 29 Apr 2015 16:07:47 +0000 (17:07 +0100)]
re PR libstdc++/65760 (invalid use of incomplete type with std::is_convertible<C, C>)

PR libstdc++/65760
* include/std/functional (__check_func_return_type): Use is_same to
avoid using _is_convertible on incomplete types.
* testsuite/20_util/function/65760.cc: New.

From-SVN: r222581

9 years agoAdd OMP_STANDALONE_CLAUSES.
Thomas Schwinge [Wed, 29 Apr 2015 15:44:41 +0000 (17:44 +0200)]
Add OMP_STANDALONE_CLAUSES.

gcc/
* tree.h (OMP_STANDALONE_CLAUSES): New macro.
* gimplify.c (gimplify_omp_workshare): Use it.
gcc/c/
* c-parser.c (c_parser_oacc_enter_exit_data): Use
OMP_STANDALONE_CLAUSES.
gcc/cp/
* parser.c (cp_parser_oacc_enter_exit_data): Use
OMP_STANDALONE_CLAUSES.

From-SVN: r222580

9 years agore PR libstdc++/64657 (Support iterators with overloaded operator-comma)
Jonathan Wakely [Wed, 29 Apr 2015 15:22:13 +0000 (16:22 +0100)]
re PR libstdc++/64657 (Support iterators with overloaded operator-comma)

PR libstdc++/64657
* include/bits/basic_string (basic_string::_S_copy_chars): Cast
expression to void.
* include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
time_get::_M_extract_num, time_get::_M_extract_name,
time_get::_M_extract_wday_or_month): Likewise.
* include/bits/stl_algo.h (__includes, __replace_copy_if,
__is_sorted_until, __is_permutation, transform): Likewise.
* include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
__equal::equal, __lexicographical_compare_impl, equal): Likewise.
* include/bits/stl_numeric.h (inner_product): Likewise.
* include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
* testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
input_iterator_wrapper): Declare unusable comma operator.
* testsuite/21_strings/basic_string/cons/char/64657.cc: New.
* testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
New.

From-SVN: r222579

9 years agore PR c++/64667 (-Winit-self ignored for reference fields)
Paolo Carlini [Wed, 29 Apr 2015 14:06:27 +0000 (14:06 +0000)]
re PR c++/64667 (-Winit-self ignored for reference fields)

/cp
2015-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64667
* init.c (perform_member_init): Handle references for -Winit-self.

/testsuite
2015-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64667
* g++.dg/warn/Winit-self-3.C: New.

From-SVN: r222577

9 years agoMakefile.in (build/genrecog.o): Depend on inchash.h.
Richard Sandiford [Wed, 29 Apr 2015 13:32:59 +0000 (13:32 +0000)]
Makefile.in (build/genrecog.o): Depend on inchash.h.

gcc/
* Makefile.in (build/genrecog.o): Depend on inchash.h.
(build/genrecog$(build_exeext): Depend on build/hash-table.o and
build/inchash.o
* genrecog.c: Rewrite most of the code except for the third page.

From-SVN: r222575

9 years agoinchash.h, inchash.c: Include bconfig.h for build objects.
Richard Sandiford [Wed, 29 Apr 2015 13:32:34 +0000 (13:32 +0000)]
inchash.h, inchash.c: Include bconfig.h for build objects.

gcc/
* inchash.h, inchash.c: Include bconfig.h for build objects.
* Makefile.in (build/inchash.o): New rule.

From-SVN: r222574

9 years agonamelist_87.f90: Use dg-add-options ieee.
Uros Bizjak [Wed, 29 Apr 2015 11:53:39 +0000 (13:53 +0200)]
namelist_87.f90: Use dg-add-options ieee.

* gfortran.dg/namelist_87.f90: Use dg-add-options ieee.

From-SVN: r222573

9 years agore PR target/65924 (ICE const_int_operand failed on arm-none-eabi)
Yvan Roux [Wed, 29 Apr 2015 11:31:40 +0000 (11:31 +0000)]
re PR target/65924 (ICE const_int_operand failed on arm-none-eabi)

gcc/
2015-04-29  Yvan Roux  <yvan.roux@linaro.org>

PR target/65924
* config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
number in type attribute expression.

gcc/testsuite/
2015-04-29  Yvan Roux  <yvan.roux@linaro.org>

PR target/65924
* gcc.target/arm/pr65924.c: New test.

From-SVN: r222572

9 years agoloop-iv.c (canon_condition): Generalize to all types of integer constant.
Richard Sandiford [Wed, 29 Apr 2015 11:12:17 +0000 (11:12 +0000)]
loop-iv.c (canon_condition): Generalize to all types of integer constant.

gcc/
* loop-iv.c (canon_condition): Generalize to all types of integer
constant.

From-SVN: r222571

9 years agogimple-walk.c #include TLC
Bernhard Reutner-Fischer [Wed, 29 Apr 2015 10:45:31 +0000 (12:45 +0200)]
gimple-walk.c #include TLC

Also look at return values of parse_input_constraint and
parse_output_constraint.

From-SVN: r222569

9 years ago[ARM]Remove vec_shr and vec_shr optabs
Alan Lawrence [Wed, 29 Apr 2015 10:13:36 +0000 (10:13 +0000)]
[ARM]Remove vec_shr and vec_shr optabs

        * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.

From-SVN: r222568

9 years agoMove pass_stdarg to after pass_dce in pass_all_optimizations
Tom de Vries [Wed, 29 Apr 2015 09:13:49 +0000 (09:13 +0000)]
Move pass_stdarg to after pass_dce in pass_all_optimizations

2015-04-29  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65893
* passes.def (pass_all_optimizations): Move pass_stdarg to after
pass_dce.

From-SVN: r222567

9 years agoFix OpenMP's target update directive in templated code.
Thomas Schwinge [Wed, 29 Apr 2015 09:04:31 +0000 (11:04 +0200)]
Fix OpenMP's target update directive in templated code.

    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++98 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++98 (test for excess errors)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++11 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++11 (test for excess errors)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++14 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++14 (test for excess errors)

    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C: In instantiation of 'void f(T, T) [with T = int]':
    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:19:9:   required from here
    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:10:9: internal compiler error: tree check: expected oacc_parallel or oacc_kernels or oacc_data or oacc_host_data or omp_parallel or omp_task or omp_for or omp_simd or cilk_simd or cilk_for or omp_distribute or oacc_loop or omp_teams or omp_target_data or omp_target or omp_sections or omp_single, have omp_target_update in tsubst_expr, at cp/pt.c:14209
    0xf5aae1 tree_range_check_failed(tree_node const*, char const*, int, char const*, tree_code, tree_code)
            [...]/source-gcc/gcc/tree.c:9384
    0x66e201 tree_range_check
            [...]/source-gcc/gcc/tree.h:2979
    0x66e201 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:14209
    0x6695e3 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:13752
    0x66ac07 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:13938
    0x667c41 instantiate_decl(tree_node*, int, bool)
            [...]/source-gcc/gcc/cp/pt.c:20367
    0x6ae386 instantiate_pending_templates(int)
            [...]/source-gcc/gcc/cp/pt.c:20484
    0x6edc3d cp_write_global_declarations()
            [...]/source-gcc/gcc/cp/decl2.c:4456

gcc/cp/
* pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
gcc/testsuite/
* g++.dg/gomp/tpl-target-update.C: New file.

From-SVN: r222564