Mircea Namolaru
b47595f765
Replacement of isl_int by isl_val
...
From-SVN: r213816
2014-08-11 15:05:48 +00:00
Richard Biener
7cadcdc162
re PR tree-optimization/62075 (Vectorizer ICE on dolphin)
...
2014-08-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/62075
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
handle uses in patterns.
* gcc.dg/vect/pr62075.c: New testcase.
From-SVN: r213815
2014-08-11 14:48:24 +00:00
Alexander Ivchenko
f4af595f28
gcc/
...
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_AVX512VL_SET): Define.
(OPTION_MASK_ISA_AVX512F_UNSET): Update.
(ix86_handle_option): Handle OPT_mavx512vl.
* config/i386/cpuid.h (bit_AVX512VL): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vl,
set -mavx512vl accordingly.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_AVX512VL.
* config/i386/i386.c (ix86_target_string): Handle -mavx512vl.
(ix86_option_override_internal): Define PTA_AVX512VL, handle
PTA_AVX512VL and OPTION_MASK_ISA_AVX512VL.
(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512vl.
* config/i386/i386.h (TARGET_AVX512VL): Define.
(TARGET_AVX512VL_P(x)): Ditto.
* config/i386/i386.opt: Add mavx512vl.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213813
2014-08-11 11:39:14 +00:00
Felix Yang
d4759fc61b
re PR c/62073 (Segmentation fault with tree vectorize)
...
2014-08-11 Felix Yang <fei.yang0953@gmail.com>
PR tree-optimization/62073
* tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
a basic block.
* gcc.dg/vect/pr62073.c: New test.
From-SVN: r213812
2014-08-11 11:24:35 +00:00
Alexander Ivchenko
b525d9437f
i386-common.c (OPTION_MASK_ISA_AVX512BW_SET): Define.
...
gcc/
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_AVX512BW_SET) : Define.
(OPTION_MASK_ISA_AVX512BW_UNSET): Ditto.
(OPTION_MASK_ISA_AVX512VL_UNSET) : Ditto.
(ix86_handle_option): Handle OPT_mavx512bw.
* config/i386/cpuid.h (bit_AVX512BW): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512bw,
set -mavx512bw accordingly.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_AVX512BW.
* config/i386/i386.c (ix86_target_string): Handle -mavx512bw.
(ix86_option_override_internal): Define PTA_AVX512BW, handle
PTA_AVX512BW and OPTION_MASK_ISA_AVX512BW.
(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512bw.
* config/i386/i386.h (TARGET_AVX512BW): Define.
(TARGET_AVX512BW_P(x)): Ditto.
* config/i386/i386.opt: Add mavx512bw.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213811
2014-08-11 11:22:26 +00:00
Richard Biener
5f732aeb8e
re PR tree-optimization/62070 (ICE: verify_ssa failed)
...
2014-08-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/62070
* tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
Remove SSA checking.
* gcc.dg/pr62070.c: New testcase.
From-SVN: r213810
2014-08-11 10:55:10 +00:00
Richard Biener
5ff0f237a4
re PR fortran/61950 (Many 64-bit fortran allocate tests FAIL)
...
2014-08-11 Richard Biener <rguenther@suse.de>
PR fortran/61950
* trans-expr.c (gfc_conv_structure): Initialize _size with
a value of proper type.
From-SVN: r213809
2014-08-11 07:49:30 +00:00
Mingjie Xing
6f853fd453
texi2pod.pl (postprocess): Move command process for '@sc' to the front of '@dfn'.
...
* texi2pod.pl (postprocess): Move command process for '@sc' to the
front of '@dfn'. Add a new command process for '@t{...}', just print
the content.
From-SVN: r213808
2014-08-11 07:29:41 +00:00
Yury Gribov
c62ccb9a0a
Move inlining of Asan memory checks to sanopt pass.
...
Change asan-instrumentation-with-call-threshold to more closely match LLVM.
2014-08-11 Yury Gribov <y.gribov@samsung.com>
gcc/
* asan.c (asan_check_flags): New enum.
(build_check_stmt_with_calls): Removed function.
(build_check_stmt): Split inlining logic to
asan_expand_check_ifn.
(instrument_derefs): Rename parameter.
(instrument_mem_region_access): Rename parameter.
(instrument_strlen_call): Likewise.
(asan_expand_check_ifn): New function.
(asan_instrument): Remove old code.
(pass_sanopt::execute): Change handling of
asan-instrumentation-with-call-threshold.
(asan_clear_shadow): Fix formatting.
(asan_function_start): Likewise.
(asan_emit_stack_protection): Likewise.
* doc/invoke.texi (asan-instrumentation-with-call-threshold):
Update description.
* internal-fn.c (expand_ASAN_CHECK): New function.
* internal-fn.def (ASAN_CHECK): New internal function.
* params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
Update description.
(PARAM_ASAN_USE_AFTER_RETURN): Likewise.
* tree.c: Small comment fix.
gcc/testsuite/
* c-c++-common/asan/inc.c: Update test.
* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-1.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-4.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-9.c: Likewise.
From-SVN: r213807
2014-08-11 06:12:12 +00:00
Yury Gribov
b78475cf73
Added fnspec to internal functions.
...
2014-08-11 Yury Gribov <y.gribov@samsung.com>
gcc/
* gimple.c (gimple_call_fnspec): Support internal functions.
(gimple_call_return_flags): Use const.
* Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
* internal-fn.def: Add fnspec information.
* internal-fn.h (internal_fn_fnspec): New function.
(init_internal_fns): Declare new function.
* internal-fn.c (internal_fn_fnspec_array): New global variable.
(init_internal_fns): New function.
* tree-core.h: Update macro call.
* tree.c (build_common_builtin_nodes): Initialize internal fns.
From-SVN: r213806
2014-08-11 06:06:29 +00:00
Gerald Pfeifer
f473c082d8
lto-streamer.h (struct output_block::symbol): Change from struct symtab_node to plain symtab_node.
...
* lto-streamer.h (struct output_block::symbol): Change from
struct symtab_node to plain symtab_node.
(referenced_from_this_partition_p): Change first parameter
from struct symtab_node to plain symtab_node.
From-SVN: r213805
2014-08-11 02:10:00 +00:00
GCC Administrator
de703817ab
Daily bump.
...
From-SVN: r213804
2014-08-11 00:16:53 +00:00
Marek Polacek
f3bede7188
re PR c/51849 (-Wc99-compat would be considered useful)
...
PR c/51849
gcc/
* gcc/doc/invoke.texi: Document -Wc90-c99-compat.
gcc/c-family/
* c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
* c.opt (Wc90-c99-compat): Add option.
gcc/c/
* c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
Call pedwarn_c90 instead of pedwarn.
(check_bitfield_type_and_width): Likewise.
(declspecs_add_qual): Likewise.
(declspecs_add_type): Likewise.
(warn_variable_length_array): Unify function for -pedantic and -Wvla.
Adjust to only call pedwarn_c90.
(grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
pedwarn_c90 instead of pedwarn.
* c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
* c-parser.c (disable_extension_diagnostics): Handle
warn_c90_c99_compat.
(restore_extension_diagnostics): Likewise.
(c_parser_enum_specifier): Remove check for !flag_isoc99. Call
pedwarn_c90 instead of pedwarn.
(c_parser_initelt): Likewise.
(c_parser_postfix_expression): Likewise.
(c_parser_postfix_expression_after_paren_type): Likewise.
(c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
* c-tree.h: Fix formatting.
* c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
pedwarn_c90 instead of pedwarn.
gcc/testsuite/
* gcc.dg/Wc90-c99-compat-1.c: New test.
* gcc.dg/Wc90-c99-compat-2.c: New test.
* gcc.dg/Wc90-c99-compat-3.c: New test.
* gcc.dg/Wc90-c99-compat-4.c: New test.
* gcc.dg/Wc90-c99-compat-5.c: New test.
* gcc.dg/Wc90-c99-compat-6.c: New test.
* gcc.dg/wvla-1.c: Adjust dg-warning.
* gcc.dg/wvla-2.c: Adjust dg-warning.
* gcc.dg/wvla-4.c: Adjust dg-warning.
* gcc.dg/wvla-6.c: Adjust dg-warning.
libcpp/
* lex.c (_cpp_lex_direct): Warn when -Wc90-c99-compat is in effect.
* charset.c (_cpp_valid_ucn): Likewise.
* include/cpplib.h (cpp_options): Add cpp_warn_c90_c99_compat.
* macro.c (replace_args): Warn when -Wc90-c99-compat is in effect.
(parse_params): Likewise.
From-SVN: r213786
2014-08-10 06:10:49 +00:00
GCC Administrator
7a9f1eed30
Daily bump.
...
From-SVN: r213785
2014-08-10 00:16:59 +00:00
Thomas Koenig
4d05134010
re PR fortran/61999 (gfc_simplify_dot_product
causes ICE for constant arguments)
...
2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/61999
* simplify.c (gfc_simplify_dot_product): Convert types of
vectors before calculating the result.
2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/61999
* gfortran.dg/dot_product_3.f90: New test case.
From-SVN: r213782
2014-08-09 22:38:46 +00:00
Jan Hubicka
726540aa29
devirt-35.C: Fix template.
...
* g++.dg/ipa/devirt-35.C: Fix template.
* g++.dg/ipa/devirt-36.C: Likewise.
* g++.dg/ipa/devirt-37.C: New testcase.
* ipa-devirt.c (get_dynamic_type): Handle case when instance is in
DECL correctly; do not give up on types in static storage.
From-SVN: r213781
2014-08-09 22:07:55 +00:00
Ulrich Drepper
83a4216dd2
random.tcc (uniform_on_sphere_helper): Define.
...
* include/ext/random.tcc (uniform_on_sphere_helper): Define.
(uniform_on_sphere_distribution::operator()): Use the new helper
class for the implementation.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
equal.cc: Remove bogus part of comment.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
inequal.cc: Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
serialize.cc: Add check to verify result of serialzation and
deserialization.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
generate.cc: New file.
From-SVN: r213779
2014-08-09 17:56:57 +00:00
Paolo Carlini
42ee80b920
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
...
* Adjust date.
From-SVN: r213777
2014-08-09 09:00:34 +00:00
Paolo Carlini
6a6bdc3d09
invoke.texi ([Wnarrowing]): Update for non-constants in C++11.
...
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11.
gcc/cp
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* typeck2.c (check_narrowing): Add tsubst_flags_t parameter, change
return type to bool; in C++11 for constants give errors, not pedwarns.
* cp-tree.h (check_narrowing): Adjust declaration.
* call.c (convert_like_real): Update calls.
* semantics.c (finish_compound_literal): Likewise.
gcc/testsuite
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/Wnarrowing1.C: Adjust for errors.
* g++.dg/cpp0x/enum29.C: Adjust.
/libstdc++-v3
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
From-SVN: r213776
2014-08-09 08:58:33 +00:00
François Dumont
013078982d
re PR libstdc++/61667 (setting max_load_factor of unordered_map cause buckets shrink)
...
2014-08-09 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/61667
* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
_M_need_rehash to initialize the rehash policy and check if a rehash is
needed.
* testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
From-SVN: r213775
2014-08-09 08:00:59 +00:00
Roman Gareev
b5bdf598f9
[gcc/]
...
* graphite-isl-ast-to-gimple.c:
(translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1.
[gcc/testsuite]
* gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase.
From-SVN: r213774
2014-08-09 05:57:47 +00:00
GCC Administrator
361f3f5f12
Daily bump.
...
From-SVN: r213772
2014-08-09 00:16:46 +00:00
Guozhi Wei
b435752c2e
rs6000.md (*movdi_internal64): Add a new constraint.
...
* config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
From-SVN: r213767
2014-08-08 23:00:28 +00:00
Cary Coutant
4dd7c3b285
Remove skeleton type units that were being produced with -gsplit-dwarf.
...
These sections were originally intended as targets for .gdb_index
entries that needed to point to type units. Because of the limitations
of the .debug_gnu_pubnames/pubtypes sections with split DWARF, we were
not able to pass along enough information to the gold linker to generate
those index entries properly, and they had to point to the CU instead.
GDB had to deal with that, and was updated a while ago to no longer
depend on the skeleton TU sections at all. This allows us to reduce
object file sizes with split DWARF by about 30%.
gcc/
* dwarf2out.c (get_skeleton_type_unit): Remove.
(output_skeleton_debug_sections): Remove skeleton type units.
(output_comdat_type_unit): Likewise.
(dwarf2out_finish): Likewise.
From-SVN: r213765
2014-08-08 13:33:26 -07:00
Jason Merrill
a6b0c7bc45
* pt.c (lookup_template_class_1): Copy abi_tag.
...
From-SVN: r213762
2014-08-08 14:17:21 -04:00
Ian Lance Taylor
ff09769fac
go-gcc.cc (Gcc_backend::compound_statement): Don't return NULL_TREE.
...
* go-gcc.cc (Gcc_backend::compound_statement): Don't return
NULL_TREE.
From-SVN: r213761
2014-08-08 17:40:51 +00:00
Yi Yang
7ca26091fc
Remove a redundant assignment "*predictor = PRED_BUILTIN_EXPECT;", since six
...
lines later *predictor is assigned again.
--
2014-08-08 Yi Yang <ahyangyi@google.com>
gcc:
* predict.c (expr_expected_value_1): Remove the redundant assignment.
From-SVN: r213760
2014-08-08 12:06:51 -05:00
Richard Biener
207c68cd61
lto-streamer.h (struct lto_input_block): Make it a class with a constructor.
...
2014-08-08 Richard Biener <rguenther@suse.de>
* lto-streamer.h (struct lto_input_block): Make it a class
with a constructor.
(LTO_INIT_INPUT_BLOCK, LTO_INIT_INPUT_BLOCK_PTR): Remove.
(struct lto_function_header, struct lto_simple_header,
struct lto_simple_header_with_strings,
struct lto_decl_header, struct lto_function_header): Make
a simple inheritance hieararchy. Remove unused fields.
(struct lto_asm_header): Remove.
* lto-streamer-out.c (produce_asm): Adjust.
(lto_output_toplevel_asms): Likewise.
(produce_asm_for_decls): Likewise.
* lto-section-out.c (lto_destroy_simple_output_block): Likewise.
* data-streamer-in.c (string_for_index): Likewise.
* ipa-inline-analysis.c (inline_read_section): Likewise.
* ipa-prop.c (ipa_prop_read_section): Likewise.
(read_replacements_section): Likewise.
* lto-cgraph.c (input_cgraph_opt_section): Likewise.
* lto-section-in.c (lto_create_simple_input_block): Likewise.
(lto_destroy_simple_input_block): Likewise.
* lto-streamer-in.c (lto_read_body_or_constructor): Likewise.
(lto_input_toplevel_asms): Likewise.
lto/
* lto.c (lto_read_decls): Adjust for lto_input_block changes.
From-SVN: r213759
2014-08-08 12:55:31 +00:00
Alexander Ivchenko
07165dd72c
gcc/
...
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_AVX512DQ_SET): Define.
(OPTION_MASK_ISA_AVX512DQ_UNSET): Ditto.
(ix86_handle_option): Handle OPT_mavx512dq.
* config/i386/cpuid.h (bit_AVX512DQ): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512dq,
set -mavx512dq accordingly.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_AVX512DQ.
* config/i386/i386.c (ix86_target_string): Handle -mavx512dq.
(ix86_option_override_internal): Define PTA_AVX512DQ, handle
PTA_AVX512DQ and OPTION_MASK_ISA_AVX512DQ.
(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512dq.
* config/i386/i386.h (TARGET_AVX512DQ): Define.
(TARGET_AVX512DQ_P(x)): Ditto.
* config/i386/i386.opt: Add mavx512dq.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213757
2014-08-08 11:31:34 +00:00
Bin Cheng
7c581d613c
re PR lto/62032 (FAIL: vsnprintf-chk.c execution, -O2 -flto -fno-use-linker-plugin -flto-partition=none)
...
PR lto/62032
* lto/lto-lang.c (lto_init): Switch mis-matched arguments.
From-SVN: r213755
2014-08-08 10:21:12 +00:00
Richard Biener
fef5a0d95e
builtins.c (c_getstr, [...]): Export.
...
2014-08-08 Richard Biener <rguenther@suse.de>
* builtins.c (c_getstr, readonly_data_expr, init_target_chars,
target_percent, target_percent_s): Export.
(var_decl_component_p, fold_builtin_memory_op, fold_builtin_memset,
fold_builtin_bzero, fold_builtin_strcpy, fold_builtin_strncpy,
fold_builtin_strcat, fold_builtin_fputs, fold_builtin_memory_chk,
fold_builtin_stxcpy_chk, fold_builtin_stxncpy_chk,
fold_builtin_sprintf_chk_1, fold_builtin_snprintf_chk_1):
Move to gimple-fold.c.
(fold_builtin_2): Remove handling of bzero, fputs, fputs_unlocked,
strcat and strcpy.
(fold_builtin_3): Remove handling of memset, bcopy, memcpy,
mempcpy, memmove, strncpy, strcpy_chk and stpcpy_chk.
(fold_builtin_4): Remove handling of memcpy_chk, mempcpy_chk,
memmove_chk, memset_chk, strncpy_chk and stpncpy_chk.
(rewrite_call_expr_array): Remove.
(fold_builtin_sprintf_chk): Likewise.
(fold_builtin_snprintf_chk): Likewise.
(fold_builtin_varargs): Remove handling of sprintf_chk,
vsprintf_chk, snprintf_chk and vsnprintf_chk.
(gimple_fold_builtin_sprintf_chk): Remove.
(gimple_fold_builtin_snprintf_chk): Likewise.
(gimple_fold_builtin_varargs): Likewise.
(fold_call_stmt): Do not call gimple_fold_builtin_varargs.
* predict.c (optimize_bb_for_size_p): Handle NULL bb.
* gimple.c (gimple_seq_add_seq_without_update): New function.
* gimple.h (gimple_seq_add_seq_without_update): Declare.
* gimple-fold.c: Include output.h.
(gsi_replace_with_seq_vops): New function, split out from ...
(gimplify_and_update_call_from_tree): ... here.
(replace_call_with_value): New function.
(replace_call_with_call_and_fold): Likewise.
(var_decl_component_p): Moved from builtins.c.
(gimple_fold_builtin_memory_op): Moved from builtins.c
fold_builtin_memory_op and rewritten to GIMPLE.
(gimple_fold_builtin_memset): Likewise.
(gimple_fold_builtin_strcpy): Likewise.
(gimple_fold_builtin_strncpy): Likewise.
(gimple_fold_builtin_strcat): Likewise.
(gimple_fold_builtin_fputs): Likewise.
(gimple_fold_builtin_memory_chk): Likewise.
(gimple_fold_builtin_stxcpy_chk): Likewise.
(gimple_fold_builtin_stxncpy_chk): Likewise.
(gimple_fold_builtin_snprintf_chk): Likewise.
(gimple_fold_builtin_sprintf_chk): Likewise.
(gimple_fold_builtin_strlen): New function.
(gimple_fold_builtin_with_strlen): New function split out from
gimple_fold_builtin.
(gimple_fold_builtin): Change signature and handle
bzero, memset, bcopy, memcpy, mempcpy and memmove folding
here. Call gimple_fold_builtin_with_strlen.
(gimple_fold_call): Adjust.
* gcc.dg/strlenopt-8.c: Remove XFAIL.
* gcc.dg/tree-prof/stringop-2.c: Adjust.
* gfortran.dg/array_memcpy_4.f90: Likewise.
* gfortran.dg/trim_optimize_1.f90: Likewise.
* gfortran.dg/trim_optimize_2.f90: Likewise.
From-SVN: r213753
2014-08-08 09:18:40 +00:00
Kai Tietz
322d490e02
semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport that we operate on a true inline.
...
* semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport
that we operate on a true inline.
From-SVN: r213751
2014-08-08 09:59:38 +02:00
Kugan Vivekanandarajah
8c9a36b7ca
calls.c (precompute_arguments): Check promoted_for_signed_and_unsigned_p and set the promoted mode.
...
gcc
2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
* calls.c (precompute_arguments): Check
promoted_for_signed_and_unsigned_p and set the promoted mode.
(promoted_for_signed_and_unsigned_p): New function.
(expand_expr_real_1): Check promoted_for_signed_and_unsigned_p
and set the promoted mode.
* expr.h (promoted_for_signed_and_unsigned_p): New function definition.
* cfgexpand.c (expand_gimple_stmt_1): Call emit_move_insn if
SUBREG is promoted with SRP_SIGNED_AND_UNSIGNED.
gcc/testsuite
2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/zero_sign_ext_test.c: New test.
From-SVN: r213750
2014-08-08 05:31:44 +00:00
Kugan Vivekanandarajah
362d42dcc9
calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.
...
gcc/
2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
* calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET
instead of SUBREG_PROMOTED_UNSIGNED_SET.
(expand_call): Likewise.
* cfgexpand.c (expand_gimple_stmt_1): Use SUBREG_PROMOTED_SIGN
to get promoted mode.
* combine.c (record_promoted_value): Skip > 0 comparison with
SUBREG_PROMOTED_UNSIGNED_P as it now returns only 0 or 1.
* expr.c (convert_move): Use SUBREG_CHECK_PROMOTED_SIGN instead
of SUBREG_PROMOTED_UNSIGNED_P.
(convert_modes): Likewise.
(store_expr): Use SUBREG_PROMOTED_SIGN to get promoted mode.
Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P.
(expand_expr_real_1): Use new SUBREG_PROMOTED_SET instead of
SUBREG_PROMOTED_UNSIGNED_SET.
* function.c (assign_parm_setup_reg): Use new SUBREG_PROMOTED_SET
instead of SUBREG_PROMOTED_UNSIGNED_SET.
* ifcvt.c (noce_emit_cmove): Updated to use SUBREG_PROMOTED_GET and
SUBREG_PROMOTED_SET.
* internal-fn.c (ubsan_expand_si_overflow_mul_check): Use
SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.
* optabs.c (widen_operand): Use SUBREG_CHECK_PROMOTED_SIGN instead
of SUBREG_PROMOTED_UNSIGNED_P.
* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Remove.
(SUBREG_PROMOTED_SET): New define.
(SUBREG_PROMOTED_GET): Likewise.
(SUBREG_PROMOTED_SIGN): Likewise.
(SUBREG_PROMOTED_SIGNED_P): Likewise.
(SUBREG_CHECK_PROMOTED_SIGN): Likewise.
(SUBREG_PROMOTED_UNSIGNED_P): Updated.
* rtlanal.c (unsigned_reg_p): Use new SUBREG_PROMOTED_GET
instead of SUBREG_PROMOTED_UNSIGNED_GET.
(nonzero_bits1): Skip > 0 comparison with the results as
SUBREG_PROMOTED_UNSIGNED_P now returns only 0 or 1.
(num_sign_bit_copies1): Use SUBREG_PROMOTED_SIGNED_P instead
of !SUBREG_PROMOTED_UNSIGNED_P.
* simplify-rtx.c (simplify_unary_operation_1): Use new
SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P.
(simplify_subreg): Use new SUBREG_PROMOTED_SIGNED_P,
SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_SET instead of
SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_UNSIGNED_SET.
From-SVN: r213749
2014-08-08 05:24:12 +00:00
Bin Cheng
07ad7382cf
pr61772.c: Skip lto running.
...
* gcc.dg/torture/pr61772.c: Skip lto running.
From-SVN: r213748
2014-08-08 02:45:13 +00:00
GCC Administrator
1f24d2a24d
Daily bump.
...
From-SVN: r213747
2014-08-08 00:16:52 +00:00
Jonathan Wakely
db0b7db338
future (__location_invariant): Move specializations after preprocessor condition.
...
* include/std/future (__location_invariant): Move specializations
after preprocessor condition.
From-SVN: r213744
2014-08-07 23:54:53 +01:00
John David Anglin
ab498225ee
re PR tree-optimization/60707 (FAIL: gfortran.dg/pr45636.f90 -O scan-tree-dump-times forwprop2 "memset" 0)
...
PR tree-optimization/60707
* gfortran.dg/pr45636.f90: xfail on 32-bit hppa*-*-*.
From-SVN: r213740
2014-08-07 21:44:55 +00:00
Jan Hubicka
7d0aa05b9e
ipa-devirt.c: Include gimple-pretty-print.h
...
* ipa-devirt.c: Include gimple-pretty-print.h
(referenced_from_vtable_p): Exclude DECL_EXTERNAL from
further tests.
(decl_maybe_in_construction_p): Fix conditional on cdtor check
(get_polymorphic_call_info): Fix return value
(type_change_info): New sturcture based on ipa-prop
variant.
(noncall_stmt_may_be_vtbl_ptr_store): New predicate
based on ipa-prop variant.
(extr_type_from_vtbl_ptr_store): New function
based on ipa-prop variant.
(record_known_type): New function.
(check_stmt_for_type_change): New function.
(get_dynamic_type): New function.
* ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type.
* tree-ssa-pre.c: ipa-utils.h
(eliminate_dom_walker::before_dom_children): Use ipa-devirt
machinery; sanity check with ipa-prop devirtualization.
* trans-mem.c (ipa_tm_insert_gettmclone_call): Clear
polymorphic flag.
* g++.dg/ipa/devirt-35.C: New testcase.
* g++.dg/ipa/devirt-36.C: New testcase.
From-SVN: r213739
2014-08-07 20:58:17 +00:00
Trevor Saunders
9f25a338f9
remove pointer-set.[ch]
...
gcc/
* Makefile.in: Remove references to pointer-set.c and pointer-set.h.
* alias.c, cfgexpand.c, cgraphbuild.c,
config/aarch64/aarch64-builtins.c, config/aarch64/aarch64.c,
config/alpha/alpha.c, config/darwin.c, config/i386/i386.c,
config/i386/winnt.c, config/ia64/ia64.c, config/m32c/m32c.c,
config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c,
config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c,
config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c,
config/tilepro/tilepro.c, config/xtensa/xtensa.c, dominance.c,
dse.c, except.c, gengtype.c, gimple-expr.c,
gimple-ssa-strength-reduction.c, gimplify.c, ifcvt.c,
ipa-visibility.c, lto-streamer.h, omp-low.c, predict.c, stmt.c,
tree-affine.c, tree-cfg.c, tree-eh.c, tree-inline.c, tree-nested.c,
tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-niter.c,
tree-ssa-phiopt.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
tree-ssa.c, tree.c, var-tracking.c, varpool.c: Remove includes of
pointer-set.h.
* pointer-set.c: Remove file.
* pointer-set.h: Remove file.
gcc/c-family/
* c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
gcc/c/
* c-typeck.c: Remove include of pointer-set.h.
gcc/cp/
* class.c, cp-gimplify.c, decl.c, decl2.c, error.c, method.c,
optimize.c, pt.c, semantics.c: Remove includes of pointer-set.h.
From-SVN: r213738
2014-08-07 20:52:50 +00:00
Jonathan Wakely
4e48c10968
future (_State_baseV2::_M_set_result): Pass pointers to _M_do_set.
...
* include/std/future (_State_baseV2::_M_set_result): Pass pointers to
_M_do_set.
(_State_baseV2::_M_do_set): Change parameters to pointers.
(_State_baseV2::_Setter): Change _M_arg from reference to pointer.
(_State_baseV2::__setter): Initialize _Setter with pointers.
(_State_baseV2::__setter(promise<void>*)): Remove overload.
(promise::set_value, promise::set_exception): Pass setter directly
to _M_set_result.
(_State_baseV2::_Task_setter): Add template parameter for callable
type and replace std::function member with pointer to that type.
Change _M_result member from reference to pointer.
(_State_baseV2::_S_task_setter): Change parameter to lvalue reference
and initialize _Task_setter with pointers.
(__location_invariant): Specialize for _Setter and _Task_setter.
From-SVN: r213737
2014-08-07 21:13:52 +01:00
Paolo Carlini
2d45625fa7
re PR c++/51312 ([C++0x] Wrong interpretation of converted constant expressions (for enumerator initializers))
...
/cp
2014-08-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51312
* decl.c (build_enumerator): Handle class types with conversion
operators via perform_implicit_conversion_flags and
build_expr_type_conversion.
* cvt.c (build_expr_type_conversion): Replace pair of errors
with error + inform.
/testsuite
2014-08-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51312
* g++.dg/cpp0x/enum29.C: New.
From-SVN: r213736
2014-08-07 19:51:28 +00:00
Jason Merrill
4a53d90b5f
re PR c++/62043 (GCC hangs / aborts / double free or corruption (!prev) on invalid input)
...
PR c++/62043
* parser.c (c_parse_file): Change sorry to fatal_error.
From-SVN: r213732
2014-08-07 15:48:36 -04:00
Jason Merrill
2e8e74c0ad
re PR c++/61959 (ICE: in tree_to_uhwi, at tree.h:3657 when building Mozilla code)
...
PR c++/61959
* semantics.c (cxx_eval_bare_aggregate): Handle POINTER_PLUS_EXPR.
From-SVN: r213731
2014-08-07 15:48:30 -04:00
John David Anglin
34c1359ee1
c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before defining in dg-options.
...
* gcc.dg/atomic/c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before
defining in dg-options.
* gcc.dg/atomic/c11-atomic-exec-5.c: Likewise.
From-SVN: r213729
2014-08-07 19:21:50 +00:00
John David Anglin
3bce9ea72d
stdatomic-flag.c: Add xfail comment.
...
* gcc.dg/atomic/stdatomic-flag.c: Add xfail comment.
From-SVN: r213727
2014-08-07 18:56:59 +00:00
John David Anglin
42d9533c8f
memcpy-5.c: Add -fno-common option on hppa*-*-hpux*.
...
* gcc.dg/memcpy-5.c: Add -fno-common option on hppa*-*-hpux*.
From-SVN: r213723
2014-08-07 18:46:13 +00:00
John David Anglin
249a8c6c1f
pr60655-1.c: Don't add -fdata-sections option on 32-bit hppa-hpux.
...
* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections option
on 32-bit hppa-hpux.
From-SVN: r213720
2014-08-07 18:22:47 +00:00
Nathan Sidwell
4303c58196
Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
...
* Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
(LIBGCOV_DRIVER): ... to here.
* libgcov.h (gcov_do_dump): New #define.
(struct gcov_root): New.
(__gcov_root): New declaration.
(__gcov_dump_one): Declare.
* libgcov-driver.c (gcov_list, gcov_dump_complete,
run_accounted): Delete.
(gcov_compute_histogram): Add LIST argument, adjust.
(compute_summary): Adjust gcov_compute_histogram call.
(gcov_do_dump): Not hidden, static in libgcov.
(gcov_clear): Move to interface.c.
(__gcov_dump_one): New, broken out of ...
(gcov_exit): ... here. Make static.
(__gcov_root): New.
(__gcov_init): Adjust.
* libgcov-interface.c (gcov_clear, gcov_exit): Remove
declarations.
(__gcov_flush): Use __gcov_dump_one and __gcov_reset.
(gcov_clear): Moved from driver.c. Add LIST argument.
(__gcov_reset): Adjust for changed interfaces.
(__gcov_fork): Remove local declaration of __gcov_flush_mx.
From-SVN: r213719
2014-08-07 18:02:06 +00:00
John David Anglin
8bd8ef50e4
pr57233.c: Add -fno-common option on hppa*-*-hpux*.
...
* gcc.dg/pr57233.c: Add -fno-common option on hppa*-*-hpux*.
* c-c++-common/pr50459.c: Likewise.
From-SVN: r213717
2014-08-07 17:49:08 +00:00