]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years agoDaily bump.
gccadmin [Thu, 21 Jul 2016 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238557 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * hwint.h (HOST_WIDE_INT_0): New define.
uros [Wed, 20 Jul 2016 21:59:44 +0000 (21:59 +0000)] 
* hwint.h (HOST_WIDE_INT_0): New define.
(HOST_WIDE_INT_0U): Ditto.
* double-int.c: Use HOST_WIDE_INT_0 instead of (HOST_WIDE_INT) 0.
* dse.c: Use HOST_WIDE_INT_0U instead of (unsigned HOST_WIDE_INT) 0.
* simplify-rtx.c: Ditto.
* tree-object-size.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238545 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoC++ FE: handle misspelled identifiers and typenames
dmalcolm [Wed, 20 Jul 2016 18:42:11 +0000 (18:42 +0000)] 
C++ FE: handle misspelled identifiers and typenames

gcc/cp/ChangeLog:
PR c/70339
PR c/71858
* name-lookup.c: Include gcc-rich-location.h, spellcheck-tree.h,
and parser.h.
(suggest_alternatives_for): If no candidates are found, try
lookup_name_fuzzy and report if if finds a suggestion.
(consider_binding_level): New function.
(lookup_name_fuzzy) New function.
* parser.c: Include gcc-rich-location.h.
(cp_lexer_next_token_is_decl_specifier_keyword): Move most of
logic into...
(cp_keyword_starts_decl_specifier_p): ...this new function.
(cp_parser_diagnose_invalid_type_name): When issuing
"does not name a type" errors, attempt to make a suggestion using
lookup_name_fuzzy.
* parser.h (cp_keyword_starts_decl_specifier_p): New prototype.
* search.c (lookup_field_fuzzy_info::fuzzy_lookup_field): Reject
types that are not CLASS_TYPE_P, rather than rejecting individual
tree codes.

gcc/testsuite/ChangeLog:
PR c/70339
PR c/71858
* g++.dg/spellcheck-identifiers.C: New test case, based on
gcc.dg/spellcheck-identifiers.c.
* g++.dg/spellcheck-identifiers-2.C: New test case, based on
gcc.dg/spellcheck-identifiers-2.c.
* g++.dg/spellcheck-typenames.C: New test case, based on
gcc.dg/spellcheck-typenames.c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238538 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoS/390: Remove mode size check in encode_section_info.
krebbel [Wed, 20 Jul 2016 18:33:30 +0000 (18:33 +0000)] 
S/390: Remove mode size check in encode_section_info.

With the last change the not-aligned symbol ref markers are always set
for modes with size zero.  This is wrong since for larl the size of
the access does not matter.  This patch removes that check entirely
from s390_encode_section_info.  Modes with a size of 0 get rejected in
s390_check_symref_alignment which is used for the load/store relative
instructions to check for natural alignment.

Bootstrapped and regression tested on s390 and s390x with
--with-arch=z900 and --with-arch=z13.

gcc/ChangeLog:

2016-07-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_encode_section_info): Remove mode size
check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238536 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDocument LWG DR 2684 status and regenerate libstdc++ manual
redi [Wed, 20 Jul 2016 18:22:05 +0000 (18:22 +0000)] 
Document LWG DR 2684 status and regenerate libstdc++ manual

* doc/xml/manual/intro.xml: Document DR 2684 status.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238535 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoLWG 2441 Provide exact-width atomic typedefs
redi [Wed, 20 Jul 2016 18:21:59 +0000 (18:21 +0000)] 
LWG 2441 Provide exact-width atomic typedefs

* include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
(atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
(atomic_uint64_t): Define (LWG 2441).
* testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
lines.
* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
the new types.
* doc/xml/manual/intro.xml: Document DR 2441 status.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238534 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoLWG 2328 Rvalue stream extraction should use perfect forwarding
redi [Wed, 20 Jul 2016 18:21:53 +0000 (18:21 +0000)] 
LWG 2328 Rvalue stream extraction should use perfect forwarding

* include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
to use perfect forwarding (LWG 2328).
* testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
* doc/xml/manual/intro.xml: Document DR 2328 status.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238533 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse static pointer to member when catching nullptr
redi [Wed, 20 Jul 2016 18:21:48 +0000 (18:21 +0000)] 
Use static pointer to member when catching nullptr

libstdc++-v3:

* libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
static objects for catching nullptr as pointer to member types.

gcc/testsuite:

* g++.dg/cpp0x/nullptr35.C: Change expected result for catching as
pointer to member function and also test catching by reference.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238532 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoS/390: Fix pr67443.c.
krebbel [Wed, 20 Jul 2016 17:11:37 +0000 (17:11 +0000)] 
S/390: Fix pr67443.c.

The attached patch rewrites the pr67443.c testcase in a different way
so that the test still works with the changed allocation of globals
pinned to registers.  The test ist hopefully more robust now.

gcc/testsuite/ChangeLog:

2016-07-20  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/pr67443.c: Fix test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238531 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoS/390: Xfail some tests in insv-[12].c.
krebbel [Wed, 20 Jul 2016 17:09:03 +0000 (17:09 +0000)] 
S/390: Xfail some tests in insv-[12].c.

The attached patch XFAILs some of the "insv" testcases as
discussed internally.  Tested on s390x biarch and s390.

gcc/testsuite/ChangeLog:

2016-07-20  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/insv-1.c: Xfail some tests.
* gcc.target/s390/insv-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238530 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
uros [Wed, 20 Jul 2016 15:47:33 +0000 (15:47 +0000)] 
* cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
* combine.c: Use HOST_WIDE_INT_M1U instead of
~(unsigned HOST_WIDE_INT) 0.
* double-int.h: Ditto.
* dse.c: Ditto.
* dwarf2asm.c:Ditto.
* expmed.c: Ditto.
* genmodes.c: Ditto.
* match.pd: Ditto.
* read-rtl.c: Ditto.
* tree-ssa-loop-ivopts.c: Ditto.
* tree-ssa-loop-prefetch.c: Ditto.
* tree-vect-generic.c: Ditto.
* tree-vect-patterns.c: Ditto.
* tree.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238529 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
gjl [Wed, 20 Jul 2016 14:46:57 +0000 (14:46 +0000)] 
gcc/
* gcc/config/avr.c (avr_legitimize_address) [AVR_TINY]: Force
constant addresses outside [0,0xc0] into a register.
(avr_out_movhi_r_mr_reg_no_disp_tiny): Pass insn.  And handle
cases where the base address register is unused after.
(avr_out_movhi_r_mr_reg_disp_tiny): Same.
(avr_out_movhi_mr_r_reg_disp_tiny): Same.
(avr_out_store_psi_reg_disp_tiny): Same.

gcc/testsuite/
* gcc.target/avr/torture/get-mem.c: New test.
* gcc.target/avr/torture/set-mem.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238528 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
gjl [Wed, 20 Jul 2016 14:12:16 +0000 (14:12 +0000)] 
gcc/
Implement attribute progmem on reduced Tiny cores by adding
flash offset 0x4000 to respective symbols.

PR target/71948
* doc/extend.texi (AVR Variable Attributes) [progmem]: Add
documentation how it works on reduced Tiny cores.
(AVR Named Address Spaces): No support for reduced Tiny.
* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): New macro.
(avr_address_tiny_pm_p): New static function.
(avr_print_operand_address) [AVR_TINY]: Add AVR_TINY_PM_OFFSET
if the address is in progmem.
(avr_assemble_integer): Same.
(avr_encode_section_info) [AVR_TINY]: Set AVR_SYMBOL_FLAG_TINY_PM
for symbol_ref in progmem.
* config/avr/avr.h (AVR_TINY_PM_OFFSET): New macro.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it instead of
magic 0x4000 when built-in def'ing __AVR_TINY_PM_BASE_ADDRESS__.
gcc/testsuite/
PR target/71948
* gcc.target/avr/torture/tiny-progmem.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238525 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoBuild libbackend.a as a thin archive if possible
ppalka [Wed, 20 Jul 2016 14:09:20 +0000 (14:09 +0000)] 
Build libbackend.a as a thin archive if possible

gcc/ChangeLog:

* configure.ac (thin_archive_support): New variable.  AC_SUBST it.
* configure: Regenerate.
* Makefile.in (THIN_ARCHIVE_SUPPORT): New variable.
(USE_THIN_ARCHIVES): New variable.
(libbackend.a): If USE_THIN_ARCHIVES then pass T to ar to build
this archive as a thin archive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238524 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoEnabling work for C++ handling of misspelled identifiers and typenames
dmalcolm [Wed, 20 Jul 2016 14:03:03 +0000 (14:03 +0000)] 
Enabling work for C++ handling of misspelled identifiers and typenames

gcc/c/ChangeLog:
* c-decl.c (struct edit_distance_traits<cpp_hashnode *>): Move to
spellcheck-tree.h
(best_macro_match): Likewise, converting from a typedef to a
subclass.
(find_closest_macro_cpp_cb): Move to spellcheck-tree.c.
(lookup_name_fuzzy): Update for change of best_macro_match to a
subclass with a ctor that calls cpp_forall_identifiers.

gcc/ChangeLog:
* diagnostic-show-locus.c (diagnostic_show_locus): If this is the
same location as last time, don't skip if we have fix-it hints.
Clarify the skipping logic by converting it from one "if" clause
to repeated "if" clauses.
* spellcheck-tree.c: Include "cpplib.h".
(find_closest_macro_cpp_cb): Move here from c/c-decl.c.
(best_macro_match::best_macro_match): New constructor.
* spellcheck-tree.h (struct edit_distance_traits<cpp_hashnode *>):
Move here from c/c-decl.c.
(class best_macro_match): Move here from c/c-decl.c, converting
from a typedef to a subclass, gaining a ctor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238522 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71909
jakub [Wed, 20 Jul 2016 14:01:30 +0000 (14:01 +0000)] 
PR c++/71909
* parser.c (cp_parser_save_member_function_body): Consume
__transaction_relaxed or __transaction_atomic with optional
attribute.  Only skip catch with block if try keyword is seen.

* g++.dg/parse/pr71909.C: New test.
* g++.dg/tm/pr71909.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238521 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/50060
jakub [Wed, 20 Jul 2016 14:00:02 +0000 (14:00 +0000)] 
PR c++/50060
* constexpr.c (cxx_eval_builtin_function_call): Pass false as lval
when evaluating call arguments.  Use fold_builtin_call_array instead
of fold_build_call_array_loc, return t if it returns NULL.  Otherwise
check the result with potential_constant_expression and call
cxx_eval_constant_expression on it.

* g++.dg/cpp0x/constexpr-50060.C: New test.
* g++.dg/cpp1y/constexpr-50060.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238520 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
gjl [Wed, 20 Jul 2016 13:50:31 +0000 (13:50 +0000)] 
gcc/
* config/avr/avr-protos.h (avr_addr_space_supported_p): New prototype.
* config/avr/avr.c (TARGET_ADDR_SPACE_DIAGNOSE_USAGE): New hook
define...
(avr_addr_space_diagnose_usage): ...and implementation.
(avr_addr_space_supported_p): New function.
(avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Only
report bad address space usage if that space is supported.
(avr_insert_attributes): Same.  No more complain about unsupported
address spaces.
* config/avr/avr-c.c (tm_p.h): Include it.
(avr_cpu_cpp_builtins): Only define addr-space related built-in
macro if avr_addr_space_supported_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238519 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agonvptx: do not implicitly enable -ftoplevel-reorder
amonakov [Wed, 20 Jul 2016 13:47:12 +0000 (13:47 +0000)] 
nvptx: do not implicitly enable -ftoplevel-reorder

* config/nvptx/nvptx.c (nvptx_option_override): Do not set
flag_toplevel_reorder.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238518 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoC: convert return type of lookup_name_fuzzy from tree to const char *
dmalcolm [Wed, 20 Jul 2016 13:42:51 +0000 (13:42 +0000)] 
C: convert return type of lookup_name_fuzzy from tree to const char *

gcc/c-family/ChangeLog:
* c-common.h (lookup_name_fuzzy): Convert return type from tree to
const char *.

gcc/c/ChangeLog:
* c-decl.c (implicit_decl_warning): Update for conversion of
return type of lookup_name_fuzzy to const char *.
(undeclared_variable): Likewise.
(lookup_name_fuzzy): Convert return type from tree to
const char *.
* c-parser.c (c_parser_declaration_or_fndef): Update for
conversion of return type of lookup_name_fuzzy to const char *.
(c_parser_parameter_declaration): Likewise.

gcc/ChangeLog:
* gcc-rich-location.c
(gcc_rich_location::add_fixit_misspelled_id): New overload, taking
a const char *.
* gcc-rich-location.h
(gcc_rich_location::add_fixit_misspelled_id): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238517 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
gjl [Wed, 20 Jul 2016 13:07:43 +0000 (13:07 +0000)] 
gcc/
* target.def (addr_space): Add new diagnose_usage to hook vector.
* targhooks.c (default_addr_space_diagnose_usage): Add default
implementation and...
* targhooks.h (default_addr_space_diagnose_usage): ... its prototype.
* c/c-parser.c (c_lex_one_token) [CPP_NAME]: If the token
is some address space, call targetm.addr_space.diagnose_usage.
* doc/tm.texi.in (Named Address Spaces): Add anchor for
TARGET_ADDR_SPACE_DIAGNOSE_USAGE documentation.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238514 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoProperly handly PHI stmts in later_of_the_two (PR
marxin [Wed, 20 Jul 2016 11:16:47 +0000 (11:16 +0000)] 
Properly handly PHI stmts in later_of_the_two (PR

PR middle-end/71898
* graphite-isl-ast-to-gimple.c (later_of_the_two):
Properly handly PHI stmts.
* gfortran.dg/graphite/pr71898.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238513 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/71503
amker [Wed, 20 Jul 2016 08:31:35 +0000 (08:31 +0000)] 
PR tree-optimization/71503
PR tree-optimization/71683
* tree-if-conv.c (gen_phi_arg_condition): Record true predicate
and break.

gcc/testsuite
PR tree-optimization/71503
PR tree-optimization/71683
* gcc.dg/tree-ssa/ifc-pr71503.c: New test.
* gcc.dg/tree-ssa/ifc-pr71683.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238512 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac (nds32*-*-*): Remove entry to enable gdb.
nickc [Wed, 20 Jul 2016 08:09:25 +0000 (08:09 +0000)] 
* configure.ac (nds32*-*-*): Remove entry to enable gdb.
    * configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238511 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoEnhance documentation of -fipa-ra option.
marxin [Wed, 20 Jul 2016 07:02:09 +0000 (07:02 +0000)] 
Enhance documentation of -fipa-ra option.

* doc/invoke.texi (-fipa-ra): Document when the option is
disabled. Fix a typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238510 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd selftests for fibonacci_heap
marxin [Wed, 20 Jul 2016 07:01:48 +0000 (07:01 +0000)] 
Add selftests for fibonacci_heap

* Makefile.in: Include fibonacci_heap.c
* fibonacci_heap.c: New file.
* fibonacci_heap.h (fibonacci_heap::insert): Use insert_node.
(fibonacci_heap::union_with): Fix deletion of the second heap.
* selftest-run-tests.c (selftest::run_tests): Incorporate
fibonacci heap tests.
* selftest.h: Declare fibonacci_heap_c_tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238509 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd sreal to selftests
marxin [Wed, 20 Jul 2016 07:00:50 +0000 (07:00 +0000)] 
Add sreal to selftests

* selftest-run-tests.c (selftest::run_tests): New function.
* selftest.h (sreal_c_tests): Declare.
* sreal.c (sreal_verify_basics): New function.
(verify_aritmetics): Likewise.
(sreal_verify_arithmetics): Likewise.
(verify_shifting): Likewise.
(sreal_verify_shifting): Likewise.
(void sreal_c_tests): Likewise.
* gcc.dg/plugin/plugin.exp: Remove sreal test.
* gcc.dg/plugin/sreal-test-1.c: Remove.
* gcc.dg/plugin/sreal_plugin.c: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238508 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/67164 - clean up dead code
jason [Wed, 20 Jul 2016 05:06:52 +0000 (05:06 +0000)] 
PR c++/67164 - clean up dead code

* pt.c (iterative_hash_template_arg, template_args_equal): Don't
handle ARGUMENT_PACK_SELECT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238507 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 20 Jul 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238506 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 19 Jul 2016 21:25:33 +0000 (21:25 +0000)] 
2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
if identical is true and two array element references differ.
(gfc_dep_resovler):  Move most of the code to dep_ref.
(dep_ref):  New function.
* frontend-passes.c (realloc_string_callback):  Name temporary
variable "realloc_string".

2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* gfortran.dg/dependency_47.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238497 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR rtl-optimization/71916
jakub [Tue, 19 Jul 2016 19:54:49 +0000 (19:54 +0000)] 
PR rtl-optimization/71916
* cfgrtl.c (contains_no_active_insn_p): Return false also for
bb which have a single succ fake edge.

* gcc.c-torture/compile/pr71916.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238490 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR debug/71855
aldyh [Tue, 19 Jul 2016 19:29:42 +0000 (19:29 +0000)] 
PR debug/71855
* dwarf2out.c (gen_subprogram_die): Only call
gen_unspecified_parameters_die while dumping early dwarf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238488 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/71874
jakub [Tue, 19 Jul 2016 17:30:05 +0000 (17:30 +0000)] 
PR middle-end/71874
* gimple-fold.c (fold_builtin_memory_op): Use
get_addr_base_and_unit_offset instead of get_ref_base_and_extent.

* g++.dg/torture/pr71874.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238484 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/71734
jakub [Tue, 19 Jul 2016 16:47:30 +0000 (16:47 +0000)] 
PR middle-end/71734
* g++.dg/vect/pr70729.cc: Don't include string.h or xmmintrin.h.
(my_alloc): Rewritten to use __builtin_posix_memalign and
__SIZE_TYPE__.
(my_free): Use __builtin_free instead of _mm_free.
(Vec::operator=): Use __builtin_memcpy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238482 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
uros [Tue, 19 Jul 2016 16:40:55 +0000 (16:40 +0000)] 
* builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1,
HOST_WIDE_INT_M1 instead of (HOST_WIDE_INT) -1 and
HOST_WIDE_INT_M1U instead of (unsigned HOST_WIDE_INT) -1.
* combine.c: Ditto.
* cse.c: Ditto.
* dojump.c: Ditto.
* double-int.c: Ditto.
* dse.c: Ditto.
* dwarf2out.c: Ditto.
* expmed.c: Ditto.
* expr.c: Ditto.
* fold-const.c: Ditto.
* function.c: Ditto.
* fwprop.c: Ditto.
* genmodes.c: Ditto.
* hwint.c: Ditto.
* hwint.h: Ditto.
* ifcvt.c: Ditto.
* loop-doloop.c: Ditto.
* loop-invariant.c: Ditto.
* loop-iv.c: Ditto.
* match.pd: Ditto.
* optabs.c: Ditto.
* real.c: Ditto.
* reload.c: Ditto.
* rtlanal.c: Ditto.
* simplify-rtx.c: Ditto.
* stor-layout.c: Ditto.
* toplev.c: Ditto.
* tree-ssa-loop-ivopts.c: Ditto.
* tree-vect-generic.c: Ditto.
* tree-vect-patterns.c: Ditto.
* tree.c: Ditto.
* tree.h: Ditto.
* ubsan.c: Ditto.
* varasm.c: Ditto.
* wide-int-print.cc: Ditto.
* wide-int.cc: Ditto.
* wide-int.h: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238481 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoselftest.c: gracefully handle NULL in assert_streq
dmalcolm [Tue, 19 Jul 2016 16:16:18 +0000 (16:16 +0000)] 
selftest.c: gracefully handle NULL in assert_streq

gcc/ChangeLog:
* selftest.c (selftest::assert_streq): Handle NULL values of
val_actual and val_expected.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238479 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config.host (m32r): Add m32r/t-m32r to tmake_file.
nickc [Tue, 19 Jul 2016 16:07:40 +0000 (16:07 +0000)] 
* config.host (m32r): Add m32r/t-m32r to tmake_file.
Add crtinit.o and crtfini.o to extra_parts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238478 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR fortran/71688
jamborm [Tue, 19 Jul 2016 15:40:43 +0000 (15:40 +0000)] 
Fix PR fortran/71688

2016-07-19  Martin Jambor  <mjambor@suse.cz>

        PR fortran/71688
        * trans-decl.c (gfc_generate_function_code): Use cgraph_get_create_node
        rather than cgraph_create_node to get a call graph node.

testsuite/
        gfortran.dg/pr71688.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238476 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jul 2016 14:16:54 +0000 (14:16 +0000)] 
2016-07-19  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case,
handle all tcc_constant bases and valueize SSA names.
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle
tcc_constant bases.

* c-c++-common/vector-subscript-6.c: New testcase.
* c-c++-common/vector-subscript-7.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238475 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix failing test for targets with sizeof(int) != 4.
saaadhu [Tue, 19 Jul 2016 13:16:32 +0000 (13:16 +0000)] 
Fix failing test for targets with sizeof(int) != 4.

gcc/testsuite/

2016-07-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/params/blocksort-part.c: Conditionally define Int32
and UInt32 based on __SIZEOF_INT__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238471 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix copy&paste bug in function-tests.c
dmalcolm [Tue, 19 Jul 2016 13:04:32 +0000 (13:04 +0000)] 
Fix copy&paste bug in function-tests.c

gcc/ChangeLog:
* function-tests.c (selftest::verify_three_block_rtl_cfg): Verify
the flags of the exit block and bb2, not just the entry block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238470 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-19 Fritz Reese <fritzoreese@gmail.com>
foreese [Tue, 19 Jul 2016 10:39:19 +0000 (10:39 +0000)] 
2016-07-19  Fritz Reese  <fritzoreese@gmail.com>

* MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238469 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jul 2016 10:19:46 +0000 (10:19 +0000)] 
2016-07-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71901
* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
align member, group stuff with the bitfield.
(vn_ref_op_align_unit): New inline.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): For ARRAY_REFs
record element alignment and operand 3 unchanged.
(ao_ref_init_from_vn_reference): Adjust.
(valueize_refs_1): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238468 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-18 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jul 2016 10:18:25 +0000 (10:18 +0000)] 
2016-07-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71908
* tree-ssa-structalias.c (get_constraint_for_component_ref): Handle
symbolic constants in a more reliable way.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238467 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Tue, 19 Jul 2016 10:04:02 +0000 (10:04 +0000)] 
gcc/

* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update
comment.
(vect_update_inits_of_drs): Likewise.
(vect_create_cond_for_alias_checks): Likewise.
* tree-vect-loop.c (vect_get_known_peeling_cost): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238466 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jul 2016 07:35:05 +0000 (07:35 +0000)] 
2016-07-19  Richard Biener  <rguenther@suse.de>

PR lto/71907
* lto-streamer-out.c (DFS::DFS_write_tree_body): For blocks
with an abstract origin that is not an inlined function outer
scope add a self-reference as abstract origin.
* tree-streamer-out.c (write_ts_block_tree_pointers): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238456 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
meissner [Tue, 19 Jul 2016 03:31:48 +0000 (03:31 +0000)] 
[gcc]
2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71493
* config/rs6000/rs6000.c (rs6000_function_value): Fix
unintentional System V.4 structure return breakage for structures
with a single floating point element.

[gcc/testsuite]
2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71493
* gcc.target/powerpc/pr71493-1.c: New test.
* gcc.target/powerpc/pr71493-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238454 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 19 Jul 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238453 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/70869
jakub [Mon, 18 Jul 2016 18:45:18 +0000 (18:45 +0000)] 
PR c++/70869
PR c++/71054
* cp-gimplify.c (cp_genericize_r): Revert the 2016-07-07 change.
* tree.c (cp_walk_subtrees): For DECL_EXPR on DECL_ARTIFICIAL
non-static VAR_DECL, walk the decl's DECL_INITIAL, DECL_SIZE and
DECL_SIZE_UNIT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238444 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71835
jakub [Mon, 18 Jul 2016 18:44:51 +0000 (18:44 +0000)] 
PR c++/71835
* call.c (build_op_call_1): Use convert_like_with_context only
if cand->fn is a decl.

* g++.dg/conversion/ambig3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238443 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71828
jakub [Mon, 18 Jul 2016 18:43:19 +0000 (18:43 +0000)] 
PR c++/71828
* constexpr.c (cxx_eval_constant_expression) <case REALPART_EXPR>:
For lval don't use cxx_eval_unary_expression and instead recurse
and if needed rebuild the reference.

* g++.dg/cpp0x/constexpr-71828.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238442 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71826
jakub [Mon, 18 Jul 2016 18:42:24 +0000 (18:42 +0000)] 
PR c++/71826
* pt.c (tsubst_baselink): Only set BASELINK_OPTYPE for BASELINK_P.

* g++.dg/template/pr71826.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238441 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71822
jakub [Mon, 18 Jul 2016 18:40:12 +0000 (18:40 +0000)] 
PR c++/71822
* cp-gimplify.c (cp_gimplify_expr) <case VEC_INIT_EXPR>: Recursively
fold *expr_p before genericizing it.

* g++.dg/template/defarg21.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238440 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71871
jakub [Mon, 18 Jul 2016 17:44:48 +0000 (17:44 +0000)] 
PR c++/71871
* typeck.c (build_x_conditional_expr): Revert the 2012-10-25 change.

* g++.dg/ext/vector31.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238439 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/pr70017.c: Do not check for warning on alpha*-*-*.
uros [Mon, 18 Jul 2016 15:55:36 +0000 (15:55 +0000)] 
* gcc.dg/pr70017.c: Do not check for warning on alpha*-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238438 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Demangle C++17 fold-expressions.
jason [Mon, 18 Jul 2016 15:28:51 +0000 (15:28 +0000)] 
Demangle C++17 fold-expressions.

* cp-demangle.c (cplus_demangle_operators): Add f[lrLR].
(d_expression_1): Handle them.
(d_maybe_print_fold_expression): New.
(d_print_comp_inner): Use it.
(d_index_template_argument): Handle negative index.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238437 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoClean up optional's comments.
ville [Mon, 18 Jul 2016 14:45:56 +0000 (14:45 +0000)] 
Clean up optional's comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238436 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Mon, 18 Jul 2016 14:30:20 +0000 (14:30 +0000)] 
gcc/

2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71734
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Add REF_LOOP argument which
contains REF, use it to check safelen, assume that safelen value
must be greater 1, fix style.
(ref_indep_loop_p_2): Add REF_LOOP argument.
(ref_indep_loop_p): Pass LOOP as additional argument to
ref_indep_loop_p_2.

gcc/testsuite/

2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71734
* g++.dg/vect/pr70729.cc: Delete redundant dg options, fix style.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238435 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAllocate constant size dynamic stack space in the prologue
krebbel [Mon, 18 Jul 2016 13:10:27 +0000 (13:10 +0000)] 
Allocate constant size dynamic stack space in the prologue

The attached patch fixes a warning during Linux kernel compilation
on S/390 due to -mwarn-dynamicstack and runtime alignment of stack
variables with constant size causing cfun->calls_alloca to be set
(even if alloca is not used at all).  The patched code places
constant size runtime aligned variables in the "virtual stack
vars" area instead of creating a "virtual stack dynamic" area.

This behaviour is activated by defining

  #define ALLOCATE_DYNAMIC_STACK_SPACE_IN_PROLOGUE 1

in the backend; otherwise the old logic is used.

The kernel uses runtime alignment for the page structure (aligned
to 16 bytes), and apart from triggereing the alloca warning
(-mwarn-dynamicstack), the current Gcc also generates inefficient
code like

  aghi %r15,-160  # prologue: create stack frame
    lgr %r11,%r15   # prologue: generate frame pointer
      aghi %r15,-32   # space for dynamic stack

which could be simplified to

  aghi %r15,-192

(if later optimization passes are able to get rid of the frame
pointer).  Is there a specific reason why the patched behaviour
shouldn't be used for all platforms?

--

As the placement of runtime aligned stack variables with constant
size is done completely in the middleend, I don't see a way to fix
this in the backend.

gcc/ChangeLog:

2016-07-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* cfgexpand.c (expand_stack_vars): Implement synamic stack space
allocation in the prologue.
* explow.c (get_dynamic_stack_base): New function to return an address
expression for the dynamic stack base.
(get_dynamic_stack_size): New function to do the required dynamic stack
space size calculations.
(allocate_dynamic_stack_space): Use new functions.
(align_dynamic_address): Move some code from
allocate_dynamic_stack_space to new function.
* explow.h (get_dynamic_stack_base, get_dynamic_stack_size): Export.

gcc/testsuite/ChangeLog:

2016-07-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/warn-dynamicstack-1.c: New test.
* gcc.dg/stack-usage-2.c (foo3): Adapt expected warning.
stack-layout-dynamic-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238432 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoS/390: Fix alignment check for literal pool references.
krebbel [Mon, 18 Jul 2016 10:47:09 +0000 (10:47 +0000)] 
S/390: Fix alignment check for literal pool references.

gcc/ChangeLog:

2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_encode_section_info): Always set
notaligned marker if mode size is 0 or no MEM_ALIGN info could be
found.

gcc/testsuite/ChangeLog:

2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/nolrl-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238427 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Jul 2016 08:46:42 +0000 (08:46 +0000)] 
2016-07-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71893
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Compensate
for sizetype cast added by array_ref_element_size.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238426 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 18 Jul 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238424 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-17 Fritz Reese <fritzoreese@gmail.com>
jvdelisle [Sun, 17 Jul 2016 20:13:41 +0000 (20:13 +0000)] 
2016-07-17  Fritz Reese  <fritzoreese@gmail.com>

PR fortran/71523
* trans-decl.c (gfc_finish_var_decl): Replace automatic initializer with
a static one.

* gfortran.dg/pr71523_1.f90: New test.
* gfortran.dg/pr71523_2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238420 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 17 Jul 2016 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238419 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/pa/pa.c (hppa_profile_hook): Allocate stack space for
danglin [Sat, 16 Jul 2016 15:59:33 +0000 (15:59 +0000)] 
* config/pa/pa.c (hppa_profile_hook): Allocate stack space for
register parameters.  Remove code to initialize argument pointer
on TARGET_64BIT.  Optimize call to _mcount when it can be reached
using a pc-relative branch.  Cleanup conditional code.
* config/pa/pa.md (call_mcount): New expander.
(call_mcount_nonpic): New insn.
(call_mcount_pic): New insn and split.
(call_mcount_pic_post_reload): New insn.
(call_mcount_64bit): New insn and split.
(call_mcount_64bit_post_reload): New insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238414 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* g++.dg/cpp0x/nullptr35.C (caught): Fix typo.
schwab [Sat, 16 Jul 2016 09:53:23 +0000 (09:53 +0000)] 
* g++.dg/cpp0x/nullptr35.C (caught): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238413 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 16 Jul 2016 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238409 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoReplace references to C++0x with C++11 in comments
redi [Fri, 15 Jul 2016 20:23:08 +0000 (20:23 +0000)] 
Replace references to C++0x with C++11 in comments

* include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
* include/bits/move.h: Likewise.
* include/bits/postypes.h: Likewise.
* include/debug/bitset: Likewise.
* include/ext/pb_ds/detail/type_utils.hpp: Likewise.
* include/ext/string_conversions.h: Change C++0x to __cxx11 in
comment.
* testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
* testsuite/util/thread/all.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238402 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 15 Jul 2016 19:58:55 +0000 (19:58 +0000)] 
2016-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
    Marco Restelli <mrestelli@gmail.com>

PR fortran/62125
* symbol.c (select_type_insert_tmp): Recursively call self to take care
of nested select type.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238400 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove redundant std::move in std::for_each
redi [Fri, 15 Jul 2016 19:51:33 +0000 (19:51 +0000)] 
Remove redundant std::move in std::for_each

* include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
and adjust comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238399 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 15 Jul 2016 18:57:06 +0000 (18:57 +0000)] 
2016-07-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/divkc3-1.c: Require p8vector support.
* gcc.target/powerpc/mulkc3-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238398 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71495 - spurious note during SFINAE.
jason [Fri, 15 Jul 2016 18:56:29 +0000 (18:56 +0000)] 
PR c++/71495 - spurious note during SFINAE.

* call.c (convert_like_real): Mask complain.
* semantics.c (perform_koenig_lookup): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238397 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoc++/58796 Make nullptr match exception handlers of pointer type
redi [Fri, 15 Jul 2016 18:51:51 +0000 (18:51 +0000)] 
c++/58796 Make nullptr match exception handlers of pointer type

libstdc++-v3:

PR c++/58796
* libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
nullptr match handlers of pointer type.

gcc/testsuite:

PR c++/58796
* g++.dg/cpp0x/nullptr21.C: Remove void* handlers.
* g++.dg/cpp0x/nullptr35.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238396 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71092 - ICE with array and constexpr.
jason [Fri, 15 Jul 2016 18:49:38 +0000 (18:49 +0000)] 
PR c++/71092 - ICE with array and constexpr.

* constexpr.c (cxx_eval_call_expression): Fail quietly when cgraph
threw away DECL_SAVED_TREE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238395 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71117 - core 2189 and generic lambda
jason [Fri, 15 Jul 2016 18:49:25 +0000 (18:49 +0000)] 
PR c++/71117 - core 2189 and generic lambda

* call.c (add_template_conv_candidate): Disable if there are
viable candidates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238394 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71511 - ICE on decltype scope in declaration.
jason [Fri, 15 Jul 2016 18:38:48 +0000 (18:38 +0000)] 
PR c++/71511 - ICE on decltype scope in declaration.

* typeck2.c (cxx_incomplete_type_diagnostic): Handle DECLTYPE_TYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238393 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71513 - alignas on member enum in template
jason [Fri, 15 Jul 2016 18:38:40 +0000 (18:38 +0000)] 
PR c++/71513 - alignas on member enum in template

* pt.c (tsubst_attributes): Fix loop logic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238392 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71604 - type definition in range-based for
jason [Fri, 15 Jul 2016 18:38:31 +0000 (18:38 +0000)] 
PR c++/71604 - type definition in range-based for

PR c++/54430
* parser.c (cp_parser_range_for): Modify IDENTIFIER_BINDING directly.
(cp_parser_simple_declaration): Diagnose type definition in
for-range-declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238391 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71711 - mangle C++1z fold-expressions.
jason [Fri, 15 Jul 2016 18:38:23 +0000 (18:38 +0000)] 
PR c++/71711 - mangle C++1z fold-expressions.

* operators.def: Add *_FOLD_EXPR.
* cp-tree.h (FOLD_EXPR_P): Parenthesize.
* mangle.c (write_expression): Handle fold-expressions.
* pt.c (tsubst_unary_left_fold, tsubst_binary_left_fold)
(tsubst_unary_right_fold, tsubst_binary_right_fold): Handle
partial instantiation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238390 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71814 - mangling sizeof... (sP and sZ)
jason [Fri, 15 Jul 2016 18:38:15 +0000 (18:38 +0000)] 
PR c++/71814 - mangling sizeof... (sP and sZ)

gcc/cp/
* mangle.c (write_expression): Handle sizeof... an argument pack.
libiberty/
* cp-demangle.c (cplus_demangle_operators): Add sP and sZ.
(d_print_comp_inner): Handle them.
(d_template_args_1): Split out from d_template_args.
(d_args_length): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238389 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Update -fabi-version default to 11.
jason [Fri, 15 Jul 2016 18:38:05 +0000 (18:38 +0000)] 
Update -fabi-version default to 11.

* c-opts.c (c_common_post_options): Update -fabi-version default to 11.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238388 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/71718 - infinite recursion and alias template
jason [Fri, 15 Jul 2016 18:37:56 +0000 (18:37 +0000)] 
PR c++/71718 - infinite recursion and alias template

* pt.c (push_tinst_level_loc): Set at_eof before fatal_error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238387 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/70824 - initializer_list in template
jason [Fri, 15 Jul 2016 18:37:48 +0000 (18:37 +0000)] 
PR c++/70824 - initializer_list in template

* init.c (constant_value_1): Don't instantiated DECL_INITIAL of
artificial variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238386 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
emsr [Fri, 15 Jul 2016 17:16:32 +0000 (17:16 +0000)] 
2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement C++17 P0025 clamp.
* include/bits/algorithmfwd.h: Declare clamp overloads.
* include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
* testsuite/25_algorithms/clamp/1.cc: New test.
* testsuite/25_algorithms/clamp/2.cc: New test.
* testsuite/25_algorithms/clamp/constexpr.cc: New test.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1.cc: New test.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
pod.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238383 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoTypo.
gjl [Fri, 15 Jul 2016 16:28:17 +0000 (16:28 +0000)] 
Typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238382 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/avr/predicates.md (const_m255_to_m1_operand): New.
gjl [Fri, 15 Jul 2016 16:25:38 +0000 (16:25 +0000)] 
* config/avr/predicates.md (const_m255_to_m1_operand): New.
* config/avr/constraints.md (Cn8, Ca1, Co1, Yx2): New constraints.
* config/avr/avr.md (add<mode>3) <ALL1>: Make "r,0,r" more
expensive.
(*cmphi.zero-extend.0, *cmphi.zero-extend.1)
(*usum_widenqihi3, *udiff_widenqihi3)
(*addhi3_zero_extend.const): New combiner insns.
(andqi3, iorqi3): Provide "l" (NO_LD_REGS) alternative if
just 1 bit is affected.
* config/avr/avr.c (avr_out_bitop) <QImode>: Don't access xop[3].
(avr_out_compare) [EQ,NE]: Tweak comparing d-regs against -1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238381 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix up ChangeLog entry.
jakub [Fri, 15 Jul 2016 15:28:26 +0000 (15:28 +0000)] 
Fix up ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238378 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/testsuite
amker [Fri, 15 Jul 2016 14:21:55 +0000 (14:21 +0000)] 
gcc/testsuite
* gcc.dg/tree-ssa/scev-8.c: Update test string.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238377 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/c/
cesar [Fri, 15 Jul 2016 14:13:48 +0000 (14:13 +0000)] 
gcc/c/
* c-parser.c (c_parser_oacc_declare): Don't scan for
GOMP_MAP_POINTER.
* c-typeck.c (handle_omp_array_sections): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.

gcc/cp/
* parser.c (cp_parser_oacc_declare): Don't scan for
GOMP_MAP_POINTER.
* semantics.c (handle_omp_array_sections): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.

gcc/
* omp-low.c (lower_omp_target): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238376 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/fortran/
cesar [Fri, 15 Jul 2016 14:03:35 +0000 (14:03 +0000)] 
gcc/fortran/
* openmp.c (gfc_match_omp_clauses): Scan for clause vector_length
before vector.

gcc/testsuite/
* gfortran.dg/goacc/vector_length.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238375 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-15 Richard Biener <rguenther@suse.de>
rguenth [Fri, 15 Jul 2016 13:05:56 +0000 (13:05 +0000)] 
2016-07-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71881
* tree-loop-distribution.c (destroy_loop): Remove blocks in
reverse DOM order to make debug temp generation happy.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238374 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-15 Richard Biener <rguenther@suse.de>
rguenth [Fri, 15 Jul 2016 12:56:17 +0000 (12:56 +0000)] 
2016-07-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71887
* tree-ssa-phiopt.c (absorbing_element_p): Add rhs arg and
verify it is not zero for division / modulo handling.
(value_replacement): Adjust.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238373 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH/AARCH64] Add rtx_costs routine for vulcan.
jgreenhalgh [Fri, 15 Jul 2016 11:17:53 +0000 (11:17 +0000)] 
[PATCH/AARCH64] Add rtx_costs routine for vulcan.

gcc/ChangeLog:

2016-07-15  Virendra Pathak  <virendra.pathak@broadcom.com>
    Julian Brown  <julian@codesourcery.com>

* config/aarch64/aarch64-cores.def: Update vulcan COSTS.
* config/aarch64/aarch64-cost-tables.h
(vulcan_extra_costs): New variable.
* config/aarch64/aarch64.c
(vulcan_addrcost_table): Likewise.
(vulcan_regmove_cost): Likewise.
(vulcan_vector_cost): Likewise.
(vulcan_branch_cost): Likewise.
(vulcan_tunings): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238372 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agohandle undefined extern vars in output_in_order
amonakov [Fri, 15 Jul 2016 11:01:23 +0000 (11:01 +0000)] 
handle undefined extern vars in output_in_order

* cgraphunit.c (cgraph_order_sort_kind): New entry ORDER_VAR_UNDEF.
(output_in_order): Loop over undefined variables too.  Output them
via assemble_undefined_decl.  Skip variables that correspond to hard
registers or have value-exprs.
* varpool.c (symbol_table::output_variables): Handle undefined
variables together with defined ones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238371 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-15 Richard Biener <rguenther@suse.de>
rguenth [Fri, 15 Jul 2016 10:53:29 +0000 (10:53 +0000)] 
2016-07-15  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (get_representative_for): Make sure to return
the value number of SSA names.
(phi_translate_1): get_representative_for cannot return NULL.
(do_pre_regular_insertion): Remove redundant call to
fully_constant_expression.
(do_pre_partial_partial_insertion): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238370 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71858
jakub [Fri, 15 Jul 2016 10:40:39 +0000 (10:40 +0000)] 
PR c/71858
* c-common.h (enum lookup_name_fuzzy_kind): Add
FUZZY_LOOKUP_FUNCTION_NAME.

* c-decl.c (implicit_decl_warning): Use FUZZY_LOOKUP_FUNCTION_NAME
instead of FUZZY_LOOKUP_NAME.
(lookup_name_fuzzy): For FUZZY_LOOKUP_FUNCTION_NAME consider
FUNCTION_DECLs, {VAR,PARM}_DECLs function pointers and macros.

* gcc.dg/spellcheck-identifiers-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238369 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/fortran/ChangeLog:
vehre [Fri, 15 Jul 2016 09:28:47 +0000 (09:28 +0000)] 
gcc/fortran/ChangeLog:

2016-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/71807
* trans-expr.c (gfc_trans_subcomponent_assign): Special casing
when allocatable component is set to null() in initializer.

gcc/testsuite/ChangeLog:

2016-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/71807
* gfortran.dg/null_9.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238368 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
amker [Fri, 15 Jul 2016 09:04:57 +0000 (09:04 +0000)] 
* tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
(derive_simple_iv_with_niters): New function.
(simple_iv): Rewrite using simple_iv_with_niters.
* tree-scalar-evolution.h (simple_iv_with_niters): New decl.
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
function.
(number_of_iterations_exit): Rewrite using above function.
* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
Decl.

gcc/testsuite
* gcc.dg/tree-ssa/loop-41.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238367 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/testsuite
amker [Fri, 15 Jul 2016 08:53:48 +0000 (08:53 +0000)] 
gcc/testsuite
PR tree-optimization/71347
* gcc.dg/tree-ssa/pr71347.c: XFAIL on ia64, arm, m68k and sparc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238366 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix the constraints for any's assignment operator template to properly
ville [Fri, 15 Jul 2016 07:44:22 +0000 (07:44 +0000)] 
Fix the constraints for any's assignment operator template to properly
reject assignment from a non-copyable lvalue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238365 138bc75d-0d04-0410-961f-82ee72b054a4