]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/uuid/test/test_msvc_simd_bug981648_foo.cpp
2 * Copyright 2014 Andrey Semashev
4 * Distributed under the Boost Software License, Version 1.0.
5 * See accompanying file LICENSE_1_0.txt or copy at
6 * http://www.boost.org/LICENSE_1_0.txt
9 * This is a part of the test for a workaround for MSVC 12 (VS2013) optimizer bug
10 * which causes incorrect SIMD code generation for operator==. See:
12 * https://svn.boost.org/trac/boost/ticket/8509#comment:3
13 * https://connect.microsoft.com/VisualStudio/feedbackdetail/view/981648#tabs
15 * The file contains the function that actually causes the crash. Reproduces only
16 * in Release x64 builds.
19 #include "test_msvc_simd_bug981648.hpp"
20 void mp_grid_update_marker_parameters(headerProperty
* header_prop
, my_obj
¤t_marker
)
22 headerProperty
*old_header_prop
= NULL
;
23 my_obj
*p
= dynamic_cast<my_obj
*>(header_prop
);
25 * This != statement crashes with a GP.
27 if (p
!= NULL
&& (current_marker
.get_id() != p
->get_marker_id())) {
28 std::printf("works okay, if it reaches this printf: %p\n", reinterpret_cast<void *>(p
));
29 old_header_prop
= header_prop
;
30 if (old_header_prop
== 0) { fprintf(stderr
, "ouch"); }