[ 0:01] compiling /home/xrockai/src/divine/nightly/test/libcxx/containers/splice_pos_list_iter.pass.cpp [ 0:01] In file included from /home/xrockai/src/divine/nightly/test/libcxx/containers/splice_pos_list_iter.pass.cpp:16: [ 0:01] In file included from /dios/libcxx/include/list:183: [ 0:01] In file included from /dios/libcxx/include/memory:652: [ 0:01] In file included from /dios/libcxx/include/type_traits:417: [ 0:01] In file included from /dios/libcxx/include/cstddef:44: [ 0:01] In file included from /dios/include/stddef.h:10: [ 0:01] In file included from /dios/include/_PDCLIB/int.h:16: [ 0:01] /dios/include/_PDCLIB/cdefs.h:69:10: warning: Unsupported _ _cplusplus (__cplusplus) (too new) (supported: ISO/IEC 14882:1997, ISO/IEC 14882:2011). [ 0:01] #warning Unsupported _ _cplusplus (__cplusplus) (too new) (supported: ISO/IEC 14882:1997, ISO/IEC 14882:2011). [ 0:01] ^ [ 0:01] 1 warning generated. [ 0:02] compiling /dios/lib/config/seqklee.bc [ 0:02] setting up pass: functionmeta, options = [ 0:04] setting up pass: fuse-ctors, options = [ 0:04] KLEE: output directory is "/var/obj/divine-nightly/semidbg/test/__test_work_dir.14/_klee_out" [ 0:07] KLEE: Using Z3 solver backend [ 0:07] WARNING: this target does not support the llvm.stacksave intrinsic. [ 0:07] warning: Linking two modules of different target triples: klee_div_zero_check.bc' is 'x86_64-unknown-linux-gnu' whereas 'klee.bc' is 'x86_64-unknown-none-elf' [ 0:08] [ 0:08] KLEE: WARNING: undefined reference to function: _Z10klee_abortv [ 0:13] KLEE: WARNING: undefined reference to function: __dios_tainted_init [ 0:13] KLEE: WARNING: undefined reference to function: klee_free [ 0:13] KLEE: WARNING: undefined reference to function: klee_malloc [ 0:13] KLEE: WARNING ONCE: Using zero size array fix for landingpad instruction filter [ 0:13] i:1 [ 0:13] KLEE: WARNING ONCE: Alignment of memory from call "klee_malloc" is not modelled. Using alignment of 8. [ 0:13] about to __boot:0 [ 0:13] about to run the scheduler:0 [ 0:13] KLEE: WARNING ONCE: calling external: __dios_tainted_init() at /dios/libc/sys/start.cpp:49 5 [ 0:13] KLEE: ERROR: /dios/libc/sys/start.cpp:87: failed external call: __dios_tainted_init [ 0:13] KLEE: NOTE: now ignoring this error at this location [ 0:13] KLEE: ERROR: EXITING ON ERROR: [ 0:13] Error: failed external call: __dios_tainted_init [ 0:13] File: /dios/libc/sys/start.cpp [ 0:13] Line: 87 [ 0:13] assembly.ll line: 91441 [ 0:13] Stack: [ 0:13] #000091441 in __dios_start (l=2, argc=1, argv=94875739443720, envp=94875739521032) at /dios/libc/sys/start.cpp:87 [ 0:13] #100039270 in _ZN6__dios10sched_nullINS_5ClockINS_10NondetKleeINS_4BaseEEEEEE13run_schedulerINS_7ContextEEEvv () at /dios/sys/sched_null.hpp:163 [ 0:13] #200100021 in klee_boot (argc=2, argv=94875707477376) at /dios/arch/klee/boot.c:41 [ 0:13] [ 0:13] [ 0:13] 1 /* TAGS: c++ fin */ [ 0:13] 2 /* CC_OPTS: -std=c++2a */ [ 0:13] 3 /* VERIFY_OPTS: -o nofail:malloc */ [ 0:13] 4 //===----------------------------------------------------------------------===// [ 0:13] 5 // [ 0:13] 6 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. [ 0:13] 7 // See https://llvm.org/LICENSE.txt for license information. [ 0:13] 8 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception [ 0:13] 9 // [ 0:13] 10 //===----------------------------------------------------------------------===// [ 0:13] 11 [ 0:13] 12 // [ 0:13] 13 [ 0:13] 14 // void splice(const_iterator position, list& x, iterator i); [ 0:13] 15 [ 0:13] 16 #include [ 0:13] 17 #include [ 0:13] 18 [ 0:13] 19 #include "test_macros.h" [ 0:13] 20 #include "min_allocator.h" [ 0:13] 21 [ 0:13] 22 int main(int, char**) [ 0:13] 23 { [ 0:13] 24 int a1[] = {1, 2, 3}; [ 0:13] 25 int a2[] = {4, 5, 6}; [ 0:13] 26 { [ 0:13] 27 std::list l1; [ 0:13] 28 std::list l2(a2, a2+1); [ 0:13] 29 l1.splice(l1.end(), l2, l2.begin()); [ 0:13] 30 assert(l1.size() == 1); [ 0:13] 31 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 32 assert(l2.size() == 0); [ 0:13] 33 assert(distance(l2.begin(), l2.end()) == 0); [ 0:13] 34 std::list::const_iterator i = l1.begin(); [ 0:13] 35 assert(*i == 4); [ 0:13] 36 } [ 0:13] 37 { [ 0:13] 38 std::list l1; [ 0:13] 39 std::list l2(a2, a2+2); [ 0:13] 40 l1.splice(l1.end(), l2, l2.begin()); [ 0:13] 41 assert(l1.size() == 1); [ 0:13] 42 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 43 assert(l2.size() == 1); [ 0:13] 44 assert(distance(l2.begin(), l2.end()) == 1); [ 0:13] 45 std::list::const_iterator i = l1.begin(); [ 0:13] 46 assert(*i == 4); [ 0:13] 47 i = l2.begin(); [ 0:13] 48 assert(*i == 5); [ 0:13] 49 } [ 0:13] 50 { [ 0:13] 51 std::list l1; [ 0:13] 52 std::list l2(a2, a2+2); [ 0:13] 53 l1.splice(l1.end(), l2, next(l2.begin())); [ 0:13] 54 assert(l1.size() == 1); [ 0:13] 55 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 56 assert(l2.size() == 1); [ 0:13] 57 assert(distance(l2.begin(), l2.end()) == 1); [ 0:13] 58 std::list::const_iterator i = l1.begin(); [ 0:13] 59 assert(*i == 5); [ 0:13] 60 i = l2.begin(); [ 0:13] 61 assert(*i == 4); [ 0:13] 62 } [ 0:13] 63 { [ 0:13] 64 std::list l1; [ 0:13] 65 std::list l2(a2, a2+3); [ 0:13] 66 l1.splice(l1.end(), l2, l2.begin()); [ 0:13] 67 assert(l1.size() == 1); [ 0:13] 68 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 69 assert(l2.size() == 2); [ 0:13] 70 assert(distance(l2.begin(), l2.end()) == 2); [ 0:13] 71 std::list::const_iterator i = l1.begin(); [ 0:13] 72 assert(*i == 4); [ 0:13] 73 i = l2.begin(); [ 0:13] 74 assert(*i == 5); [ 0:13] 75 ++i; [ 0:13] 76 assert(*i == 6); [ 0:13] 77 } [ 0:13] 78 { [ 0:13] 79 std::list l1; [ 0:13] 80 std::list l2(a2, a2+3); [ 0:13] 81 l1.splice(l1.end(), l2, next(l2.begin())); [ 0:13] 82 assert(l1.size() == 1); [ 0:13] 83 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 84 assert(l2.size() == 2); [ 0:13] 85 assert(distance(l2.begin(), l2.end()) == 2); [ 0:13] 86 std::list::const_iterator i = l1.begin(); [ 0:13] 87 assert(*i == 5); [ 0:13] 88 i = l2.begin(); [ 0:13] 89 assert(*i == 4); [ 0:13] 90 ++i; [ 0:13] 91 assert(*i == 6); [ 0:13] 92 } [ 0:13] 93 { [ 0:13] 94 std::list l1; [ 0:13] 95 std::list l2(a2, a2+3); [ 0:13] 96 l1.splice(l1.end(), l2, next(l2.begin(), 2)); [ 0:13] 97 assert(l1.size() == 1); [ 0:13] 98 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 99 assert(l2.size() == 2); [ 0:13] 100 assert(distance(l2.begin(), l2.end()) == 2); [ 0:13] 101 std::list::const_iterator i = l1.begin(); [ 0:13] 102 assert(*i == 6); [ 0:13] 103 i = l2.begin(); [ 0:13] 104 assert(*i == 4); [ 0:13] 105 ++i; [ 0:13] 106 assert(*i == 5); [ 0:13] 107 } [ 0:13] 108 { [ 0:13] 109 std::list l1(a1, a1+1); [ 0:13] 110 l1.splice(l1.begin(), l1, l1.begin()); [ 0:13] 111 assert(l1.size() == 1); [ 0:13] 112 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 113 std::list::const_iterator i = l1.begin(); [ 0:13] 114 assert(*i == 1); [ 0:13] 115 } [ 0:13] 116 { [ 0:13] 117 std::list l1(a1, a1+1); [ 0:13] 118 std::list l2(a2, a2+1); [ 0:13] 119 l1.splice(l1.begin(), l2, l2.begin()); [ 0:13] 120 assert(l1.size() == 2); [ 0:13] 121 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 122 assert(l2.size() == 0); [ 0:13] 123 assert(distance(l2.begin(), l2.end()) == 0); [ 0:13] 124 std::list::const_iterator i = l1.begin(); [ 0:13] 125 assert(*i == 4); [ 0:13] 126 ++i; [ 0:13] 127 assert(*i == 1); [ 0:13] 128 } [ 0:13] 129 { [ 0:13] 130 std::list l1(a1, a1+1); [ 0:13] 131 std::list l2(a2, a2+1); [ 0:13] 132 l1.splice(next(l1.begin()), l2, l2.begin()); [ 0:13] 133 assert(l1.size() == 2); [ 0:13] 134 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 135 assert(l2.size() == 0); [ 0:13] 136 assert(distance(l2.begin(), l2.end()) == 0); [ 0:13] 137 std::list::const_iterator i = l1.begin(); [ 0:13] 138 assert(*i == 1); [ 0:13] 139 ++i; [ 0:13] 140 assert(*i == 4); [ 0:13] 141 } [ 0:13] 142 { [ 0:13] 143 std::list l1(a1, a1+2); [ 0:13] 144 l1.splice(l1.begin(), l1, l1.begin()); [ 0:13] 145 assert(l1.size() == 2); [ 0:13] 146 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 147 std::list::const_iterator i = l1.begin(); [ 0:13] 148 assert(*i == 1); [ 0:13] 149 ++i; [ 0:13] 150 assert(*i == 2); [ 0:13] 151 } [ 0:13] 152 { [ 0:13] 153 std::list l1(a1, a1+2); [ 0:13] 154 l1.splice(l1.begin(), l1, next(l1.begin())); [ 0:13] 155 assert(l1.size() == 2); [ 0:13] 156 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 157 std::list::const_iterator i = l1.begin(); [ 0:13] 158 assert(*i == 2); [ 0:13] 159 ++i; [ 0:13] 160 assert(*i == 1); [ 0:13] 161 } [ 0:13] 162 { [ 0:13] 163 std::list l1(a1, a1+2); [ 0:13] 164 l1.splice(next(l1.begin()), l1, l1.begin()); [ 0:13] 165 assert(l1.size() == 2); [ 0:13] 166 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 167 std::list::const_iterator i = l1.begin(); [ 0:13] 168 assert(*i == 1); [ 0:13] 169 ++i; [ 0:13] 170 assert(*i == 2); [ 0:13] 171 } [ 0:13] 172 { [ 0:13] 173 std::list l1(a1, a1+2); [ 0:13] 174 l1.splice(next(l1.begin()), l1, next(l1.begin())); [ 0:13] 175 assert(l1.size() == 2); [ 0:13] 176 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 177 std::list::const_iterator i = l1.begin(); [ 0:13] 178 assert(*i == 1); [ 0:13] 179 ++i; [ 0:13] 180 assert(*i == 2); [ 0:13] 181 } [ 0:13] 182 #if TEST_STD_VER >= 11 [ 0:13] 183 { [ 0:13] 184 std::list> l1; [ 0:13] 185 std::list> l2(a2, a2+1); [ 0:13] 186 l1.splice(l1.end(), l2, l2.begin()); [ 0:13] 187 assert(l1.size() == 1); [ 0:13] 188 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 189 assert(l2.size() == 0); [ 0:13] 190 assert(distance(l2.begin(), l2.end()) == 0); [ 0:13] 191 std::list>::const_iterator i = l1.begin(); [ 0:13] 192 assert(*i == 4); [ 0:13] 193 } [ 0:13] 194 { [ 0:13] 195 std::list> l1; [ 0:13] 196 std::list> l2(a2, a2+2); [ 0:13] 197 l1.splice(l1.end(), l2, l2.begin()); [ 0:13] 198 assert(l1.size() == 1); [ 0:13] 199 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 200 assert(l2.size() == 1); [ 0:13] 201 assert(distance(l2.begin(), l2.end()) == 1); [ 0:13] 202 std::list>::const_iterator i = l1.begin(); [ 0:13] 203 assert(*i == 4); [ 0:13] 204 i = l2.begin(); [ 0:13] 205 assert(*i == 5); [ 0:13] 206 } [ 0:13] 207 { [ 0:13] 208 std::list> l1; [ 0:13] 209 std::list> l2(a2, a2+2); [ 0:13] 210 l1.splice(l1.end(), l2, next(l2.begin())); [ 0:13] 211 assert(l1.size() == 1); [ 0:13] 212 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 213 assert(l2.size() == 1); [ 0:13] 214 assert(distance(l2.begin(), l2.end()) == 1); [ 0:13] 215 std::list>::const_iterator i = l1.begin(); [ 0:13] 216 assert(*i == 5); [ 0:13] 217 i = l2.begin(); [ 0:13] 218 assert(*i == 4); [ 0:13] 219 } [ 0:13] 220 { [ 0:13] 221 std::list> l1; [ 0:13] 222 std::list> l2(a2, a2+3); [ 0:13] 223 l1.splice(l1.end(), l2, l2.begin()); [ 0:13] 224 assert(l1.size() == 1); [ 0:13] 225 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 226 assert(l2.size() == 2); [ 0:13] 227 assert(distance(l2.begin(), l2.end()) == 2); [ 0:13] 228 std::list>::const_iterator i = l1.begin(); [ 0:13] 229 assert(*i == 4); [ 0:13] 230 i = l2.begin(); [ 0:13] 231 assert(*i == 5); [ 0:13] 232 ++i; [ 0:13] 233 assert(*i == 6); [ 0:13] 234 } [ 0:13] 235 { [ 0:13] 236 std::list> l1; [ 0:13] 237 std::list> l2(a2, a2+3); [ 0:13] 238 l1.splice(l1.end(), l2, next(l2.begin())); [ 0:13] 239 assert(l1.size() == 1); [ 0:13] 240 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 241 assert(l2.size() == 2); [ 0:13] 242 assert(distance(l2.begin(), l2.end()) == 2); [ 0:13] 243 std::list>::const_iterator i = l1.begin(); [ 0:13] 244 assert(*i == 5); [ 0:13] 245 i = l2.begin(); [ 0:13] 246 assert(*i == 4); [ 0:13] 247 ++i; [ 0:13] 248 assert(*i == 6); [ 0:13] 249 } [ 0:13] 250 { [ 0:13] 251 std::list> l1; [ 0:13] 252 std::list> l2(a2, a2+3); [ 0:13] 253 l1.splice(l1.end(), l2, next(l2.begin(), 2)); [ 0:13] 254 assert(l1.size() == 1); [ 0:13] 255 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 256 assert(l2.size() == 2); [ 0:13] 257 assert(distance(l2.begin(), l2.end()) == 2); [ 0:13] 258 std::list>::const_iterator i = l1.begin(); [ 0:13] 259 assert(*i == 6); [ 0:13] 260 i = l2.begin(); [ 0:13] 261 assert(*i == 4); [ 0:13] 262 ++i; [ 0:13] 263 assert(*i == 5); [ 0:13] 264 } [ 0:13] 265 { [ 0:13] 266 std::list> l1(a1, a1+1); [ 0:13] 267 l1.splice(l1.begin(), l1, l1.begin()); [ 0:13] 268 assert(l1.size() == 1); [ 0:13] 269 assert(distance(l1.begin(), l1.end()) == 1); [ 0:13] 270 std::list>::const_iterator i = l1.begin(); [ 0:13] 271 assert(*i == 1); [ 0:13] 272 } [ 0:13] 273 { [ 0:13] 274 std::list> l1(a1, a1+1); [ 0:13] 275 std::list> l2(a2, a2+1); [ 0:13] 276 l1.splice(l1.begin(), l2, l2.begin()); [ 0:13] 277 assert(l1.size() == 2); [ 0:13] 278 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 279 assert(l2.size() == 0); [ 0:13] 280 assert(distance(l2.begin(), l2.end()) == 0); [ 0:13] 281 std::list>::const_iterator i = l1.begin(); [ 0:13] 282 assert(*i == 4); [ 0:13] 283 ++i; [ 0:13] 284 assert(*i == 1); [ 0:13] 285 } [ 0:13] 286 { [ 0:13] 287 std::list> l1(a1, a1+1); [ 0:13] 288 std::list> l2(a2, a2+1); [ 0:13] 289 l1.splice(next(l1.begin()), l2, l2.begin()); [ 0:13] 290 assert(l1.size() == 2); [ 0:13] 291 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 292 assert(l2.size() == 0); [ 0:13] 293 assert(distance(l2.begin(), l2.end()) == 0); [ 0:13] 294 std::list>::const_iterator i = l1.begin(); [ 0:13] 295 assert(*i == 1); [ 0:13] 296 ++i; [ 0:13] 297 assert(*i == 4); [ 0:13] 298 } [ 0:13] 299 { [ 0:13] 300 std::list> l1(a1, a1+2); [ 0:13] 301 l1.splice(l1.begin(), l1, l1.begin()); [ 0:13] 302 assert(l1.size() == 2); [ 0:13] 303 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 304 std::list>::const_iterator i = l1.begin(); [ 0:13] 305 assert(*i == 1); [ 0:13] 306 ++i; [ 0:13] 307 assert(*i == 2); [ 0:13] 308 } [ 0:13] 309 { [ 0:13] 310 std::list> l1(a1, a1+2); [ 0:13] 311 l1.splice(l1.begin(), l1, next(l1.begin())); [ 0:13] 312 assert(l1.size() == 2); [ 0:13] 313 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 314 std::list>::const_iterator i = l1.begin(); [ 0:13] 315 assert(*i == 2); [ 0:13] 316 ++i; [ 0:13] 317 assert(*i == 1); [ 0:13] 318 } [ 0:13] 319 { [ 0:13] 320 std::list> l1(a1, a1+2); [ 0:13] 321 l1.splice(next(l1.begin()), l1, l1.begin()); [ 0:13] 322 assert(l1.size() == 2); [ 0:13] 323 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 324 std::list>::const_iterator i = l1.begin(); [ 0:13] 325 assert(*i == 1); [ 0:13] 326 ++i; [ 0:13] 327 assert(*i == 2); [ 0:13] 328 } [ 0:13] 329 { [ 0:13] 330 std::list> l1(a1, a1+2); [ 0:13] 331 l1.splice(next(l1.begin()), l1, next(l1.begin())); [ 0:13] 332 assert(l1.size() == 2); [ 0:13] 333 assert(distance(l1.begin(), l1.end()) == 2); [ 0:13] 334 std::list>::const_iterator i = l1.begin(); [ 0:13] 335 assert(*i == 1); [ 0:13] 336 ++i; [ 0:13] 337 assert(*i == 2); [ 0:13] 338 } [ 0:13] 339 #endif [ 0:13] 340 [ 0:13] 341 return 0; [ 0:13] 342 } [ 0:13] # no errors were expected but one was found anyway