gcc.git
8 years agoconfigure.ac (gcc_cv_as_dwloc): Test support for debug frame section label reference.
David Edelsohn [Thu, 21 Jan 2016 13:53:28 +0000 (13:53 +0000)]
configure.ac (gcc_cv_as_dwloc): Test support for debug frame section label reference.

* configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
label reference.
* configure: Regenerate.

From-SVN: r232673

8 years agolibstdc++/69406 Fix test to check for supported headers
Jonathan Wakely [Thu, 21 Jan 2016 13:33:27 +0000 (13:33 +0000)]
libstdc++/69406 Fix test to check for supported headers

PR libstdc++/69406
* include/bits/cpp_type_traits.h: Ensure C++ language linkage.
* include/ext/type_traits.h: Likewise.
* testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
for presence of C headers.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
dg-error line number.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.

From-SVN: r232672

8 years agore PR c++/58046 (template operator= in SFINAE class)
Paolo Carlini [Thu, 21 Jan 2016 10:55:30 +0000 (10:55 +0000)]
re PR c++/58046 (template operator= in SFINAE class)

2016-01-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58046
* g++.dg/cpp0x/pr58046.C: New.

From-SVN: r232671

8 years agographite-optimize-isl.c (get_schedule_map): Fix typo.
Richard Biener [Thu, 21 Jan 2016 10:50:30 +0000 (10:50 +0000)]
graphite-optimize-isl.c (get_schedule_map): Fix typo.

2016-01-21  Richard Biener  <rguenther@suse.de>

* graphite-optimize-isl.c (get_schedule_map): Fix typo.

From-SVN: r232670

8 years agoS/390: Fix missing .size directives.
Marcin Kościelnicki [Thu, 21 Jan 2016 09:55:38 +0000 (09:55 +0000)]
S/390: Fix missing .size directives.

It seems at some point the .size hook was hijacked to emit some
machine-specific directives, and the actual .size directive was
forgotten.  This caused problems for split-stack support, since
linker couldn't scan the function body for non-split-stack calls.

gcc/ChangeLog:

* config/s390/s390.c (s390_asm_declare_function_size): Add code
to actually emit the .size directive.

From-SVN: r232669

8 years agore PR target/69187 (ICE: Aborted when native compiling neon code with __builtin_neon_...
Stefan Sørensen [Thu, 21 Jan 2016 09:52:46 +0000 (10:52 +0100)]
re PR target/69187 (ICE: Aborted when native compiling neon code with __builtin_neon_vmlals_lanev4hi)

PR target/69187
PR target/65624
* config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
args array size by one to avoid buffer overflow.

* gcc.target/arm/pr69187.c: New test.

From-SVN: r232668

8 years agoS/390: Use proper read-only data section for literals.
Marcin Kościelnicki [Thu, 21 Jan 2016 09:45:42 +0000 (09:45 +0000)]
S/390: Use proper read-only data section for literals.

Previously, .rodata was hardcoded.  For C++ vague linkage functions,
this resulted in needlessly duplicated literals.  With the new split
stack support, this resulted in link errors, due to .rodata containing
relocations to the discarded text sections.

gcc/ChangeLog:

* config/s390/s390.md (pool_section_start): Use switch_to_section
to select proper read-only data section instead of hardcoding .rodata.
(pool_section_end): Use switch_to_section to match the above.

From-SVN: r232667

8 years agore PR tree-optimization/69378 (FAIL: g++.dg/tree-ssa/pr61034.C)
Richard Biener [Thu, 21 Jan 2016 08:50:38 +0000 (08:50 +0000)]
re PR tree-optimization/69378 (FAIL: g++.dg/tree-ssa/pr61034.C)

2016-01-21  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/69378
* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
(set_ssa_val_to): Use it for dominance checks taking into
account not executable edges.

From-SVN: r232666

8 years agore PR tree-optimization/69355 (Wrong results with -O1 optimization)
Jakub Jelinek [Thu, 21 Jan 2016 07:59:32 +0000 (08:59 +0100)]
re PR tree-optimization/69355 (Wrong results with -O1 optimization)

PR c++/69355
* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
for bitsize instead of GET_MODE_PRECISION (mode).

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

From-SVN: r232663

8 years agoPR c/52291 - __sync_fetch_and_add and friends poorly specified for pointer
Martin Sebor [Thu, 21 Jan 2016 03:38:32 +0000 (03:38 +0000)]
PR c/52291 - __sync_fetch_and_add and friends poorly specified for pointer

PR c/52291 - __sync_fetch_and_add and friends poorly specified for pointer
    types

2016-01-20  Martin Sebor  <msebor@redhat.com>

* extend.texi (__sync Builtins): Clarify the semantics of
__sync_fetch_and_OP built-ins on pointers.
(__atomic Builtins): Same.

From-SVN: r232662

8 years agofix codegen error exposed by compute isl flow patch
Aditya Kumar [Thu, 21 Jan 2016 02:14:12 +0000 (02:14 +0000)]
fix codegen error exposed by compute isl flow patch

we used to fail using an iv from a different loop.

* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
(is_valid_rename): Same.
(translate_isl_ast_to_gimple::get_rename): Same.
(translate_isl_ast_to_gimple::rename_all_uses): Same.
(translate_isl_ast_to_gimple::rename_uses): Same.
(get_new_name): Check for close_phi nodes.
(copy_loop_phi_args): Use phi_node_kind.
(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.

gcc/testsuite

* gfortran.dg/graphite/interchange-3.f90: Adjust pattern.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232660

8 years agofix pr68692: reinstantiate the copy of internal parameters
Aditya Kumar [Thu, 21 Jan 2016 02:14:01 +0000 (02:14 +0000)]
fix pr68692: reinstantiate the copy of internal parameters

Adding a testcase and reverting this patch:
[PATCH] remove parameter_rename_map

This map was used in the transition to the new scop detection: with the new scop
detection, we do not need this map anymore.

       * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
       Remove use of parameter_rename_map.
       (copy_def): Remove.
       (copy_internal_parameters): Remove.
       (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
       * sese.c (new_sese_info): Do not initialize parameter_rename_map.
       (free_sese_info): Do not free parameter_rename_map.
       (set_rename): Do not use parameter_rename_map.
       (rename_uses): Update call to set_rename.
       (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
       * sese.h (parameter_rename_map_t): Remove.
       (struct sese_info_t): Remove field parameter_rename_map.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232659

8 years agofix PR68976: only add loop close phi for names defined in loop
Aditya Kumar [Thu, 21 Jan 2016 02:13:52 +0000 (02:13 +0000)]
fix PR68976: only add loop close phi for names defined in loop

        * graphite-isl-ast-to-gimple.c: Fix comment.
        * graphite-scop-detection.c (defined_in_loop_p): New.
        (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
        names defined in loop.

gcc/testsuite

        * gcc.dg/graphite/pr68976.c: New test.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232658

8 years agocheck for unstructured control flow
Aditya Kumar [Thu, 21 Jan 2016 02:13:42 +0000 (02:13 +0000)]
check for unstructured control flow

* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
Discard unstructured if-then-else regions.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232657

8 years agorewrite computation of iteration domains
Aditya Kumar [Thu, 21 Jan 2016 02:13:33 +0000 (02:13 +0000)]
rewrite computation of iteration domains

        * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
        (cleanup_loop_iter_dom): Remove.
        (build_loop_iteration_domains): Remove.
        (build_scop_context): Remove.
        (build_scop_iteration_domain): Remove.
        (add_loop_constraints): New.
        (build_iteration_domains): New.
        (build_poly_scop): Call build_iteration_domains.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232656

8 years agofix memory leak in scop-detection
Aditya Kumar [Thu, 21 Jan 2016 02:13:24 +0000 (02:13 +0000)]
fix memory leak in scop-detection

        * graphite-scop-detection.c
        (scop_detection::harmful_loop_in_region): Free dom and loops.
        (scop_detection::loop_body_is_valid_scop): Free bbs.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232655

8 years agorecord loops in execution order
Aditya Kumar [Thu, 21 Jan 2016 02:13:14 +0000 (02:13 +0000)]
record loops in execution order

* graphite-scop-detection.c (record_loop_in_sese): New.
(gather_bbs::before_dom_children): Call record_loop_in_sese.
(build_scops): Remove call to build_sese_loop_nests.
* sese.c (sese_record_loop): Remove.
(build_sese_loop_nests): Remove.
(new_sese_info): Remove region->loops.
(free_sese_info): Same.
* sese.h (sese_contains_loop): Same.
(build_sese_loop_nests): Remove.
(sese_contains_loop): Remove.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232654

8 years agocheck that all loops are valid in the combined region
Aditya Kumar [Thu, 21 Jan 2016 02:13:05 +0000 (02:13 +0000)]
check that all loops are valid in the combined region

the bug was exposed by rewriting an if condition into an assert in the computation
of the loop iteration domains.

* graphite-scop-detection.c (loop_is_valid_scop): Renamed loop_is_valid_in_scop.
(scop_detection::harmful_stmt_in_region): Renamed harmful_loop_in_region.
Call loop_is_valid_in_scop.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232653

8 years agoadd missing ast node for isl 0.15
Aditya Kumar [Thu, 21 Jan 2016 02:12:56 +0000 (02:12 +0000)]
add missing ast node for isl 0.15

* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
isl_ast_node_mark.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232652

8 years agoremove unused variable
Aditya Kumar [Thu, 21 Jan 2016 02:12:37 +0000 (02:12 +0000)]
remove unused variable

* graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
* graphite.h (struct poly_bb): Remove field is_reduction.
        (PBB_IS_REDUCTION): Remove.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232651

8 years agoadd more coalescing to simplify constraints
Aditya Kumar [Thu, 21 Jan 2016 02:12:26 +0000 (02:12 +0000)]
add more coalescing to simplify constraints

* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
(add_pdr_constraints): Same.
(scop_get_reads): Same.
(scop_get_must_writes): Same.
(scop_get_may_writes): Same.
(scop_get_original_schedule): Same.
(extend_schedule): Same.
(apply_schedule_on_deps): Same.
(carries_deps): Same.
(compute_deps): Same.
(scop_get_dependences): Same.
* graphite-isl-ast-to-gimple.c
(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
* graphite-optimize-isl.c (get_schedule_for_band): Same.
(get_schedule_for_band_list): Same.
(get_schedule_map): Same.
(apply_schedule_map_to_scop): Same.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
(build_loop_iteration_domains): Same.
(add_condition_to_pbb): Same.
(add_param_constraints): Same.
(pdr_add_memory_accesses): Same.
(pdr_add_data_dimensions): Same.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232650

8 years agoinvoke.texi (Instrumentation Options): Clarify -mmpx linking requirements.
Sandra Loosemore [Thu, 21 Jan 2016 01:03:42 +0000 (20:03 -0500)]
invoke.texi (Instrumentation Options): Clarify -mmpx linking requirements.

2016-01-20  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
requirements.

From-SVN: r232648

8 years agocommon.opt (feliminate-dwarf2-dups): Replace references to "DWARF 2" with just "DWARF".
Sandra Loosemore [Thu, 21 Jan 2016 00:59:54 +0000 (19:59 -0500)]
common.opt (feliminate-dwarf2-dups): Replace references to "DWARF 2" with just "DWARF".

2016-01-20  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* common.opt (feliminate-dwarf2-dups): Replace references to
"DWARF 2" with just "DWARF".
* config/ia64/ia64.opt (mdwarf2-asm): Likewise.
* doc/extend.texi: Likewise.
* doc/cpp.texi: Likewise.
* doc/invoke.texi: Likewise.
(Option Summary): Add -gdwarf to list of Debugging Options.
(Debugging Options): Document -gdwarf.
* doc/contrib.texi: Spell "DWARF" like that.

From-SVN: r232647

8 years agolibtool-version: Remove.
Matthias Klose [Thu, 21 Jan 2016 00:17:37 +0000 (00:17 +0000)]
libtool-version: Remove.

2016-01-20  Matthias Klose  <doko@ubuntu.com>

        * libtool-version: Remove.

From-SVN: r232645

8 years agoDaily bump.
GCC Administrator [Thu, 21 Jan 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232644

8 years agoomp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized warning.
Jakub Jelinek [Wed, 20 Jan 2016 23:55:38 +0000 (00:55 +0100)]
omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized warning.

* omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
warning.  Fix up formatting.

From-SVN: r232641

8 years agore PR middle-end/67653 (ICE on valid code on x86_64-linux-gnu: verify_gimple failed)
Jakub Jelinek [Wed, 20 Jan 2016 23:43:58 +0000 (00:43 +0100)]
re PR middle-end/67653 (ICE on valid code on x86_64-linux-gnu: verify_gimple failed)

PR middle-end/67653
* gimplify.c (gimplify_asm_expr): Warn if it is too late to
attempt to mark memory input operand addressable and
call prepare_gimple_addressable in that case.  Don't adjust
input_location for diagnostics, use error_at instead.

* c-c++-common/pr67653.c: New test.
* gcc.dg/torture/pr29119.c: Add dg-warning.

From-SVN: r232640

8 years agoppc-auxv.h: New file.
Peter Bergner [Wed, 20 Jan 2016 20:30:24 +0000 (14:30 -0600)]
ppc-auxv.h: New file.

gcc/
* config/rs6000/ppc-auxv.h: New file.
* config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
(cpu_is): Likewise.
(cpu_supports): Likewise.
* config/rs6000/rs6000.c: include "ppc-auxv.h".
(cpu_is_info): New variable.
(cpu_supports_info): Likewise.
(tcb_verification_symbol): Likewise.
(cpu_builtin_p): Likewise.
(cpu_expand_builtin): New function.
(rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
(rs6000_init_builtins): Likewise.
(rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
* config/rs6000/rs6000.h (TLS_REGNUM): New define.
* configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
* configure: Regenerate.
* config.in: Likewise.
* doc/extend.texi (PowerPC Built-in Functions): Document
__builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.

gcc/testsuite/
* gcc.target/powerpc/cpu-builtin-1.c: New test.

From-SVN: r232634

8 years agore PR target/68609 (PowerPC reciprocal estimate missed opportunities)
David Edelsohn [Wed, 20 Jan 2016 19:39:08 +0000 (19:39 +0000)]
re PR target/68609 (PowerPC reciprocal estimate missed opportunities)

PR target/68609
        * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
        domain check.
        * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
        for V4SFmode.

From-SVN: r232632

8 years agore PR target/69343 (Bootstrap failure on s390{,x}-linux)
Richard Henderson [Wed, 20 Jan 2016 18:53:56 +0000 (10:53 -0800)]
re PR target/69343 (Bootstrap failure on s390{,x}-linux)

PR bootstrap/69343
PR bootstrap/69339
PR tree-opt/68964

Revert:
gcc/
  * tree.c (tm_define_builtin): New.
  (find_tm_vector_type): New.
  (build_tm_vector_builtins): New.
  (build_common_builtin_nodes): Call it.
libitm/
  * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
  (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
  (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
  (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
  * configure.ac (ARCH_AARCH64): New conditional.
  (ARCH_PPC, ARCH_S390): Likewise.
  * Makefile.in, configure: Rebuild.
  * libitm.h (_ITM_TYPE_M128): Always define.
  * vect64.cc: Split ...
  * vect128.cc: ... out of...
  * config/x86/x86_sse.cc: ... here.
  * config/arm/neon.cc: New file.

From-SVN: r232631

8 years agolibstdc++: Darwin does not support weak refs without definition.
Torvald Riegel [Wed, 20 Jan 2016 17:47:03 +0000 (17:47 +0000)]
libstdc++: Darwin does not support weak refs without definition.

        PR libstdc++/69310
        * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.

From-SVN: r232628

8 years agoAdd C++11 <cmath> overloads to the global namespace
Jonathan Wakely [Wed, 20 Jan 2016 17:44:58 +0000 (17:44 +0000)]
Add C++11 <cmath> overloads to the global namespace

PR libstdc++/60401
* include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
Add using declarations.
* testsuite/26_numerics/headers/cmath/60401.cc: New.

From-SVN: r232627

8 years agoCorrect date in ChangeLog entry for r232622
Prathamesh Kulkarni [Wed, 20 Jan 2016 17:21:46 +0000 (17:21 +0000)]
Correct date in ChangeLog entry for r232622

From-SVN: r232626

8 years agore PR c/24293 (Undefined behaviour not diagnosed with -fsyntax-only)
Prathamesh Kulkarni [Wed, 20 Jan 2016 16:25:23 +0000 (16:25 +0000)]
re PR c/24293 (Undefined behaviour not diagnosed with -fsyntax-only)

2016-01-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

        PR c/24293
        * c-tree.h (incomplete_record_decls): Declare.
        * c-parser.c (incomplete_record_decls): Define.
        (c_parser_translation_unit): Iterate through incomplete_record_decls and
        report error if any decl has zero size.
        * c-decl.c (finish_decl): Append static decl with incomplete struct/union
        or enum type to incomplete_record_decls.

testsuite/
        * gcc.dg/pr24293.c: New test.
        * gcc.dg/Wcxx-compat-8.c: Adjust to accept error due to
        incomplete struct type.
        * gcc.dg/declspec-1.c: Likewise.
        * gcc.dg/pr63549.c: Likewise.

From-SVN: r232622

8 years agotask.c (gomp_create_target_task): Set firstprivate_copies to NULL.
Ilya Verbin [Wed, 20 Jan 2016 15:01:24 +0000 (15:01 +0000)]
task.c (gomp_create_target_task): Set firstprivate_copies to NULL.

libgomp/
* task.c (gomp_create_target_task): Set firstprivate_copies to NULL.

From-SVN: r232620

8 years agompxrt.c (handler): Fix verbosity for error message.
Ilya Enkovich [Wed, 20 Jan 2016 14:51:36 +0000 (14:51 +0000)]
mpxrt.c (handler): Fix verbosity for error message.

libmpx/

* mpxrt/mpxrt.c (handler): Fix verbosity for error message.

From-SVN: r232619

8 years agore PR tree-optimization/66612 (FAIL: gcc.target/powerpc/20050830-1.c scan-assembler...
Jakub Jelinek [Wed, 20 Jan 2016 14:40:02 +0000 (15:40 +0100)]
re PR tree-optimization/66612 (FAIL: gcc.target/powerpc/20050830-1.c scan-assembler bdn)

PR tree-optimization/66612
* gcc.target/powerpc/20050830-1.c: Xfail the scan-assembler test
for bdn instruction.

From-SVN: r232618

8 years ago[ARM target attributes] Fix effective_target tests
Christophe Lyon [Wed, 20 Jan 2016 14:19:41 +0000 (14:19 +0000)]
[ARM target attributes] Fix effective_target tests

2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
(arm_fp_ok): Likewise.
(arm_fp): Likewise.
(arm_crypto): Likewise.

gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_arm_fp_ok_nocache): New.
(check_effective_target_arm_fp_ok): New.
(add_options_for_arm_fp): New.
(check_effective_target_arm_crypto_ok_nocache): Require
target_arm_v8_neon_ok instead of arm32.
(check_effective_target_arm_crypto_pragma_ok_nocache): New.
(check_effective_target_arm_crypto_pragma_ok): New.
(add_options_for_arm_vfp): New.
* gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
target. Do not force -mfloat-abi=softfp, use arm_fp_ok effective
target instead. Force initial fpu to vfp.
* gcc.target/arm/attr-neon-builtin-fail.c: Do not force
-mfloat-abi=softfp, use arm_fp_ok effective target instead.
* gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
dependency.
* gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
use arm_vfp effective target instead. Force initial fpu to vfp.
* gcc.target/arm/attr-neon3.c: Likewise.
* gcc.target/arm/cmp-2.c: Use arm_fp_ok effective target instead of
arm_vfp_ok.
* gcc.target/arm/unsigned-float.c: Likewise.
* gcc.target/arm/vfp-1.c: Likewise.
* gcc.target/arm/vfp-ldmdbd.c: Likewise.
* gcc.target/arm/vfp-ldmdbs.c: Likewise.
* gcc.target/arm/vfp-ldmiad.c: Likewise.
* gcc.target/arm/vfp-ldmias.c: Likewise.
* gcc.target/arm/vfp-stmdbd.c: Likewise.
* gcc.target/arm/vfp-stmdbs.c: Likewise.
* gcc.target/arm/vfp-stmiad.c: Likewise.
* gcc.target/arm/vfp-stmias.c: Likewise.
* gcc.target/arm/vnmul-1.c: Likewise.
* gcc.target/arm/vnmul-2.c: Likewise.
* gcc.target/arm/vnmul-3.c: Likewise.
* gcc.target/arm/vnmul-4.c: Likewise.

From-SVN: r232616

8 years agoFix testsuite/ChangeLog entry
H.J. Lu [Wed, 20 Jan 2016 14:13:30 +0000 (06:13 -0800)]
Fix testsuite/ChangeLog entry

From-SVN: r232615

8 years agoFix ChangeLog entry.
Christophe Lyon [Wed, 20 Jan 2016 14:12:13 +0000 (15:12 +0100)]
Fix ChangeLog entry.

From-SVN: r232614

8 years agoRequire non-x32 target for compile-time MPX tests
H.J. Lu [Wed, 20 Jan 2016 13:51:42 +0000 (05:51 -0800)]
Require non-x32 target for compile-time MPX tests

Compile-time MPX tests don't need the MPX run-time library.  They
should pass for non-x32 target.

PR testsuite/69366
* g++.dg/pr63995-1.C: Require non-x32 target, instead of,
the MPX run-time library, for compile-time MPX test.
* gcc.target/i386/chkp-always_inline.c: Likewise.
* gcc.target/i386/chkp-bndret.c: Likewise.
* gcc.target/i386/chkp-builtins-1.c: Likewise.
* gcc.target/i386/chkp-builtins-2.c: Likewise.
* gcc.target/i386/chkp-builtins-3.c: Likewise.
* gcc.target/i386/chkp-builtins-4.c: Likewise.
* gcc.target/i386/chkp-const-check-1.c: Likewise.
* gcc.target/i386/chkp-const-check-2.c: Likewise.
* gcc.target/i386/chkp-hidden-def.c: Likewise.
* gcc.target/i386/chkp-label-address.c: Likewise.
* gcc.target/i386/chkp-lifetime-1.c: Likewise.
* gcc.target/i386/chkp-narrow-bounds.c: Likewise.
* gcc.target/i386/chkp-pr69044.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-1.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-2.c: Likewise.
* gcc.target/i386/chkp-strchr.c: Likewise.
* gcc.target/i386/chkp-strlen-1.c: Likewise.
* gcc.target/i386/chkp-strlen-2.c: Likewise.
* gcc.target/i386/chkp-strlen-3.c: Likewise.
* gcc.target/i386/chkp-strlen-4.c: Likewise.
* gcc.target/i386/chkp-strlen-5.c: Likewise.
* gcc.target/i386/chkp-stropt-1.c: Likewise.
* gcc.target/i386/chkp-stropt-10.c: Likewise.
* gcc.target/i386/chkp-stropt-11.c: Likewise.
* gcc.target/i386/chkp-stropt-12.c: Likewise.
* gcc.target/i386/chkp-stropt-13.c: Likewise.
* gcc.target/i386/chkp-stropt-14.c: Likewise.
* gcc.target/i386/chkp-stropt-15.c: Likewise.
* gcc.target/i386/chkp-stropt-16.c: Likewise.
* gcc.target/i386/chkp-stropt-2.c: Likewise.
* gcc.target/i386/chkp-stropt-3.c: Likewise.
* gcc.target/i386/chkp-stropt-4.c: Likewise.
* gcc.target/i386/chkp-stropt-5.c: Likewise.
* gcc.target/i386/chkp-stropt-6.c: Likewise.
* gcc.target/i386/chkp-stropt-7.c: Likewise.
* gcc.target/i386/chkp-stropt-8.c: Likewise.
* gcc.target/i386/chkp-stropt-9.c: Likewise.
* gcc.target/i386/pr63995-2.c: Likewise.
* gcc.target/i386/pr64805.c: Likewise.
* gcc.target/i386/pr65044.c: Likewise.
* gcc.target/i386/pr65167.c: Likewise.
* gcc.target/i386/pr65183.c: Likewise.
* gcc.target/i386/pr65184.c: Likewise.
* gcc.target/i386/thunk-retbnd.c: Likewise.

From-SVN: r232613

8 years agoRequire non-x32 target for compile-time MPX tests
H.J. Lu [Wed, 20 Jan 2016 13:48:49 +0000 (05:48 -0800)]
Require non-x32 target for compile-time MPX tests

Compile-time MPX tests don't need the MPX run-time library.  They
should pass for non-x32 target.

PR testsuite/69369
* g++.dg/pr63995-1.C: Require non-x32 target, instead of,
the MPX run-time library, for compile-time MPX test.
* gcc.target/i386/chkp-always_inline.c: Likewise.
* gcc.target/i386/chkp-bndret.c: Likewise.
* gcc.target/i386/chkp-builtins-1.c: Likewise.
* gcc.target/i386/chkp-builtins-2.c: Likewise.
* gcc.target/i386/chkp-builtins-3.c: Likewise.
* gcc.target/i386/chkp-builtins-4.c: Likewise.
* gcc.target/i386/chkp-const-check-1.c: Likewise.
* gcc.target/i386/chkp-const-check-2.c: Likewise.
* gcc.target/i386/chkp-hidden-def.c: Likewise.
* gcc.target/i386/chkp-label-address.c: Likewise.
* gcc.target/i386/chkp-lifetime-1.c: Likewise.
* gcc.target/i386/chkp-narrow-bounds.c: Likewise.
* gcc.target/i386/chkp-pr69044.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-1.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-2.c: Likewise.
* gcc.target/i386/chkp-strchr.c: Likewise.
* gcc.target/i386/chkp-strlen-1.c: Likewise.
* gcc.target/i386/chkp-strlen-2.c: Likewise.
* gcc.target/i386/chkp-strlen-3.c: Likewise.
* gcc.target/i386/chkp-strlen-4.c: Likewise.
* gcc.target/i386/chkp-strlen-5.c: Likewise.
* gcc.target/i386/chkp-stropt-1.c: Likewise.
* gcc.target/i386/chkp-stropt-10.c: Likewise.
* gcc.target/i386/chkp-stropt-11.c: Likewise.
* gcc.target/i386/chkp-stropt-12.c: Likewise.
* gcc.target/i386/chkp-stropt-13.c: Likewise.
* gcc.target/i386/chkp-stropt-14.c: Likewise.
* gcc.target/i386/chkp-stropt-15.c: Likewise.
* gcc.target/i386/chkp-stropt-16.c: Likewise.
* gcc.target/i386/chkp-stropt-2.c: Likewise.
* gcc.target/i386/chkp-stropt-3.c: Likewise.
* gcc.target/i386/chkp-stropt-4.c: Likewise.
* gcc.target/i386/chkp-stropt-5.c: Likewise.
* gcc.target/i386/chkp-stropt-6.c: Likewise.
* gcc.target/i386/chkp-stropt-7.c: Likewise.
* gcc.target/i386/chkp-stropt-8.c: Likewise.
* gcc.target/i386/chkp-stropt-9.c: Likewise.
* gcc.target/i386/pr63995-2.c: Likewise.
* gcc.target/i386/pr64805.c: Likewise.
* gcc.target/i386/pr65044.c: Likewise.
* gcc.target/i386/pr65167.c: Likewise.
* gcc.target/i386/pr65183.c: Likewise.
* gcc.target/i386/pr65184.c: Likewise.
* gcc.target/i386/thunk-retbnd.c: Likewise.

From-SVN: r232612

8 years agolibgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_run): Pass extra NULL to GOMP_OFFLOAD_async...
Ilya Verbin [Wed, 20 Jan 2016 13:40:22 +0000 (13:40 +0000)]
libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_run): Pass extra NULL to GOMP_OFFLOAD_async_run.

liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_run): Pass extra NULL
to GOMP_OFFLOAD_async_run.

From-SVN: r232611

8 years agore PR tree-optimization/69328 (ice in vect_get_vec_def_for_operand, at tree-vect...
Ilya Enkovich [Wed, 20 Jan 2016 12:37:01 +0000 (12:37 +0000)]
re PR tree-optimization/69328 (ice in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1379 with -O3)

gcc/

PR tree-optimization/69328
* tree-vect-stmts.c (vect_is_simple_cond): Check compared
vectors have same number of elements.
(vectorizable_condition): Fix masked version recognition.

gcc/testsuite/

PR tree-optimization/69328
* gcc.dg/pr69328.c: New test.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r232608

8 years agoEnsure C++ language linkage in cmath and cstdlib
Jonathan Wakely [Wed, 20 Jan 2016 12:34:25 +0000 (12:34 +0000)]
Ensure C++ language linkage in cmath and cstdlib

PR libstdc++/69386
* include/c_global/ccomplex: Ensure C++ language linkage.
* include/c_global/cmath: Likewise.
* include/c_global/cstdlib: Likewise.
* include/c_global/ctgmath: Likewise.
* testsuite/17_intro/headers/c++2011/linkage.cc: New.

From-SVN: r232607

8 years agoexp_ch2.adb (Expand_Current_Value): Make an appropriate character literal if the...
Eric Botcazou [Wed, 20 Jan 2016 09:01:34 +0000 (09:01 +0000)]
exp_ch2.adb (Expand_Current_Value): Make an appropriate character literal if the entity is of a character type.

* exp_ch2.adb (Expand_Current_Value): Make an appropriate character
literal if the entity is of a character type.
* gcc-interface/lang.opt (fsigned-char): New option.
* gcc-interface/misc.c (gnat_handle_option): Accept it.
(gnat_init): Adjust comment.
* gcc-interface/gigi.h (finish_character_type): New prototype.
(maybe_character_type): New inline function.
(maybe_character_value): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
<E_Enumeration_Subtype>: For a subtype of character with RM_Size and
Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
Copy TYPE_STRING_FLAG from type to subtype.
<E_Array_Type>: Deal with character index types.
<E_Array_Subtype>: Likewise.
* gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
char_type_node throughout.
(build_raise_check): Likewise.
(get_type_length): Deal with character types.
(Attribute_to_gnu) <Attr_Pos>: Likewise.  Remove obsolete range check
code.  Minor tweak.
<Attr_Pred>: Likewise.
(Loop_Statement_to_gnu): Likewise.
(Raise_Error_to_gnu): Likewise.
<N_Indexed_Component>: Deal with character index types.  Remove
obsolete code.
<N_Slice>: Likewise.
<N_Type_Conversion>: Deal with character types.  Minor tweak.
<N_Unchecked_Type_Conversion>: Likewise.
<N_In>: Likewise.
<N_Op_Eq>: Likewise.
(emit_index_check): Delete.
* gcc-interface/utils.c (finish_character_type): New function.
(gnat_signed_or_unsigned_type_for): Deal with built-in character types.
* gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
with char_type_node.
(build_call_raise): Likewise.
(build_call_raise_column): Likewise.
(build_call_raise_range): Likewise.

From-SVN: r232604

8 years agore PR target/69345 (459.GemsFDTD regression)
Richard Biener [Wed, 20 Jan 2016 08:36:32 +0000 (08:36 +0000)]
re PR target/69345 (459.GemsFDTD regression)

2016-01-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69345
* tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
(VN_INFO_PTR_INFO): Likewise.
* tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
info when it is equal between non-dominating SSA names.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Make sure to look at original SSA infos.

From-SVN: r232603

8 years agoAdd BZ markers
Jeff Law [Wed, 20 Jan 2016 07:55:43 +0000 (00:55 -0700)]
Add BZ markers

From-SVN: r232602

8 years ago[PATCH] [target/25114] Improve comparisons against some small integers for m68k
Jeff Law [Wed, 20 Jan 2016 07:54:26 +0000 (00:54 -0700)]
[PATCH] [target/25114] Improve comparisons against some small integers for m68k

* config/m68k/predicates.md (pow2_m1_operand): New predicate
extracted from ...
(reg_or_pow2_m1_operand): Call pow2_m1_operand.
(pc_or_label_operand): New predicate.
* config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
tests for small integers that are 2^n - 1.

* gcc.target/m68k/pr25114.c: New test.

From-SVN: r232601

8 years agomemset-inline-10.c: Added dg-require-effective-target arm_thumb2_ok.
Andre Vieira [Wed, 20 Jan 2016 01:56:39 +0000 (01:56 +0000)]
memset-inline-10.c: Added dg-require-effective-target arm_thumb2_ok.

2016-01-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

    gcc/testsuite/
    * gcc.target/arm/memset-inline-10.c: Added
    dg-require-effective-target arm_thumb2_ok.

From-SVN: r232600

8 years ago* doc/invoke.texi (Options Summary): Add '.' after @xref.
Jonathan Wakely [Wed, 20 Jan 2016 00:26:13 +0000 (00:26 +0000)]
* doc/invoke.texi (Options Summary): Add '.' after @xref.

From-SVN: r232599

8 years agoDaily bump.
GCC Administrator [Wed, 20 Jan 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232598

8 years agore PR tree-optimization/69347 (excessive compile time with -O2)
Jeff Law [Tue, 19 Jan 2016 23:03:26 +0000 (16:03 -0700)]
re PR tree-optimization/69347 (excessive compile time with -O2)

PR middle-end/69347
* tree-ssa-threadbackwards.c
(fsm_find_control_statement_thread_paths): Do not try to lookup
FSM paths for SSA_NAMEs appearing in abnormal PHIs.

From-SVN: r232593

8 years ago* uninclude: Fix third argument to gensub.
Jonathan Wakely [Tue, 19 Jan 2016 22:00:17 +0000 (22:00 +0000)]
* uninclude: Fix third argument to gensub.

From-SVN: r232589

8 years agolto.texi: Remove text that says only Gold has linker plugin support.
Kugan Vivekanandarajah [Tue, 19 Jan 2016 21:49:32 +0000 (21:49 +0000)]
lto.texi: Remove text that says only Gold has linker plugin support.

gcc/ChangeLog:

2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>

* doc/lto.texi: Remove text that says only Gold has linker plugin
support.

From-SVN: r232587

8 years agoAdd C++-conforming wrappers for stdlib.h and math.h
Jonathan Wakely [Tue, 19 Jan 2016 21:43:55 +0000 (21:43 +0000)]
Add C++-conforming wrappers for stdlib.h and math.h

PR libstdc++/14608
PR libstdc++/60401
* include/Makefile.am: Use c_compatibility math.h and stdlib.h for
--enable-cheaders=c_global configs.
* include/Makefile.in: Regenerate.
* include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
test and allow inclusion from C files.
* include/c_compatibility/stdlib.h: Likewise. Support freestanding.
(at_quick_exit, quick_exit): Add using directives.
* include/c_global/cmath: Use #include_next for math.h.
* include/c_global/cstdlib: Use #include_next for stdlib.h.
* testsuite/26_numerics/headers/cmath/14608.cc: New.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Remove xfail for most targets.
* testsuite/26_numerics/headers/cstdlib/60401.cc: New.

From-SVN: r232586

8 years agodwarf2out.c (need_endianity_attribute_p): New inline predicate.
Eric Botcazou [Tue, 19 Jan 2016 21:08:10 +0000 (21:08 +0000)]
dwarf2out.c (need_endianity_attribute_p): New inline predicate.

* dwarf2out.c (need_endianity_attribute_p): New inline predicate.
(base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
the DIE accordingly.
(modified_type_die): Add REVERSE parameter and pass it recursively,
as well as to base_type_die.  Adjust presence check accordingly.
(base_type_for_mode): Adjust call to modified_type_die.
(add_type_attribute): Add REVERSE parameter and pass it to
modified_type_die.
(generic_parameter_die): Adjust call to add_type_attribute.
(add_scalar_info): Likewise.
(add_subscript_info): Likewise.
(gen_array_type_die): Likewise.
(gen_descr_array_type_die): Likewise.
(gen_entry_point_die): Likewise.
(gen_enumeration_type_die): Likewise.
(gen_formal_parameter_die): Likewise.
(gen_subprogram_die): Likewise.
(gen_variable_die ): Likewise.
(gen_const_die): Likewise.
(gen_field_die): Likewise.
(gen_pointer_type_die): Likewise.
(gen_reference_type_die): Likewise.
(gen_ptr_to_mbr_type_die): Likewise.
(gen_inheritance_die): Likewise.
(gen_subroutine_type_die): Likewise.
(gen_typedef_die): Likewise.
(force_type_die): Adjust call to modified_type_die.

From-SVN: r232585

8 years agostandards.texi: Copy-editing for grammar, markup, and sentence flow throughout the...
Sandra Loosemore [Tue, 19 Jan 2016 20:44:11 +0000 (15:44 -0500)]
standards.texi: Copy-editing for grammar, markup, and sentence flow throughout the file.

2016-01-19  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/standards.texi: Copy-editing for grammar, markup, and sentence
flow throughout the file.  Fix broken link to Objective-C 2.0
documentation.
* doc/invoke.texi: More copy-editing; fix numerous typos and spelling
errors.

From-SVN: r232583

8 years agoPR jit/69144: Ensure that libgccjit's tempdir is fully cleaned-up
David Malcolm [Tue, 19 Jan 2016 20:37:19 +0000 (20:37 +0000)]
PR jit/69144: Ensure that libgccjit's tempdir is fully cleaned-up

There were a couple of ways that libgccjit could fail to unlink all
of its tempfiles, leading to /tmp/libgccjit-* tempdirs lingering
after the build:
- dumpfiles requested by gcc_jit_context_enable_dump
- ahead-of-time compilation artifacts which lingered in the tempdir
  after they've been copied up to the output_path.  This was only
  the case for GCC_JIT_OUTPUT_KIND_OBJECT_FILE and
  GCC_JIT_OUTPUT_KIND_EXECUTABLE.

The following patch fixes these by introducing a vec of additional
cleanups to be performed by gcc:jit::tempdir's dtor.

In addition, if a gcc_jit_result * is leaked and
GCC_JIT_BOOL_OPTION_DEBUGINFO is enabled, the tempdir will also
not be cleaned up.  This was the case for tut04-toyvm/toyvm.cc
which the patch fixes by introducing a wrapper around
gcc_jit_result *.  Doing this required some updates to the
corresponding docs.

gcc/jit/ChangeLog:
PR jit/69144
* jit-playback.c (gcc::jit::playback::compile_to_file::postprocess):
Potentially add the temporary artifact to the tempdir's list of
tempfiles needing additional cleanup.
(gcc::jit::playback::context::extract_any_requested_dumps): Likewise
for the dumpfile.
* jit-tempdir.c (gcc::jit::tempdir::~tempdir): Clean up additional
tempfiles.
* jit-tempdir.h (gcc::jit::tempdir::add_temp_file): New method.
(gcc::jit::tempdir::m_tempfiles): New field.
* docs/cp/intro/tutorial04.rst: Update for changes to toyvm.cc.
* docs/examples/tut04-toyvm/toyvm.cc (class compilation_result):
New.
(toyvm_function::compile): Change return type from function ptr
to a compilation_result.
(toyvm_function::get_function_name): New accessor.
(toyvm_function::m_funcname): New field.
(get_function_name): Convert to...
(toyvm_function::make_function_name): ...this new method.
(toyvm_function::parse): Call make_function_name.
(toyvm_function::compile): Convert return type from function ptr
to a compilation_result.  Use get_function_name.
(compilation_state::compile): Convert return type from
gcc_jit_result * to a compilation_result.
(test_script): Update for above changes, extracting the code from
the compilation_result.
(main): Likewise.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r232582

8 years agolibitm: Remove dead code.
Torvald Riegel [Tue, 19 Jan 2016 19:49:14 +0000 (19:49 +0000)]
libitm: Remove dead code.

* local_type_traits: Remove file.
* libitm_i.h: Don't include it anymore.
(sized_integral): Remove.

From-SVN: r232581

8 years agore PR c++/59759 (internal compiler error: in unify, using std::enable_if on classes)
Jason Merrill [Tue, 19 Jan 2016 19:00:21 +0000 (14:00 -0500)]
re PR c++/59759 (internal compiler error: in unify, using std::enable_if on classes)

PR c++/59759
* pt.c (convert_template_argument): Handle VAR_DECL properly.

From-SVN: r232580

8 years ago[Patch] Fix spurious warning in ccmp.c
Wilco Dijkstra [Tue, 19 Jan 2016 18:02:48 +0000 (18:02 +0000)]
[Patch] Fix spurious warning in ccmp.c

2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>

* ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.

From-SVN: r232576

8 years agore PR testsuite/68820 (FAIL: gcc.c-torture/execute/builtins/memops-asm.c execution...
Uros Bizjak [Tue, 19 Jan 2016 17:10:31 +0000 (18:10 +0100)]
re PR testsuite/68820 (FAIL: gcc.c-torture/execute/builtins/memops-asm.c execution,  -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects)

PR testsuite/68820
* gcc.c-torture/execute/builtins/memops-asm.x: New file.
* gcc.c-torture/execute/builtins/strstr-asm.x: Ditto.
* gcc.c-torture/execute/builtins/strstr-asm.c: Remove dg-options.

From-SVN: r232573

8 years agore PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pur...
Jan Hubicka [Tue, 19 Jan 2016 16:49:50 +0000 (17:49 +0100)]
re PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pure_virtual)

PR ipa/66223
* ipa-devirt.c (is_cxa_pure_virtual_p): New function.
(maybe_record_node): Record cxa_pure_virtual as the only possible
target if there are not ohter candidates.
(possible_polymorphic_call_target_p): Accept cxa_pure_virtual.

* g++.dg/ipa/devirt-50.C: New testcase.

From-SVN: r232572

8 years agohsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants and name.
Richard Biener [Tue, 19 Jan 2016 15:10:40 +0000 (15:10 +0000)]
hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants and name.

2016-01-19  Richard Biener  <rguenther@suse.de>

* hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants
and name.
(get_memory_order): Likewise.

From-SVN: r232571

8 years agore PR c++/68965 (`-Wunused-parameter` is reported in variadic lambda or function...
Marek Polacek [Tue, 19 Jan 2016 14:37:49 +0000 (14:37 +0000)]
re PR c++/68965 (`-Wunused-parameter` is reported in variadic lambda or function using sizeof...(xs))

PR c++/68965
* pt.c (tsubst_copy): Mark elements in expanded vector as used.

* g++.dg/cpp1y/parameter-pack-1.C: New test.
* g++.dg/cpp1y/parameter-pack-2.C: New test.

From-SVN: r232569

8 years agoFix ICE in vectorizable_store ().
Kirill Yukhin [Tue, 19 Jan 2016 14:37:23 +0000 (14:37 +0000)]
Fix ICE in vectorizable_store ().

gcc/
* tree-vect-stmts.c (vectorizable_store): Check
rhs vectype.

From-SVN: r232568

8 years agoFix memory chunk corruption for opts_obstack (PR jit/68446)
David Malcolm [Tue, 19 Jan 2016 14:35:16 +0000 (14:35 +0000)]
Fix memory chunk corruption for opts_obstack (PR jit/68446)

gcc/ChangeLog:
PR jit/68446
* gcc.c (driver::decode_argv): Add call to
init_opts_obstack before init_options_struct.
* opts.c (init_opts_obstack): Remove idempotency.
(init_options_struct): Replace call to init_opts_obstack
with a gcc_assert to verify that it has already been called.
* toplev.c (toplev::main): Add call to init_opts_obstack before
calls to init_options_struct.
(toplev::finalize): Move cleanup of opts_obstack next to
cleanup of save_decoded_options, clearing the latter, and
save_decoded_options_count.

From-SVN: r232567

8 years ago[ARM] PR target/69135: Mark ARMv8 vcvt instructions as unconditional
Kyrylo Tkachov [Tue, 19 Jan 2016 14:30:23 +0000 (14:30 +0000)]
[ARM] PR target/69135: Mark ARMv8 vcvt instructions as unconditional

PR target/69135
* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
attribute to unconditional.  Remove %? from output template.

* gcc.target/arm/pr69135_1.c: New test.

From-SVN: r232566

8 years ago[PATCH 4/4] Add CCMP selection based on rtx costs
Wilco Dijkstra [Tue, 19 Jan 2016 14:14:56 +0000 (14:14 +0000)]
[PATCH 4/4] Add CCMP selection based on rtx costs

    2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
Jiong Wang  <jiong.wang@arm.com>

    gcc/
* ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
generated from different expand order.

    gcc/testsuite/
        * gcc.target/aarch64/ccmp_1.c: Add new tests.

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r232565

8 years ago[PATCH 3/4] Add support for rtx costing of CCMP on AArch64
Wilco Dijkstra [Tue, 19 Jan 2016 14:10:49 +0000 (14:10 +0000)]
[PATCH 3/4] Add support for rtx costing of CCMP on AArch64

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

    gcc/
        * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
        Add support for CCMP costing.

From-SVN: r232564

8 years ago[PATCH 2/4] Add support for float CCMP
Wilco Dijkstra [Tue, 19 Jan 2016 14:09:49 +0000 (14:09 +0000)]
[PATCH 2/4] Add support for float CCMP

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

    gcc/
        * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
        * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
        (fccmpe<mode>): Likewise.
        (fcmp): Rename to fcmp and globalize pattern.
        (fcmpe): Likewise.
        * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
        (aarch64_gen_ccmp_next): Add FP support.

    gcc/testsuite/

        * gcc.target/aarch64/ccmp_1.c: New testcase.

From-SVN: r232563

8 years agore PR c++/68586 (Enum template parameter wrongly rejected)
Marek Polacek [Tue, 19 Jan 2016 14:02:40 +0000 (14:02 +0000)]
re PR c++/68586 (Enum template parameter wrongly rejected)

PR c++/68586
* constexpr.c (clear_cv_cache): New.
* cp-gimplify.c (clear_fold_cache): New.
* cp-tree.h (clear_cv_cache, clear_fold_cache): Declare.
* decl.c (finish_enum_value_list): Call them.

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

From-SVN: r232562

8 years ago[Patch 1/4] Simplify the representation of CCMP patterns by using
Wilco Dijkstra [Tue, 19 Jan 2016 13:59:56 +0000 (13:59 +0000)]
[Patch 1/4] Simplify the representation of CCMP patterns by using

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

    gcc/
        * target.def (gen_ccmp_first): Update documentation.
        (gen_ccmp_next): Likewise.
        * doc/tm.texi (gen_ccmp_first): Update documentation.
        (gen_ccmp_next): Likewise.
        * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
        expand_ccmp_expr_1.  Improve comments.
        * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
        (ccmp_ior<mode>): Remove pattern.
        (cmp<mode>): Remove expand.
        (cmp): Globalize pattern.
        (cstorecc4): Use cc_register.
        (mov<mode>cc): Remove ccmp_cc_register check.
        * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
        Simplify after removal of CC_DNE/* modes.
        (aarch64_ccmp_mode_to_code): Remove.
        (aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
        In 'k' case use integer as condition.
        (aarch64_nzcv_codes): Remove inverted cases.
        (aarch64_code_to_ccmode): Remove.
        (aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
        comparison with CC register to be used in folowing CCMP/branch/CSEL.
        (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
        pattern.  Return the comparison with CC register.  Invert conditions
        when bitcode is OR.
        * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
        * config/aarch64/predicates.md (ccmp_cc_register): Remove.

From-SVN: r232561

8 years agocgraphunit.c (cgraph_node::reset): Clear thunk info and instrumented_version.
Jan Hubicka [Tue, 19 Jan 2016 13:28:32 +0000 (14:28 +0100)]
cgraphunit.c (cgraph_node::reset): Clear thunk info and instrumented_version.

* cgraphunit.c (cgraph_node::reset): Clear thunk info and
instrumented_version.

From-SVN: r232560

8 years agore PR tree-optimization/69336 (Constant value not detected)
Richard Biener [Tue, 19 Jan 2016 13:27:11 +0000 (13:27 +0000)]
re PR tree-optimization/69336 (Constant value not detected)

2016-01-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69336
* tree-ssa-scopedtables.c (avail_expr_hash): Handle all
handled components with get_ref_base_and_extent.
(equal_mem_array_ref_p): Adjust.

* g++.dg/tree-ssa/pr69336.C: New testcase.

From-SVN: r232559

8 years agore PR debug/65779 (undefined local symbol on powerpc [regression])
Jakub Jelinek [Tue, 19 Jan 2016 13:21:04 +0000 (14:21 +0100)]
re PR debug/65779 (undefined local symbol on powerpc [regression])

PR debug/65779
* shrink-wrap.c: Include valtrack.h.
(move_insn_for_shrink_wrap): Add DEBUG argument.  If
MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
in between insn and where it will be moved to.  Call
dead_debug_insert_temp.
(prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
first and dead_debug_local_finish at the end.
For uses and defs bitmap, handle all regs in between REGNO and
END_REGNO, not just the first one.

* gcc.dg/pr65779.c: New test.

From-SVN: r232558

8 years agore PR tree-optimization/69352 (profiledbootstrap failure with --with-build-config...
Richard Biener [Tue, 19 Jan 2016 13:19:01 +0000 (13:19 +0000)]
re PR tree-optimization/69352 (profiledbootstrap failure with --with-build-config=bootstrap-lto)

2016-01-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69352
* tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
(equal_mem_array_ref_p): Constrain size and max size properly.
Compare the reverse flag.

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

From-SVN: r232557

8 years ago* ira.c (ira): Update regstat data if we deleted insns.
Bernd Schmidt [Tue, 19 Jan 2016 13:02:17 +0000 (13:02 +0000)]
* ira.c (ira): Update regstat data if we deleted insns.

From-SVN: r232556

8 years agore PR sanitizer/68824 (libtsan is missing the __interceptor___tls_get_addr symbol...
Jakub Jelinek [Tue, 19 Jan 2016 12:45:54 +0000 (13:45 +0100)]
re PR sanitizer/68824 (libtsan is missing the __interceptor___tls_get_addr symbol without bumping the soname)

PR sanitizer/68824
* tsan/tsan_interceptors.cc (NEED_TLS_GET_ADDR, __tls_get_addr,
InitializeInterceptors): Cherry pick upstream r258119.

From-SVN: r232555

8 years agore PR rtl-optimization/68955 (wrong code at -O3 on x86-64-linux-gnu in 32-bit mode)
Jakub Jelinek [Tue, 19 Jan 2016 12:34:45 +0000 (13:34 +0100)]
re PR rtl-optimization/68955 (wrong code at -O3 on x86-64-linux-gnu in 32-bit mode)

PR rtl-optimization/68955
PR rtl-optimization/64557
* dse.c (record_store, check_mem_read_rtx): Don't call get_addr
here.  Fix up formatting.
* alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.

* gcc.dg/torture/pr68955.c: New test.

From-SVN: r232554

8 years agore PR lto/69136 (ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991)
Jan Hubicka [Tue, 19 Jan 2016 11:59:58 +0000 (12:59 +0100)]
re PR lto/69136 (ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991)

PR lto/69136
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
decls have no assemblernames.
* g++.dg/torture/pr69136.C: New testcase.

From-SVN: r232553

8 years agore PR lto/69133 (LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with...
Jan Hubicka [Tue, 19 Jan 2016 11:57:41 +0000 (12:57 +0100)]
re PR lto/69133 (LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with -flto-partition=none)

PR lto/69133
* cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
assume that the node has body.
* cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
check.
* g++.dg/lto/pr69133_0.C: New testcase.
* g++.dg/lto/pr69133_1.C: New testcase.

From-SVN: r232552

8 years agolto-streamer-out.c (lto_output): Do not stream instrumentation thunks.
Jan Hubicka [Tue, 19 Jan 2016 11:55:10 +0000 (12:55 +0100)]
lto-streamer-out.c (lto_output): Do not stream instrumentation thunks.

* lto-streamer-out.c (lto_output): Do not stream instrumentation
thunks.

From-SVN: r232551

8 years agosymtab.c (symtab_node::asm_name): Do not call printable name directly.
Jan Hubicka [Tue, 19 Jan 2016 11:51:18 +0000 (12:51 +0100)]
symtab.c (symtab_node::asm_name): Do not call printable name directly.

* symtab.c (symtab_node::asm_name): Do not call printable name directly.
(symtab_node::name): Report name as unnamed if DECL_NAME is not set.

From-SVN: r232550

8 years agoMerge of HSA
Martin Jambor [Tue, 19 Jan 2016 10:35:10 +0000 (11:35 +0100)]
Merge of HSA

2016-01-19  Martin Jambor  <mjambor@suse.cz>
    Martin Liska  <mliska@suse.cz>
    Michael Matz <matz@suse.de>

libgomp/
* plugin/Makefrag.am: Add HSA plugin requirements.
* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
(HSA_RUNTIME_LIB): Likewise.
(HSA_RUNTIME_CPPFLAGS): Likewise.
(HSA_RUNTIME_INCLUDE): New substitution.
(HSA_RUNTIME_LIB): Likewise.
(HSA_RUNTIME_LDFLAGS): Likewise.
(hsa-runtime): New configure option.
(hsa-runtime-include): Likewise.
(hsa-runtime-lib): Likewise.
(PLUGIN_HSA): New substitution variable.
Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
configure options.
(PLUGIN_HSA_CPPFLAGS): Likewise.
(PLUGIN_HSA_LDFLAGS): Likewise.
(PLUGIN_HSA_LIBS): Likewise.
Check that we have access to HSA run-time.
* libgomp-plugin.h (offload_target_type): New element
OFFLOAD_TARGET_TYPE_HSA.
* libgomp.h (gomp_target_task): New fields firstprivate_copies and
args.
(bool gomp_create_target_task): Updated.
(gomp_device_descr): Extra parameter of run_func and async_run_func,
new field can_run_func.
* libgomp_g.h (GOMP_target_ext): Update prototype.
* oacc-host.c (host_run): Added a new parameter args.
* target.c (calculate_firstprivate_requirements): New function.
(copy_firstprivate_data): Likewise.
(gomp_target_fallback_firstprivate): Use them.
(gomp_target_unshare_firstprivate): New function.
(gomp_get_target_fn_addr): Allow returning NULL for shared memory
devices.
(GOMP_target): Do host fallback for all shared memory devices.  Do not
pass any args to plugins.
(GOMP_target_ext): Introduce device-specific argument parameter args.
Allow host fallback if device shares memory.  Do not remap data if
device has shared memory.
(gomp_target_task_fn): Likewise.  Also treat shared memory devices
like host fallback for mappings.
(GOMP_target_data): Treat shared memory devices like host fallback.
(GOMP_target_data_ext): Likewise.
(GOMP_target_update): Likewise.
(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
gomp_create_target_task.
(GOMP_target_enter_exit_data): Likewise.
(omp_target_alloc): Treat shared memory devices like host fallback.
(omp_target_free): Likewise.
(omp_target_is_present): Likewise.
(omp_target_memcpy): Likewise.
(omp_target_memcpy_rect): Likewise.
(omp_target_associate_ptr): Likewise.
(gomp_load_plugin_for_device): Also load can_run.
* task.c (GOMP_PLUGIN_target_task_completion): Free
firstprivate_copies.
(gomp_create_target_task): Accept new argument args and store it to
ttask.
* plugin/plugin-hsa.c: New file.

gcc/
* Makefile.in (OBJS): Add new source files.
(GTFILES): Add hsa.c.
* common.opt (disable_hsa): New variable.
(-Whsa): New warning.
* config.in (ENABLE_HSA): New.
* configure.ac: Treat hsa differently from other accelerators.
(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
$enable_offloading.
(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
* doc/install.texi (Configuration): Document --with-hsa-runtime,
--with-hsa-runtime-include, --with-hsa-runtime-lib and
--with-hsa-kmt-lib.
* doc/invoke.texi (-Whsa): Document.
(hsa-gen-debug-stores): Likewise.
* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
to invoke offload compiler for hsa acclerator.
* opts.c (common_handle_option): Determine whether HSA offloading
should be performed.
* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
GF_OMP_FOR_KIND_GRID_LOOP.
(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
(pp_gimple_stmt_1): Likewise.
* gimple-walk.c (walk_gimple_stmt): Likewise.
* gimple.c (gimple_build_omp_grid_body): New function.
(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
* gimple.def (GIMPLE_OMP_GRID_BODY): New.
* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
GF_OMP_TEAMS_GRID_PHONY.
(gimple_statement_omp_single_layout): Updated comments.
(gimple_build_omp_grid_body): New function.
(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
(gimple_omp_for_grid_phony): New function.
(gimple_omp_for_set_grid_phony): Likewise.
(gimple_omp_parallel_grid_phony): Likewise.
(gimple_omp_parallel_set_grid_phony): Likewise.
(gimple_omp_teams_grid_phony): Likewise.
(gimple_omp_teams_set_grid_phony): Likewise.
(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
(BUILT_IN_GOMP_TARGET): Updated type.
* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
(adjust_for_condition): New function.
(get_omp_for_step_from_incr): Likewise.
(extract_omp_for_data): Moved parts to adjust_for_condition and
get_omp_for_step_from_incr.
(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
(fixup_child_record_type): Bail out if receiver_decl is NULL.
(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
(scan_omp_parallel): Do not create child functions for phony
constructs.
(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
(scan_omp_1_op): Checking assert we are not remapping to
ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
(parallel_needs_hsa_kernel_p): New function.
(expand_parallel_call): Register apprpriate parallel child
functions as HSA kernels.
(grid_launch_attributes_trees): New type.
(grid_attr_trees): New variable.
(grid_create_kernel_launch_attr_types): New function.
(grid_insert_store_range_dim): Likewise.
(grid_get_kernel_launch_attributes): Likewise.
(get_target_argument_identifier_1): Likewise.
(get_target_argument_identifier): Likewise.
(get_target_argument_value): Likewise.
(push_target_argument_according_to_value): Likewise.
(get_target_arguments): Likewise.
(expand_omp_target): Call get_target_arguments instead of looking
up for teams and thread limit.
(grid_expand_omp_for_loop): New function.
(grid_arg_decl_map): New type.
(grid_remap_kernel_arg_accesses): New function.
(grid_expand_target_kernel_body): New function.
(expand_omp): Call it.
(lower_omp_for): Do not emit phony constructs.
(lower_omp_taskreg): Do not emit phony constructs but create for them
a temporary variable receiver_decl.
(lower_omp_taskreg): Do not emit phony constructs.
(lower_omp_teams): Likewise.
(lower_omp_grid_body): New function.
(lower_omp_1): Call it.
(grid_reg_assignment_to_local_var_p): New function.
(grid_seq_only_contains_local_assignments): Likewise.
(grid_find_single_omp_among_assignments_1): Likewise.
(grid_find_single_omp_among_assignments): Likewise.
(grid_find_ungridifiable_statement): Likewise.
(grid_target_follows_gridifiable_pattern): Likewise.
(grid_remap_prebody_decls): Likewise.
(grid_copy_leading_local_assignments): Likewise.
(grid_process_kernel_body_copy): Likewise.
(grid_attempt_target_gridification): Likewise.
(grid_gridify_all_targets_stmt): Likewise.
(grid_gridify_all_targets): Likewise.
(execute_lower_omp): Call grid_gridify_all_targets.
(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
(tree_omp_clause): Added union field dimension.
* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
* tree.c (omp_clause_num_ops): Added number of arguments of
OMP_CLAUSE__GRIDDIM_.
(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
* tree-pass.h (make_pass_gen_hsail): Declare.
(make_pass_ipa_hsa): Likewise.
* ipa-hsa.c: New file.
* lto-section-in.c (lto_section_name): Add hsa section name.
* lto-streamer.h (lto_section_type): Add hsa section.
* timevar.def (TV_IPA_HSA): New.
        * hsa-brig-format.h: New file.
* hsa-brig.c: New file.
* hsa-dump.c: Likewise.
* hsa-gen.c: Likewise.
* hsa.c: Likewise.
* hsa.h: Likewise.
* toplev.c (compile_file): Call hsa_output_brig.
* hsa-regalloc.c: New file.

gcc/fortran/
* types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.

gcc/lto/
* lto-partition.c: Include "hsa.h"
(add_symbol_to_partition_1): Put hsa implementations into the
same partition as host implementations.

liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_async_run): New
unused parameter.
(GOMP_OFFLOAD_run): Likewise.

include/
* gomp-constants.h (GOMP_DEVICE_HSA): New macro.
(GOMP_VERSION_HSA): Likewise.
(GOMP_TARGET_ARG_DEVICE_MASK): Likewise.
(GOMP_TARGET_ARG_DEVICE_ALL): Likewise.
(GOMP_TARGET_ARG_SUBSEQUENT_PARAM): Likewise.
(GOMP_TARGET_ARG_ID_MASK): Likewise.
(GOMP_TARGET_ARG_NUM_TEAMS): Likewise.
(GOMP_TARGET_ARG_THREAD_LIMIT): Likewise.
(GOMP_TARGET_ARG_VALUE_SHIFT): Likewise.
(GOMP_TARGET_ARG_HSA_KERNEL_ATTRIBUTES): Likewise.

From-SVN: r232549

8 years agore PR tree-optimization/69320 (wrong code generation at -O2 and higher)
Jeff Law [Tue, 19 Jan 2016 06:43:54 +0000 (23:43 -0700)]
re PR tree-optimization/69320 (wrong code generation at -O2 and higher)

2016-01-18  Jeff Law  <law@redhat.com>

PR tree-optimization/69320
* tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
ranged object, do nothing if the RHS constant is not [0..1].
(optimize_stmt): Comparing a boolean ranged object against a
constant outside [0..1] results in a compile-time constant.

* tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
test.

PR tree-optimization/69320
* gcc.c-torture/pr69320-1.c: New test.
* gcc.c-torture/pr69320-2.c: New test.
* gcc.c-torture/pr69320-3.c: New test.
* gcc.c-torture/pr69320-4.c: New test.

From-SVN: r232548

8 years agoFix the remaining PR c++/24666 blockers (arrays decay to pointers too early)
Patrick Palka [Tue, 19 Jan 2016 00:19:16 +0000 (00:19 +0000)]
Fix the remaining PR c++/24666 blockers (arrays decay to pointers too early)

gcc/cp/ChangeLog:

PR c++/11858
PR c++/24663
PR c++/24664
* decl.c (grokdeclarator): Don't decay array parameter type to
a pointer type if it's dependent.
(grokparms): Invoke strip_top_quals instead of directly invoking
cp_build_qualified_type.
* pt.c (decay_dependent_array_parm_type): New static function.
(type_unification_real): Call decay_dependent_array_parm_type
to decay a dependent array parameter type to its corresponding
pointer type before unification.
(more_specialized_fn): Likewise.
(get_bindings): Likewise.
* tree.c (cp_build_qualified_type): Trivial typofix in
documentation.

gcc/testsuite/ChangeLog:

PR c++/11858
PR c++/24663
PR c++/24664
* g++.dg/template/pr11858.C: New test.
* g++.dg/template/pr24663.C: New test.
* g++.dg/template/unify12.C: New test.
* g++.dg/template/unify13.C: New test.
* g++.dg/template/unify14.C: New test.
* g++.dg/template/unify15.C: New test.
* g++.dg/template/unify16.C: New test.
* g++.dg/template/unify17.C: New test.

From-SVN: r232547

8 years agoDaily bump.
GCC Administrator [Tue, 19 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232546

8 years agoinvoke.texi (Invoking GCC): Add new section to menu.
Sandra Loosemore [Mon, 18 Jan 2016 22:47:09 +0000 (17:47 -0500)]
invoke.texi (Invoking GCC): Add new section to menu.

2016-01-18  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Invoking GCC): Add new section to menu.
(Option Summary): Update to reflect new section and moved options.
(C++ Dialect Options): Move -fstats to new section.
(Debugging Options): Move all dump, statistics, and other GCC
developer options to new section.  Rewrite section introduction
and re-order remaining options to put the more basic ones first.
(Optimization Options): Move -fira-verbose and -flto-report* to
new section.
(Developer Options): New section incorporating moved options.
* doc/cppopts.texi (-dM): Update cross-reference.

From-SVN: r232541

8 years agore PR target/69176 (ICE in in final_scan_insn, at final.c:2981 on aarch64-linux-gnu)
Richard Henderson [Mon, 18 Jan 2016 20:56:13 +0000 (12:56 -0800)]
re PR target/69176 (ICE in in final_scan_insn, at final.c:2981 on aarch64-linux-gnu)

PR target/69176

  * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
  operands to pseudo only if CSE is expected.  Split long immediate
  operands only after reload, and for the stack pointer.
  (*add<GPI>3_pluslong): Remove.
  (*addsi3_aarch64, *adddi3_aarch64): Merge into...
  (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
  (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
  (*add<GPI>3 peepholes): New.
  (*add<GPI>3 splitters): New.
  * config/aarch64/constraints.md (Upl): New.
  * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.

From-SVN: r232540

8 years agolibstdc++: Fix usage of __GXX_WEAK__ in TM TS support.
Torvald Riegel [Mon, 18 Jan 2016 20:09:55 +0000 (20:09 +0000)]
libstdc++: Fix usage of __GXX_WEAK__ in TM TS support.

* include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
(_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
and move after its definition.
* config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
* src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
__GXX_WEAK__, and only provide transactional clones if
_GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
functions.

From-SVN: r232539

8 years agompx_wrappers.c (__mpx_wrapper_memmove): Avoid -Wdiscarded-qualifiers warning.
Jakub Jelinek [Mon, 18 Jan 2016 19:36:02 +0000 (20:36 +0100)]
mpx_wrappers.c (__mpx_wrapper_memmove): Avoid -Wdiscarded-qualifiers warning.

* mpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Avoid
-Wdiscarded-qualifiers warning.  Fix up formatting.

From-SVN: r232537

8 years agoPR testsuite/69181: ensure expected multiline outputs is cleared per-test
David Malcolm [Mon, 18 Jan 2016 17:26:58 +0000 (17:26 +0000)]
PR testsuite/69181: ensure expected multiline outputs is cleared per-test

gcc/testsuite/ChangeLog:
PR testsuite/69181
* gcc.dg/pr69181-1.c: New test file.
* gcc.dg/pr69181-2.c: New test file.
* lib/gcc-dg.exp (dg-test): Consolidate post-test cleanup of
globals by moving it to...
(cleanup-after-saved-dg-test): ...this new function.  Add
"global additional_sources_used".  Add reset of global
multiline_expected_outputs to the empty list.
* lib/multiline.exp (_multiline_expected_outputs): Rename this
global to...
(multiline_expected_outputs): ...this, and updated comments to
note that it is modified from gcc-dg.exp.
(dg-end-multiline-output): Update for the above renaming.
(handle-multiline-outputs): Likewise.  Remove the clearing
of the expected outputs to the empty list.

From-SVN: r232535

8 years agoAdd test for PR 60637
Jonathan Wakely [Mon, 18 Jan 2016 17:15:42 +0000 (17:15 +0000)]
Add test for PR 60637

PR libstdc++/60637
* testsuite/26_numerics/headers/cmath/60637.cc: Add test.

From-SVN: r232534

8 years agore PR lto/69003 (Undefined reference with gcc -r incremental linking)
Jan Hubicka [Mon, 18 Jan 2016 15:58:06 +0000 (16:58 +0100)]
re PR lto/69003 (Undefined reference with gcc -r incremental linking)

PR lto/69003
* lto-partition.c (rename_statics): Fix pasto.

From-SVN: r232525

8 years ago* cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.
Jason Merrill [Mon, 18 Jan 2016 15:54:26 +0000 (10:54 -0500)]
* cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.

From-SVN: r232524

8 years ago* cp-gimplify.c (cp_fold): Remove unnecessary special cases.
Jason Merrill [Mon, 18 Jan 2016 15:54:20 +0000 (10:54 -0500)]
* cp-gimplify.c (cp_fold): Remove unnecessary special cases.

From-SVN: r232523

8 years agore PR c++/68767 (spurious warning: null argument where non-null required)
Jason Merrill [Mon, 18 Jan 2016 15:54:14 +0000 (10:54 -0500)]
re PR c++/68767 (spurious warning: null argument where non-null required)

PR c++/68767
gcc/c-family/
* c-common.c (check_function_arguments_recurse): Fold the whole
COND_EXPR, not just the condition.
gcc/cp/
* cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify.  Do fold COND_EXPR.
(contains_label_1, contains_label_p): Remove.

From-SVN: r232522

8 years agoIgnore reduction clause on kernels directive
Tom de Vries [Mon, 18 Jan 2016 14:48:26 +0000 (14:48 +0000)]
Ignore reduction clause on kernels directive

2016-01-18  Tom de Vries  <tom@codesourcery.com>

* c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
classify as loop clause.

From-SVN: r232521