pault [Tue, 10 Mar 2015 19:39:05 +0000 (19:39 +0000)]
2015-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65024
* trans-expr.c (gfc_conv_component_ref): If the component
backend declaration is missing and the derived type symbol is
available in the reference, call gfc_build_derived_type.
2015-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65024
* gfortran.dg/unlimited_polymorphic_23.f90: New test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221334
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 10 Mar 2015 19:10:43 +0000 (19:10 +0000)]
PR c++/65127
* parser.c (parsing_nsdmi): Don't return true if current_class_ptr
is not a PARM_DECL.
* g++.dg/cpp0x/pr65127.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221332
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 10 Mar 2015 18:43:44 +0000 (18:43 +0000)]
* gcc.dg/ipa/PR64550.c: Update template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221331
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Tue, 10 Mar 2015 18:41:46 +0000 (18:41 +0000)]
PR libstdc++/64441
* include/bits/regex.h (match_results<>::size,
match_results<>::position, match_results<>::str,
match_results<>::operator[], match_results<>::prefix,
match_results<>::suffix, match_results<>::end,
match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
global __unmatched_sub. Add unmatched submatch as part of
match_results.
* include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
* testsuite/28_regex/match_results/out_of_range_submatches.cc:
New testcases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221330
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 10 Mar 2015 17:58:01 +0000 (17:58 +0000)]
2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
Tobias Burnus <burnus@net-b.de>
* trans.h (caf_sync_memory): New function decl tree.
* trans-decl.c (gfc_build_builtin_function_decls): Define it.
(create_main_function): Don't call sync_synchronize and leave
it to the CAF library.
* trans-stmt.c (gfc_trans_stop): Ditto.
(gfc_trans_sync): Ditto; add call library call for sync memory.
* gfortran.dg/coarray_sync_memory.f90: New.
* caf/libcaf.h (_gfortran_caf_sync_memory): New prototype.
* caf/single.c (_gfortran_caf_sync_memory): Implement.
(_gfortran_caf_sync_all, _gfortran_caf_sync_image): Add
__asm__ __volatile___ ("":::"memory").
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221329
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 10 Mar 2015 17:44:48 +0000 (17:44 +0000)]
PR c++/65333
DR 1558
* pt.c (dependent_type_p_r): Check both class and alias template args.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221328
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 10 Mar 2015 17:21:34 +0000 (17:21 +0000)]
* ipa-icf.c (sem_function::equals_wpa): Move here some checks
from ...
(sem_function::equals_wpa): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221327
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Tue, 10 Mar 2015 16:37:53 +0000 (16:37 +0000)]
PR bootstrap/25672
* configure.ac: Do not initialize CFLAGS_FOR_TARGET from CFLAGS if
cross-compiling. Similarly for CXX_FOR_TARGET.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221326
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 10 Mar 2015 15:57:45 +0000 (15:57 +0000)]
PR sanitizer/65367
* ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
separately.
* c-c++-common/ubsan/pr65367.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221325
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 10 Mar 2015 13:43:44 +0000 (13:43 +0000)]
PR target/65286
* config/rs6000/t-linux: For powerpc64* target set
MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221322
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 10 Mar 2015 12:44:01 +0000 (12:44 +0000)]
2015-03-09 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
for redirect_all_calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221321
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 10 Mar 2015 12:32:09 +0000 (12:32 +0000)]
* gdbinit.in (pcfun): Define and document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221320
138bc75d-0d04-0410-961f-
82ee72b054a4
iverbin [Tue, 10 Mar 2015 12:23:27 +0000 (12:23 +0000)]
Fix search path in intelmic-mkoffload for empty COLLECT_GCC.
gcc/
* config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
of libgomp-plugin.h.
(find_target_compiler): Support a case when the path to gcc is specified
in the PATH env var, so COLLECT_GCC doesn't contain a path.
(generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
libgomp-plugin.h.
(main): Use GCC_INSTALL_NAME as target_driver_name.
* config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
define.
(mkoffload.o): Remove obsolete include path and defines.
(mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221319
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 10 Mar 2015 11:16:33 +0000 (11:16 +0000)]
2015-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/63155
* tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
* tree-ssa-coalesce.c: Include timevar.h.
(attempt_coalesce): Handle graph being NULL.
(coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
Split out abnormal coalescing to ...
(perform_abnormal_coalescing): ... this function.
(coalesce_ssa_name): Perform abnormal coalescing without computing
live/conflict.
(verify_ssa_coalescing_worker): New function.
(verify_ssa_coalescing): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221318
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 10 Mar 2015 09:56:07 +0000 (09:56 +0000)]
Typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221317
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 10 Mar 2015 09:50:41 +0000 (09:50 +0000)]
PR target/65296
* config.gcc (extra_options) [avr]: Remove.
(extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
(tm_file) [avr]: Add avr/specs.h after avr/avr.h.
(tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
* config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
(-mmcu=): Add Var and MissingArgError properties.
(-march=): Remove.
* config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
* config/avr/t-multilib: Regenerate.
* config/avr/specs.h: New file.
* config/avr/driver-avr.c: New file.
* config/avr/genopt.sh: Remove file.
* config/avr/avr-tables.opt: Remove file.
* config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
* config/avr/avr-c.c: Same.
* avr-arch.h: Same.
(avr_current_device): Remove proto.
* config/avr/avr.h (avr_current_arch): Rename to avr_arch.
(AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
(EXTRA_SPEC_FUNCTIONS): Define.
(avr_devicespecs_file): New specs function proto.
(DRIVER_SELF_SPECS): Use device-specs-file spec function.
* config/avr/avr.c (avr_current_arch): Rename to avr_arch.
(avr_current_device): Remove definition and usage.
\a
(avr_set_core_architecture): New static function.
(avr_option_override): Use it.
* config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
(mcu_name): New static array.
(comparator, avr_archs_str, avr_mcus_str): New static functions.
(avr_inform_devices, avr_inform_core_architectures): New functions.
* config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
(avrlibc.h) [WITH_AVRLIBC]: Include.
(../rtems.h, rtems.h) [WITH_RTEMS]: Include.
(print_mcu): Rewrite from scratch.
* config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
Forward to avr-specific specs defined in device-specs file.
* config/avr/t-avr (driver-avr.o): New rule.
(avr-devices.o): Depend on avr-arch.h.
(avr-mcus): No more depend on avr-tables.opt.
(avr-tables.opt): Remove rule.
(install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221316
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 10 Mar 2015 09:48:51 +0000 (09:48 +0000)]
* lib/mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
* gcc.target/i386/mpx/calloc-1-lbv.c: New.
* gcc.target/i386/mpx/calloc-1-ubv.c: New.
* gcc.target/i386/mpx/calloc-1-nov.c: New.
* gcc.target/i386/mpx/malloc-1-lbv.c: New.
* gcc.target/i386/mpx/malloc-1-nov.c: New.
* gcc.target/i386/mpx/malloc-1-ubv.c: New.
* gcc.target/i386/mpx/realloc-1-lbv.c: New.
* gcc.target/i386/mpx/realloc-1-nov.c: New.
* gcc.target/i386/mpx/realloc-1-ubv.c: New.
* gcc.target/i386/mpx/realloc-2-lbv.c: New.
* gcc.target/i386/mpx/realloc-2-nov.c: New.
* gcc.target/i386/mpx/realloc-2-ubv.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221315
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 10 Mar 2015 09:46:11 +0000 (09:46 +0000)]
* c-family/c.opt (fchkp-use-wrappers): New.
* ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
(chkp_wrap_function): New.
(chkp_build_instrumented_fndecl): Support wrapped
functions.
* doc/invoke.texi (-fcheck-pointer-bounds): New.
(-fchkp-check-incomplete-type): New.
(-fchkp-first-field-has-own-bounds): New.
(-fchkp-narrow-bounds): New.
(-fchkp-narrow-to-innermost-array): New.
(-fchkp-optimize): New.
(-fchkp-use-fast-string-functions): New.
(-fchkp-use-nochk-string-functions): New.
(-fchkp-use-static-bounds): New.
(-fchkp-use-static-const-bounds): New.
(-fchkp-treat-zero-dynamic-size-as-infinite): New.
(-fchkp-check-read): New.
(-fchkp-check-write): New.
(-fchkp-store-bounds): New.
(-fchkp-instrument-calls): New.
(-fchkp-instrument-marked-only): New.
(-fchkp-use-wrappers): New.
(-static-libmpx): New.
(-static-libmpxwrappers): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221314
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 10 Mar 2015 09:43:24 +0000 (09:43 +0000)]
gcc/
* config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
(CHKP_SPEC): Add wrappers library.
* c-family/c.opt (static-libmpxwrappers): New.
libmpx/
* Makefile.am (SUBDIRS): Add mpxwrap when used
AS supports MPX.
(MAKEOVERRIDES): New.
* Makefile.in: Regenerate.
* configure.ac: Check AS supports MPX. Add
mpxintr/Makefile to config files.
* configure: Regenerate.
* mpxwrap/Makefile.am: New.
* mpxwrap/Makefile.in: New.
* mpxwrap/libtool-version: New.
* mpxwrap/mpx_wrappers.cc: New.
* mpxwrap/libmpxwrappers.map: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221313
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 10 Mar 2015 09:39:59 +0000 (09:39 +0000)]
gcc/testsuites/
* gcc/testsuite/lib/mpx-dg.exp (mpx_link_flags): New.
(mpx_init): New.
(mpx_finish): New.
* gcc.target/i386/mpx/alloca-1-lbv.c: New.
* gcc.target/i386/mpx/alloca-1-nov.c: New.
* gcc.target/i386/mpx/alloca-1-ubv.c: New.
* gcc.target/i386/mpx/arg-addr-1-lbv.c: New.
* gcc.target/i386/mpx/arg-addr-1-nov.c: New.
* gcc.target/i386/mpx/arg-addr-1-ubv.c: New.
* gcc.target/i386/mpx/bitfields-1-lbv.c: New.
* gcc.target/i386/mpx/bitfields-1-nov.c: New.
* gcc.target/i386/mpx/bitfields-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: New.
* gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: New.
* gcc.target/i386/mpx/fastcall-1-lbv.c: New.
* gcc.target/i386/mpx/fastcall-1-nov.c: New.
* gcc.target/i386/mpx/fastcall-1-ubv.c: New.
* gcc.target/i386/mpx/fastcall-2-lbv.c: New.
* gcc.target/i386/mpx/fastcall-2-nov.c: New.
* gcc.target/i386/mpx/fastcall-2-ubv.c: New.
* gcc.target/i386/mpx/field-addr-1-lbv.c: New.
* gcc.target/i386/mpx/field-addr-1-nov.c: New.
* gcc.target/i386/mpx/field-addr-1-ubv.c: New.
* gcc.target/i386/mpx/field-addr-10-lbv.c: New.
* gcc.target/i386/mpx/field-addr-10-nov.c: New.
* gcc.target/i386/mpx/field-addr-10-ubv.c: New.
* gcc.target/i386/mpx/field-addr-2-lbv.c: New.
* gcc.target/i386/mpx/field-addr-2-nov.c: New.
* gcc.target/i386/mpx/field-addr-2-ubv.c: New.
* gcc.target/i386/mpx/field-addr-3-lbv.c: New.
* gcc.target/i386/mpx/field-addr-3-nov.c: New.
* gcc.target/i386/mpx/field-addr-3-ubv.c: New.
* gcc.target/i386/mpx/field-addr-4-lbv.c: New.
* gcc.target/i386/mpx/field-addr-4-nov.c: New.
* gcc.target/i386/mpx/field-addr-4-ubv.c: New.
* gcc.target/i386/mpx/field-addr-5-lbv.c: New.
* gcc.target/i386/mpx/field-addr-5-nov.c: New.
* gcc.target/i386/mpx/field-addr-5-ubv.c: New.
* gcc.target/i386/mpx/field-addr-6-lbv.c: New.
* gcc.target/i386/mpx/field-addr-6-nov.c: New.
* gcc.target/i386/mpx/field-addr-6-ubv.c: New.
* gcc.target/i386/mpx/field-addr-7-lbv.c: New.
* gcc.target/i386/mpx/field-addr-7-nov.c: New.
* gcc.target/i386/mpx/field-addr-7-ubv.c: New.
* gcc.target/i386/mpx/field-addr-8-lbv.c: New.
* gcc.target/i386/mpx/field-addr-8-nov.c: New.
* gcc.target/i386/mpx/field-addr-8-ubv.c: New.
* gcc.target/i386/mpx/field-addr-9-lbv.c: New.
* gcc.target/i386/mpx/field-addr-9-nov.c: New.
* gcc.target/i386/mpx/field-addr-9-ubv.c: New.
* gcc.target/i386/mpx/frame-address-1-nov.c: New.
* gcc.target/i386/mpx/hard-reg-1-nov.c: New.
* gcc.target/i386/mpx/if-stmt-1-lbv.c: New.
* gcc.target/i386/mpx/if-stmt-1-nov.c: New.
* gcc.target/i386/mpx/if-stmt-1-ubv.c: New.
* gcc.target/i386/mpx/if-stmt-2-lbv.c: New.
* gcc.target/i386/mpx/if-stmt-2-nov.c: New.
* gcc.target/i386/mpx/if-stmt-2-ubv.c: New.
* gcc.target/i386/mpx/label-address-1.c: New.
* gcc.target/i386/mpx/legacy-1-nov.c: New.
* gcc.target/i386/mpx/macro.c: New.
* gcc.target/i386/mpx/mpx-check.h: New.
* gcc.target/i386/mpx/mpx.exp: New.
* gcc.target/i386/mpx/nested-function-1-lbv.c: New.
* gcc.target/i386/mpx/nested-function-1-nov.c: New.
* gcc.target/i386/mpx/nested-function-1-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-1-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-1-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-1-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-2-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-2-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-2-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-3-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-3-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-3-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-4-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-4-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-4-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-5-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-5-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-5-ubv.c: New.
* gcc.target/i386/mpx/pointer-store-1-lbv.c: New.
* gcc.target/i386/mpx/pointer-store-1-nov.c: New.
* gcc.target/i386/mpx/pointer-store-1-ubv.c: New.
* gcc.target/i386/mpx/reference-1-lbv.c: New.
* gcc.target/i386/mpx/reference-1-nov.c: New.
* gcc.target/i386/mpx/reference-1-ubv.c: New.
* gcc.target/i386/mpx/reference-2-lbv.c: New.
* gcc.target/i386/mpx/reference-2-nov.c: New.
* gcc.target/i386/mpx/reference-2-ubv.c: New.
* gcc.target/i386/mpx/reference-3-lbv.c: New.
* gcc.target/i386/mpx/reference-3-nov.c: New.
* gcc.target/i386/mpx/reference-3-ubv.c: New.
* gcc.target/i386/mpx/reference-4-lbv.c: New.
* gcc.target/i386/mpx/reference-4-nov.c: New.
* gcc.target/i386/mpx/reference-4-ubv.c: New.
* gcc.target/i386/mpx/return-pointer-1-lbv.c: New.
* gcc.target/i386/mpx/return-pointer-1-nov.c: New.
* gcc.target/i386/mpx/return-pointer-1-ubv.c: New.
* gcc.target/i386/mpx/return-struct-1-lbv.c: New.
* gcc.target/i386/mpx/return-struct-1-nov.c: New.
* gcc.target/i386/mpx/return-struct-1-ubv.c: New.
* gcc.target/i386/mpx/return-struct-2-lbv.c: New.
* gcc.target/i386/mpx/return-struct-2-nov.c: New.
* gcc.target/i386/mpx/return-struct-2-ubv.c: New.
* gcc.target/i386/mpx/return-struct-3-lbv.c: New.
* gcc.target/i386/mpx/return-struct-3-nov.c: New.
* gcc.target/i386/mpx/return-struct-3-ubv.c: New.
* gcc.target/i386/mpx/return-struct-4-lbv.c: New.
* gcc.target/i386/mpx/return-struct-4-nov.c: New.
* gcc.target/i386/mpx/return-struct-4-ubv.c: New.
* gcc.target/i386/mpx/return-struct-5-lbv.c: New.
* gcc.target/i386/mpx/return-struct-5-nov.c: New.
* gcc.target/i386/mpx/return-struct-5-ubv.c: New.
* gcc.target/i386/mpx/return-struct-6-lbv.c: New.
* gcc.target/i386/mpx/return-struct-6-nov.c: New.
* gcc.target/i386/mpx/return-struct-6-ubv.c: New.
* gcc.target/i386/mpx/sincos-1-nov.c: New.
* gcc.target/i386/mpx/static-array-1-lbv.c: New.
* gcc.target/i386/mpx/static-array-1-nov.c: New.
* gcc.target/i386/mpx/static-array-1-ubv.c: New.
* gcc.target/i386/mpx/static-init-1-lbv.c: New.
* gcc.target/i386/mpx/static-init-1-nov.c: New.
* gcc.target/i386/mpx/static-init-1-ubv.c: New.
* gcc.target/i386/mpx/static-init-2-lbv.c: New.
* gcc.target/i386/mpx/static-init-2-nov.c: New.
* gcc.target/i386/mpx/static-init-2-ubv.c: New.
* gcc.target/i386/mpx/static-init-3-lbv.c: New.
* gcc.target/i386/mpx/static-init-3-nov.c: New.
* gcc.target/i386/mpx/static-init-3-ubv.c: New.
* gcc.target/i386/mpx/static-init-4-lbv.c: New.
* gcc.target/i386/mpx/static-init-4-nov.c: New.
* gcc.target/i386/mpx/static-init-4-ubv.c: New.
* gcc.target/i386/mpx/static-init-5-lbv.c: New.
* gcc.target/i386/mpx/static-init-5-nov.c: New.
* gcc.target/i386/mpx/static-init-5-ubv.c: New.
* gcc.target/i386/mpx/static-init-6-lbv.c: New.
* gcc.target/i386/mpx/static-init-6-nov.c: New.
* gcc.target/i386/mpx/static-init-6-ubv.c: New.
* gcc.target/i386/mpx/static-string-1-lbv.c: New.
* gcc.target/i386/mpx/static-string-1-nov.c: New.
* gcc.target/i386/mpx/static-string-1-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-1-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-1-nov.c: New.
* gcc.target/i386/mpx/struct-arg-1-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-10-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-10-nov.c: New.
* gcc.target/i386/mpx/struct-arg-10-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-2-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-2-nov.c: New.
* gcc.target/i386/mpx/struct-arg-2-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-3-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-3-nov.c: New.
* gcc.target/i386/mpx/struct-arg-3-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-4-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-4-nov.c: New.
* gcc.target/i386/mpx/struct-arg-4-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-5-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-5-nov.c: New.
* gcc.target/i386/mpx/struct-arg-5-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-6-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-6-nov.c: New.
* gcc.target/i386/mpx/struct-arg-6-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-7-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-7-nov.c: New.
* gcc.target/i386/mpx/struct-arg-7-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-8-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-8-nov.c: New.
* gcc.target/i386/mpx/struct-arg-8-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-9-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-9-nov.c: New.
* gcc.target/i386/mpx/struct-arg-9-ubv.c: New.
* gcc.target/i386/mpx/struct-copy-1-lbv.c: New.
* gcc.target/i386/mpx/struct-copy-1-nov.c: New.
* gcc.target/i386/mpx/struct-copy-1-ubv.c: New.
* gcc.target/i386/mpx/struct-copy-2-lbv.c: New.
* gcc.target/i386/mpx/struct-copy-2-nov.c: New.
* gcc.target/i386/mpx/struct-copy-2-ubv.c: New.
* gcc.target/i386/mpx/thread-local-var-1-lbv.c: New.
* gcc.target/i386/mpx/thread-local-var-1-nov.c: New.
* gcc.target/i386/mpx/thread-local-var-1-ubv.c: New.
* gcc.target/i386/mpx/union-arg-1-lbv.c: New.
* gcc.target/i386/mpx/union-arg-1-nov.c: New.
* gcc.target/i386/mpx/union-arg-1-ubv.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-lbv.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-nov.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-ubv.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-lbv.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-nov.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-ubv.c: New.
* gcc.target/i386/mpx/vararg-1-lbv.c: New.
* gcc.target/i386/mpx/vararg-1-nov.c: New.
* gcc.target/i386/mpx/vararg-1-ubv.c: New.
* gcc.target/i386/mpx/vararg-2-lbv.c: New.
* gcc.target/i386/mpx/vararg-2-nov.c: New.
* gcc.target/i386/mpx/vararg-2-ubv.c: New.
* gcc.target/i386/mpx/vararg-3-lbv.c: New.
* gcc.target/i386/mpx/vararg-3-nov.c: New.
* gcc.target/i386/mpx/vararg-3-ubv.c: New.
* gcc.target/i386/mpx/vararg-4-lbv.c: New.
* gcc.target/i386/mpx/vararg-4-nov.c: New.
* gcc.target/i386/mpx/vararg-4-ubv.c: New.
* gcc.target/i386/mpx/vararg-5-lbv.c: New.
* gcc.target/i386/mpx/vararg-5-nov.c: New.
* gcc.target/i386/mpx/vararg-5-ubv.c: New.
* gcc.target/i386/mpx/vararg-6-lbv.c: New.
* gcc.target/i386/mpx/vararg-6-nov.c: New.
* gcc.target/i386/mpx/vararg-6-ubv.c: New.
* gcc.target/i386/mpx/vararg-7-lbv.c: New.
* gcc.target/i386/mpx/vararg-7-nov.c: New.
* gcc.target/i386/mpx/vararg-7-ubv.c: New.
* gcc.target/i386/mpx/vararg-8-lbv.c: New.
* gcc.target/i386/mpx/vararg-8-nov.c: New.
* gcc.target/i386/mpx/vararg-8-ubv.c: New.
* gcc.target/i386/mpx/vla-1-lbv.c: New.
* gcc.target/i386/mpx/vla-1-nov.c: New.
* gcc.target/i386/mpx/vla-1-ubv.c: New.
* gcc.target/i386/mpx/vla-2-lbv.c: New.
* gcc.target/i386/mpx/vla-2-nov.c: New.
* gcc.target/i386/mpx/vla-2-ubv.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221312
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 10 Mar 2015 09:37:41 +0000 (09:37 +0000)]
* Makefile.def: Add libmpx.
* configure.ac: Add libmpx.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc/
* config/i386/linux-common.h (LIBMPX_LIBS): New.
(LIBMPX_SPEC): New.
(CHKP_SPEC): New.
* gcc.c (CHKP_SPEC): New.
(LINK_COMMAND_SPEC): Add CHKP_SPEC.
* c-family/c.opt (static-libmpx): New.
libmpx/
Initial commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221311
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Tue, 10 Mar 2015 09:29:04 +0000 (09:29 +0000)]
[Patch testsuite] Further reduce the alignment in gcc.dg/vect/pr65310.c
gcc/testsuite/
* gcc.dg/vect/pr65310.c (c): Reduce alignment to 4-bytes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221310
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Tue, 10 Mar 2015 08:53:05 +0000 (08:53 +0000)]
gcc/testsuite:
* gcc.target/sh/pr54680.c: Add -fno-ipa-icf option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221309
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 10 Mar 2015 08:25:31 +0000 (08:25 +0000)]
2015-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* cgraph.h (struct cgraph_edge_hasher): Add hash overload
for compare_type.
* cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
(cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
(cgraph_add_edge_to_call_site_hash): Likewise.
(cgraph_node::get_edge): Likewise.
(cgraph_edge::set_call_stmt): Likewise.
(cgraph_edge::remove_caller): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221308
138bc75d-0d04-0410-961f-
82ee72b054a4
jasonwucj [Tue, 10 Mar 2015 08:16:57 +0000 (08:16 +0000)]
[NDS32] Rename some variables so that we can clearly identify they represent general purpose registers.
gcc/
* config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
(callee_saved_gpr_regs_size): ... this.
(callee_saved_regs_first_regno): Rename to ...
(callee_saved_first_gpr_regno): ... this.
(callee_saved_regs_last_regno) Rename to ...
(callee_saved_last_gpr_regno): ... this.
* config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
variables.
(nds32_initial_elimination_offset): Likewise.
(nds32_expand_prologue): Likewise.
(nds32_expand_epilogue): Likewise.
(nds32_expand_prologue_v3push): Likewise.
(nds32_expand_epilogue_v3pop): Likewise.
* config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
Adjust renamed variables.
(nds32_output_stack_pop): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221306
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 10 Mar 2015 07:47:43 +0000 (07:47 +0000)]
* gcc.dg/ipa/ipa-icf-36.c (dg-final): Cleanup icf ipa dump.
* gcc.dg/ipa/ipa-icf-37.c (dg-final): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221304
138bc75d-0d04-0410-961f-
82ee72b054a4
thopre01 [Tue, 10 Mar 2015 07:35:09 +0000 (07:35 +0000)]
2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
* dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
code in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221303
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 10 Mar 2015 06:38:57 +0000 (06:38 +0000)]
PR c/65120
* c-common.c (warn_logical_not_parentheses): Don't warn for
!x == 0 or !x != 0.
* c-typeck.c (parser_build_binary_op): Check for tcc_comparison
before preparing arguments to warn_logical_not_parentheses.
* parser.c (cp_parser_binary_expression): Check for tcc_comparison
before preparing arguments to warn_logical_not_parentheses.
Use maybe_constant_value on rhs.
* c-c++-common/pr49706.c (fn2): Don't expect warning if enumerator
on rhs is 0.
(fn4): New test.
* c-c++-common/pr65120.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221299
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 10 Mar 2015 06:36:50 +0000 (06:36 +0000)]
PR rtl-optimization/65321
* cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
than shift mode.
* var-tracking.c (use_narrower_mode): Likewise.
* gcc.dg/pr65321.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221298
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 10 Mar 2015 04:24:21 +0000 (04:24 +0000)]
PR tree-optimization/65355
* varasm.c (notice_global_symbol): Do not produce RTL.
* symtab.c (symtab_node::can_increase_alignment_p): Check for section
anchor.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
check for section anchors.
* gcc.dg/vect/section-anchors-vect-69.c: Update template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221297
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 10 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221296
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 10 Mar 2015 00:14:58 +0000 (00:14 +0000)]
PR go/65353.
cmd/cgo: Add all gccgo GOARCH values to size maps.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221293
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 9 Mar 2015 23:43:16 +0000 (23:43 +0000)]
PR go/65349
runtime: Don't crash if explicitly freeing small map.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221292
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 9 Mar 2015 23:40:58 +0000 (23:40 +0000)]
PR go/65349
runtime: Don't call malloc from __go_file_line callback.
When crashing, we call runtime_printcreatedby which calls
__go_file_line which used to call the Go malloc. If we are
crashing due to a signal due to heap corruption of some sort,
the GO malloc lock might already be held, leading to a crash
within a crash. Avoid that by assuming that the libbacktrace
strings will stick around, as we already do in go-callers.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221291
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 9 Mar 2015 23:18:57 +0000 (23:18 +0000)]
PR target/65286
* config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
to be single-arch by default. Set cpu_is_64bit for powerpc64
given --with-cpu=native.
* config/rs6000/t-fprules: Do not set default MULTILIB vars.
* config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
and powerpc64le.
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
rs6000_isa_flags rather than TARGET_64BIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221288
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Mon, 9 Mar 2015 23:14:19 +0000 (23:14 +0000)]
* config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221287
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 9 Mar 2015 20:19:34 +0000 (20:19 +0000)]
PR lto/65361
* ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
on a TREE_BINFO, instead use BINFO_TYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221286
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 9 Mar 2015 19:59:54 +0000 (19:59 +0000)]
PR c++/65339
* call.c: Don't call maybe_resolve_dummy when calling a constructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221285
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 9 Mar 2015 18:26:52 +0000 (18:26 +0000)]
PR c/65120
* c-typeck.c (parser_build_binary_op): Don't warn for
!!x == y or !b == y where b is _Bool.
* parser.c (cp_parser_binary_expression): Don't warn for
!!x == y or !b == y where b is bool.
* c-c++-common/pr49706.c: Adjust tests for not warning
about !!x == y or !b == y where b is boolean, and add
some further tests.
* c-c++-common/pr62199-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221284
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 9 Mar 2015 18:25:28 +0000 (18:25 +0000)]
PR sanitizer/63958
Reapply:
2014-10-14 David S. Miller <davem@davemloft.net>
* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
Define at __kernel_time_t, as needed for sparc.
(struct __old_kernel_stat): Don't check if __sparc__ is defined.
* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer): Define struct___old_kernel_stat_sz,
struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
(__sanitizer_ipc_perm): Adjust for sparc targets.
(__sanitizer_shmid_ds): Likewsie.
(__sanitizer_sigaction): Likewise.
(IOC_SIZE): Likewsie.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221283
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Mon, 9 Mar 2015 15:19:20 +0000 (15:19 +0000)]
Fix PR number for 65121 in Changelog.
PR target/65121
The commit that fixed this was
https://gcc.gnu.org/ml/gcc-cvs/2015-03/msg00140.html
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221282
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 9 Mar 2015 13:54:28 +0000 (13:54 +0000)]
2015-03-09 Richard Biener <rguenther@suse.de>
PR middle-end/65270
* tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
* fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
of that. When comparing dereferences compare alignment.
When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
* gcc.dg/torture/pr65270-1.c: New testcase.
* gcc.dg/torture/pr65270-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221281
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 9 Mar 2015 12:47:51 +0000 (12:47 +0000)]
PR libstdc++/64467
* testsuite/28_regex/traits/char/isctype.cc: Don't test newline
for newlib targets. Really fix mixed line-endings this time.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221279
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 9 Mar 2015 11:57:33 +0000 (11:57 +0000)]
* c-convert.c (convert): Make use of do_ubsan_in_current_function.
* c-decl.c (grokdeclarator): Likewise.
* c-typeck.c (build_binary_op): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221278
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Mar 2015 04:53:54 +0000 (04:53 +0000)]
* ipa-inline-analysis.c (check_callers): Check
node->can_remove_if_no_direct_calls_and_refs_p.
(growth_likely_positive): Reorganize to call
can_remove_if_no_direct_calls_p later.
* cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
will_be_removed_from_program_if_no_direct_calls_p): Add
will_inline parameter.
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
Handle inliner case correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221277
138bc75d-0d04-0410-961f-
82ee72b054a4
thopre01 [Mon, 9 Mar 2015 01:31:42 +0000 (01:31 +0000)]
2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR tree-optimization/63743
* cfgexpand.c (reorder_operands): Also reorder if only second operand
had its definition forwarded by TER.
gcc/testsuite/
PR tree-optimization/63743
* gcc.dg/pr63743.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221276
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Mar 2015 00:29:14 +0000 (00:29 +0000)]
PR lto/65316
* ipa-utils.h (types_odr_comparable): Add strict argument.
* ipa-devirt.c: Fix whitespace;
(odr_hasher): Remove.
(odr_name_hasher, odr_vtable_hasher): New hashers.
(can_be_name_hashed_p): New predicate.
(hash_type_name): remove.
(hash_odr_name): New.
(odr_name_hasher::hash): new.
(can_be_vtable_hashed_p): New.
(hash_odr_vtable): New.
(odr_vtable_hasher::hash): New.
(types_same_for_odr): Add strict parameter.
(types_odr_comparable): Likewise.
(odr_name_hasher::equal): New.
(odr_vtable_hasher::equal): New.
(odr_name_hasher::remove): New.
(odr_hash_type): Change to hash_table<odr_name_hasher>.
(odr_vtable_hash_type): New.
(odr_vtable_hash): New.
(odr_subtypes_equivalent_p): Do strict comparsion.
(add_type_duplicate): Merge type names; cleanup; avoid type
duplicates.
(register_odr_type): Initialize vtable hash.
(build_type_inheritance_graph): Likewise
(get_odr_type): Reorg to use two hashes.
(dump_possible_polymorphic_call_targets): Move sanity check after debug
output.
(ipa_devirt): Dump type_inheritance_graph.
(types_same_for_odr): Add strict mode.
* g++.dg/lto/pr65316_0.C: New testcase.
* g++.dg/lto/pr65316_1.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221275
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 9 Mar 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221274
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 8 Mar 2015 23:46:34 +0000 (23:46 +0000)]
PR target/62247
* g++.dg/abi/anon3.C: Skip failing scan-assembler checks on
hppa*-*-hpux*.
* g++.dg/abi/rtti3.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221271
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 8 Mar 2015 23:30:47 +0000 (23:30 +0000)]
* g++.dg/ipa/pr63621.C: Add dg-require-effective-target named_sections.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221270
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 8 Mar 2015 23:27:13 +0000 (23:27 +0000)]
* varasm.c (function_section_1): Use definition_alignment.
(assemble_start_function): Likewise.
(emit_local): likewise.
(build_constant_desc): Likewsie.
(output_constant_def_contents): Likewise.
(place_block_symbol): Likewise.
(output_object_block): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221269
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 8 Mar 2015 23:12:25 +0000 (23:12 +0000)]
PR ipa/65334
* cgraph.h (symtab_node): Add definition_alignment,
can_increase_alignment_p and increase_alignment.
* symtab.c (symtab_node::can_increase_alignment_p,
increase_alignment_1, symtab_node::increase_alignment,
symtab_node::definition_alignment): New.
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
can_increase_alignment_p.
* tree-vectorizer.c (increase_alignment): Use increase_alignment.
* tree-vect-stmts.c (ensure_base_align): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221268
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 8 Mar 2015 22:58:52 +0000 (22:58 +0000)]
PR target/62251
* gfortran.dg/quad_2.f90: xfail hppa*-*-hpux*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221267
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 8 Mar 2015 22:45:32 +0000 (22:45 +0000)]
* gcc.dg/signbit-sa.c: Add dg-require-effective-target c99_runtime
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221266
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 8 Mar 2015 22:32:57 +0000 (22:32 +0000)]
* gcc.dg/ipa/pr64307.c: Add target c99_runtime.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221265
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 8 Mar 2015 22:21:16 +0000 (22:21 +0000)]
* gcc.dg/ipa/ipa-icf-34.c: Add dg-require-alias.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221264
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 8 Mar 2015 13:40:42 +0000 (13:40 +0000)]
Add missing PR target/59828 to ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221263
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Sun, 8 Mar 2015 11:52:51 +0000 (11:52 +0000)]
PR fortran/60898
fortran/
* resolve.c (resolve_symbol): Check that the symbol found by
name lookup really is the current symbol being resolved.
testsuite/
* gfortran.dg/entry_20.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221262
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 8 Mar 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221261
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 7 Mar 2015 20:33:58 +0000 (20:33 +0000)]
PR ipa/65316
* tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
when outputting debug.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221258
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Sat, 7 Mar 2015 19:35:22 +0000 (19:35 +0000)]
gcc/testsuite/
PR target/65153
* gcc.c-torture/compile/pr65153.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221257
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Sat, 7 Mar 2015 16:12:41 +0000 (16:12 +0000)]
gcc/testsuite/
PR target/65249
* g++.dg/torture/pr65249.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221256
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sat, 7 Mar 2015 13:31:00 +0000 (13:31 +0000)]
Use long long for uint64_t/int64_t
* gcc.target/i386/pr45685.c (uint64_t): Replace long with long
long.
(int64_t): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221255
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 7 Mar 2015 01:14:18 +0000 (01:14 +0000)]
* de.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221254
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 7 Mar 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221253
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 6 Mar 2015 23:44:56 +0000 (23:44 +0000)]
PR sanitizer/65280
* doc/invoke.texi: Update description of -fsanitize=bounds.
* c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
before trying to figure out whether we have a flexible array member.
* c-c++-common/ubsan/bounds-1.c: Add testing of flexible array
member-like arrays.
* c-c++-common/ubsan/bounds-8.c: New test.
* c-c++-common/ubsan/bounds-9.c: New test.
* gcc.dg/ubsan/bounds-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221250
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Fri, 6 Mar 2015 21:58:31 +0000 (21:58 +0000)]
* ptree.c (cxx_print_lambda_node): New.
(cxx_print_xnode): Handle LAMBDA_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221249
138bc75d-0d04-0410-961f-
82ee72b054a4
msebor [Fri, 6 Mar 2015 18:43:24 +0000 (18:43 +0000)]
2015-03-05 Martin Sebor <msebor@redhat.com>
* PR testsuite/63175
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c (main1): Move
checking of results into main to prevent it from getting optimized
away.
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221248
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Fri, 6 Mar 2015 18:35:15 +0000 (18:35 +0000)]
2015-03-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
* dg-extract-results.sh: Check that the necessary python modules exist.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221247
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Fri, 6 Mar 2015 16:35:30 +0000 (16:35 +0000)]
Remove inefficient branchless conditional negate optimization
2015-03-06 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* tree-ssa-phiopt.c (neg_replacement): Remove.
(tree_ssa_phiopt_worker): Remove negate optimization.
gcc/testsuite/
* gcc.dg/tree-ssa/pr45685.c: Move to gcc.target/i386.
* gcc.target/aarch64/csneg-1.c (test_csneg_cmp): New test.
* gcc.target/i386/pr45685.c: Moved test, check for conditional move on x64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221246
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 6 Mar 2015 16:19:05 +0000 (16:19 +0000)]
libgo: Upgrade to Go 1.4.2 release.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221245
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 6 Mar 2015 16:12:43 +0000 (16:12 +0000)]
PR ipa/65302
* value-prof.c (gimple_ic): Pure dead eh edges when needed.
* g++.dg/lto/pr65302_1.C: New testcase.
* g++.dg/lto/pr65302_0.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221244
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Mar 2015 16:03:38 +0000 (16:03 +0000)]
[ARM testsuite obvious] Fixup atomic-comp-swap-release-acquire.c to not use ICF
gcc/
* gcc.target/arm/atomic-comp-swap-release-acquire.c: Add
-fno-ipa-icf to dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221243
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 6 Mar 2015 14:49:03 +0000 (14:49 +0000)]
/
* MAINTAINERS (CPU Port Maintainers): Add myself
i386 vector ISA extns mantainer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221238
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 6 Mar 2015 12:34:28 +0000 (12:34 +0000)]
2015-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/64928
* tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
and liveout_obstack members.
(calculate_live_on_exit): Remove.
(calculate_live_ranges): Change declaration.
* tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
(new_tree_live_info): Adjust.
(calculate_live_ranges): Delete livein when not wanted.
(calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
Deal with partly deleted live info.
(loe_visit_block): Remove temporary bitmap by using
bitmap_ior_and_compl_into.
(live_worklist): Adjust accordingly.
(calculate_live_on_exit): Make static.
* tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
we do not need livein.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221237
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 6 Mar 2015 12:31:43 +0000 (12:31 +0000)]
* include/std/future (future_error(error_code)): Construct base
class with error_code's message.
* src/c++11/future.cc (future_error::what()): Do not call c_str() on
temporary string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221236
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 6 Mar 2015 12:05:38 +0000 (12:05 +0000)]
* real.c (real_from_string): Fix typo in assertion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221235
138bc75d-0d04-0410-961f-
82ee72b054a4
avelenko [Fri, 6 Mar 2015 11:10:45 +0000 (11:10 +0000)]
2015-03-06 Alex Velenko <alex.velenko@arm.com>
* ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
the patch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221234
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Mar 2015 10:47:20 +0000 (10:47 +0000)]
[AArch64 testsuite obvious] XFAIL c-c++-common/torture/aarch64-vect-lane-2.c
for -flto -fuse-linker-plugin
gcc/testsuite/
* c-c++-common/torture/aarch64-vect-lane-2.c: Skip for LTO
compiles.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221233
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 6 Mar 2015 10:15:03 +0000 (10:15 +0000)]
* c-ada-spec.c (dump_ada_double_name): Fix pasto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221231
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 6 Mar 2015 00:27:32 +0000 (00:27 +0000)]
compiler: Do not declare type switch variable outside case statements.
For expressions containing a TypeSwitchGuard with a short variable
declaration e.g. var := x.(type), the spec says that var is declared
at the beginning of the implicit block for each in each clause.
Previously, var was declared in the block for the switch statement
and each implicit block, which led to errors if the type case clause
referenced a type with a similar name as the declared variable.
Fixes golang/go#10047.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221230
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 6 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221229
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 5 Mar 2015 21:26:44 +0000 (21:26 +0000)]
* ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221226
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Thu, 5 Mar 2015 19:43:11 +0000 (19:43 +0000)]
2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
PR target/64342
* lra-assigns.c (find_hard_regno_for): Rename to
find_hard_regno_for_1. Add a new parameter.
(find_hard_regno_for): New function using find_hard_regno_for_1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221223
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Thu, 5 Mar 2015 18:56:37 +0000 (18:56 +0000)]
gcc:
2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/65067
* expmed.c (store_bit_field, extract_bit_field): Reworked the
strict volatile bitfield handling.
testsuite:
2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.target/arm/pr65067.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221222
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 5 Mar 2015 17:49:49 +0000 (17:49 +0000)]
PR ipa/65318
* ipa-icf.c (sem_variable::equals): Compare variables types.
* gcc.dg/ipa/pr65318.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221221
138bc75d-0d04-0410-961f-
82ee72b054a4
avelenko [Thu, 5 Mar 2015 16:45:21 +0000 (16:45 +0000)]
2015-03-05 Alex Velenko <alex.velenko@arm.com>
* config/arm/arm.c (arm_function_in_section_p): Fix predicate to
correctly check weak symbol binding.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221220
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Thu, 5 Mar 2015 16:34:03 +0000 (16:34 +0000)]
2015-03-05 Steve Ellcey <sellcey@imgtec.com>
PR middle-end/65315
* cfgexpand.c (expand_stack_vars): Update large_align to maximum
needed alignment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221219
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Thu, 5 Mar 2015 15:38:15 +0000 (15:38 +0000)]
jit documentation fixes
gcc/jit/ChangeLog:
* docs/cp/intro/tutorial03.rst: Add missing arguments to
gccjit::block::end_with_conditional call. Add on_true/on_false
comments. Tweak the wording.
* docs/intro/tutorial03.rst: Add missing arguments to
gcc_jit_block_end_with_conditional call. Add some clarifying
comments.
* docs/topics/compilation.rst: Tweak the wording to avoid an
ambiguous use of "this".
* docs/topics/contexts.rst: Fix a typo.
* docs/topics/expressions.rst (GCC_JIT_BINARY_OP_MINUS): Remove
a stray backtick.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221218
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 5 Mar 2015 15:00:20 +0000 (15:00 +0000)]
* c-c++-common/ubsan/bounds-6.c: Use dg-do run.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221217
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 5 Mar 2015 13:54:19 +0000 (13:54 +0000)]
PR ada/65319
* c-ada-spec.c (print_destructor): Remove obsolete code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221213
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 5 Mar 2015 13:36:21 +0000 (13:36 +0000)]
* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
noconv result.
* testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
* testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221212
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Thu, 5 Mar 2015 11:44:00 +0000 (11:44 +0000)]
Fix warnings occured during profiledboostrap on
* ipa-inline.c (inline_small_functions): Set default value to
prevent warning during bootstrap.
* tree.h: Add pragma guard that ignores false positives during
bootstrap.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221211
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Thu, 5 Mar 2015 09:58:32 +0000 (09:58 +0000)]
S/390: xfail ssa-dom-cse-2
gcc/testsuite:
* gcc.dg/tree-ssa/ssa-dom-cse-2.c:
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221210
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Thu, 5 Mar 2015 09:56:42 +0000 (09:56 +0000)]
S/390: var-expand1 use default values for peel/unroll limits
gcc/testsuite/:
* gcc.dg/var-expand1.c: Force max-completely-peel-times and
max-unroll-times back to defaults for s390.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221209
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 5 Mar 2015 09:21:39 +0000 (09:21 +0000)]
2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
Fix last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221208
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 5 Mar 2015 09:15:58 +0000 (09:15 +0000)]
2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64665
* g++.dg/cpp0x/initlist92.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221207
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 5 Mar 2015 09:14:01 +0000 (09:14 +0000)]
2015-03-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/65310
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Properly preserve alignment of the base of the access.
* gcc.dg/vect/pr65310.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221206
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 5 Mar 2015 08:48:22 +0000 (08:48 +0000)]
2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64834
* g++.dg/cpp1y/lambda-generic-uneval1.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221205
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 5 Mar 2015 08:43:13 +0000 (08:43 +0000)]
2015-03-05 Richard Biener <rguenther@suse.de>
PR ipa/65270
* ipa-icf-gimple.c (func_checker::compare_memory_operand):
Compare dependence info.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221204
138bc75d-0d04-0410-961f-
82ee72b054a4