[compiler-rt] r367653 - compiler-rt: Rename .cc file in test/msan to .cpp
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 1 23:07:07 PDT 2019
Author: maskray
Date: Thu Aug 1 23:07:05 2019
New Revision: 367653
URL: http://llvm.org/viewvc/llvm-project?rev=367653&view=rev
Log:
compiler-rt: Rename .cc file in test/msan to .cpp
Like r367463, but for test/msan.
Added:
compiler-rt/trunk/test/msan/Linux/bzero.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/bzero.cc
compiler-rt/trunk/test/msan/Linux/cmsghdr.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/cmsghdr.cc
compiler-rt/trunk/test/msan/Linux/eventfd.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/eventfd.cc
compiler-rt/trunk/test/msan/Linux/fopencookie.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/fopencookie.cc
compiler-rt/trunk/test/msan/Linux/forkpty.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/forkpty.cc
compiler-rt/trunk/test/msan/Linux/getresid.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/getresid.cc
compiler-rt/trunk/test/msan/Linux/glob.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/glob.cc
compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cc
compiler-rt/trunk/test/msan/Linux/glob_nomatch.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/glob_nomatch.cc
compiler-rt/trunk/test/msan/Linux/ioctl_sound.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/ioctl_sound.cc
compiler-rt/trunk/test/msan/Linux/mallinfo.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/mallinfo.cc
compiler-rt/trunk/test/msan/Linux/mincore.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/mincore.cc
compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cc
compiler-rt/trunk/test/msan/Linux/obstack.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/obstack.cc
compiler-rt/trunk/test/msan/Linux/poll.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/poll.cc
compiler-rt/trunk/test/msan/Linux/process_vm_readv.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/process_vm_readv.cc
compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cc
compiler-rt/trunk/test/msan/Linux/sendmsg.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/sendmsg.cc
compiler-rt/trunk/test/msan/Linux/strerror_r.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/strerror_r.cc
compiler-rt/trunk/test/msan/Linux/sunrpc.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/sunrpc.cc
compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc
compiler-rt/trunk/test/msan/Linux/sunrpc_string.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc
compiler-rt/trunk/test/msan/Linux/syscalls.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/syscalls.cc
compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cc
compiler-rt/trunk/test/msan/Linux/tcgetattr.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/tcgetattr.cc
compiler-rt/trunk/test/msan/Linux/xattr.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/Linux/xattr.cc
compiler-rt/trunk/test/msan/__strxfrm_l.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/__strxfrm_l.cc
compiler-rt/trunk/test/msan/alloca.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/alloca.cc
compiler-rt/trunk/test/msan/allocator_mapping.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/allocator_mapping.cc
compiler-rt/trunk/test/msan/backtrace.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/backtrace.cc
compiler-rt/trunk/test/msan/chained_origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/chained_origin.cc
compiler-rt/trunk/test/msan/chained_origin_empty_stack.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/chained_origin_empty_stack.cc
compiler-rt/trunk/test/msan/chained_origin_limits.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/chained_origin_limits.cc
compiler-rt/trunk/test/msan/chained_origin_memcpy.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/chained_origin_memcpy.cc
compiler-rt/trunk/test/msan/chained_origin_with_signals.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/chained_origin_with_signals.cc
compiler-rt/trunk/test/msan/check-handler.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/check-handler.cc
compiler-rt/trunk/test/msan/check_mem_is_initialized.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/check_mem_is_initialized.cc
compiler-rt/trunk/test/msan/coverage-levels.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/coverage-levels.cc
compiler-rt/trunk/test/msan/ctermid.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/ctermid.cc
compiler-rt/trunk/test/msan/cxa_atexit.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/cxa_atexit.cc
compiler-rt/trunk/test/msan/death-callback.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/death-callback.cc
compiler-rt/trunk/test/msan/default_blacklist.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/default_blacklist.cc
compiler-rt/trunk/test/msan/dlerror.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dlerror.cc
compiler-rt/trunk/test/msan/dlopen_executable.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dlopen_executable.cc
compiler-rt/trunk/test/msan/dso-origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dso-origin.cc
compiler-rt/trunk/test/msan/dtor-base-access.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-base-access.cc
compiler-rt/trunk/test/msan/dtor-bit-fields.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-bit-fields.cc
compiler-rt/trunk/test/msan/dtor-derived-class.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-derived-class.cc
compiler-rt/trunk/test/msan/dtor-member.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-member.cc
compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cc
compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cc
compiler-rt/trunk/test/msan/dtor-trivial-class-members.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-trivial-class-members.cc
compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cc
compiler-rt/trunk/test/msan/dtor-vtable.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/dtor-vtable.cc
compiler-rt/trunk/test/msan/errno.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/errno.cc
compiler-rt/trunk/test/msan/fgets_fputs.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/fgets_fputs.cc
compiler-rt/trunk/test/msan/fork.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/fork.cc
compiler-rt/trunk/test/msan/fread_fwrite.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/fread_fwrite.cc
compiler-rt/trunk/test/msan/fstat.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/fstat.cc
compiler-rt/trunk/test/msan/ftime.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/ftime.cc
compiler-rt/trunk/test/msan/getaddrinfo-positive.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/getaddrinfo-positive.cc
compiler-rt/trunk/test/msan/getaddrinfo.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/getaddrinfo.cc
compiler-rt/trunk/test/msan/getline.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/getline.cc
compiler-rt/trunk/test/msan/getloadavg.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/getloadavg.cc
compiler-rt/trunk/test/msan/getutent.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/getutent.cc
compiler-rt/trunk/test/msan/heap-origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/heap-origin.cc
compiler-rt/trunk/test/msan/icmp_slt_allones.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/icmp_slt_allones.cc
compiler-rt/trunk/test/msan/iconv.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/iconv.cc
compiler-rt/trunk/test/msan/if_indextoname.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/if_indextoname.cc
compiler-rt/trunk/test/msan/ifaddrs.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/ifaddrs.cc
compiler-rt/trunk/test/msan/initgroups.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/initgroups.cc
compiler-rt/trunk/test/msan/inline.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/inline.cc
compiler-rt/trunk/test/msan/insertvalue_origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/insertvalue_origin.cc
compiler-rt/trunk/test/msan/ioctl.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/ioctl.cc
compiler-rt/trunk/test/msan/ioctl_custom.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/ioctl_custom.cc
compiler-rt/trunk/test/msan/memcmp_test.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/memcmp_test.cc
compiler-rt/trunk/test/msan/mktime.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/mktime.cc
compiler-rt/trunk/test/msan/mmap.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/mmap.cc
compiler-rt/trunk/test/msan/mmap_below_shadow.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/mmap_below_shadow.cc
compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc
compiler-rt/trunk/test/msan/msan_copy_shadow.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/msan_copy_shadow.cc
compiler-rt/trunk/test/msan/msan_dump_shadow.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/msan_dump_shadow.cc
compiler-rt/trunk/test/msan/msan_print_shadow.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/msan_print_shadow.cc
compiler-rt/trunk/test/msan/msan_print_shadow2.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/msan_print_shadow2.cc
compiler-rt/trunk/test/msan/msan_print_shadow3.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/msan_print_shadow3.cc
compiler-rt/trunk/test/msan/mul_by_const.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/mul_by_const.cc
compiler-rt/trunk/test/msan/no_sanitize_memory.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/no_sanitize_memory.cc
compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cc
compiler-rt/trunk/test/msan/origin-store-long.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/origin-store-long.cc
compiler-rt/trunk/test/msan/param_tls_limit.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/param_tls_limit.cc
compiler-rt/trunk/test/msan/poison_in_free.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/poison_in_free.cc
compiler-rt/trunk/test/msan/print_stats.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/print_stats.cc
compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cc
compiler-rt/trunk/test/msan/pthread_getname_np.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/pthread_getname_np.cc
compiler-rt/trunk/test/msan/pthread_setcancelstate.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/pthread_setcancelstate.cc
compiler-rt/trunk/test/msan/rand_r.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/rand_r.cc
compiler-rt/trunk/test/msan/readdir64.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/readdir64.cc
compiler-rt/trunk/test/msan/realloc-large-origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/realloc-large-origin.cc
compiler-rt/trunk/test/msan/realloc-origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/realloc-origin.cc
compiler-rt/trunk/test/msan/recover-dso.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/recover-dso.cc
compiler-rt/trunk/test/msan/recover.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/recover.cc
compiler-rt/trunk/test/msan/report-demangling.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/report-demangling.cc
compiler-rt/trunk/test/msan/scandir.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/scandir.cc
compiler-rt/trunk/test/msan/scandir_null.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/scandir_null.cc
compiler-rt/trunk/test/msan/scoped-interceptors.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/scoped-interceptors.cc
compiler-rt/trunk/test/msan/select.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/select.cc
compiler-rt/trunk/test/msan/select_float_origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/select_float_origin.cc
compiler-rt/trunk/test/msan/select_origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/select_origin.cc
compiler-rt/trunk/test/msan/sem_getvalue.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/sem_getvalue.cc
compiler-rt/trunk/test/msan/setlocale.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/setlocale.cc
compiler-rt/trunk/test/msan/sigaction.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/sigaction.cc
compiler-rt/trunk/test/msan/signal_stress_test.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/signal_stress_test.cc
compiler-rt/trunk/test/msan/sigwait.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/sigwait.cc
compiler-rt/trunk/test/msan/sigwaitinfo.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/sigwaitinfo.cc
compiler-rt/trunk/test/msan/stack-origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/stack-origin.cc
compiler-rt/trunk/test/msan/stack-origin2.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/stack-origin2.cc
compiler-rt/trunk/test/msan/strlen_of_shadow.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/strlen_of_shadow.cc
compiler-rt/trunk/test/msan/strndup.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/strndup.cc
compiler-rt/trunk/test/msan/strxfrm.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/strxfrm.cc
compiler-rt/trunk/test/msan/sync_lock_set_and_test.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/sync_lock_set_and_test.cc
compiler-rt/trunk/test/msan/textdomain.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/textdomain.cc
compiler-rt/trunk/test/msan/times.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/times.cc
compiler-rt/trunk/test/msan/tls_reuse.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/tls_reuse.cc
compiler-rt/trunk/test/msan/tsearch.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/tsearch.cc
compiler-rt/trunk/test/msan/tzset.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/tzset.cc
compiler-rt/trunk/test/msan/unaligned_read_origin.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/unaligned_read_origin.cc
compiler-rt/trunk/test/msan/unpoison_param.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/unpoison_param.cc
compiler-rt/trunk/test/msan/unpoison_string.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/unpoison_string.cc
compiler-rt/trunk/test/msan/use-after-dtor.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/use-after-dtor.cc
compiler-rt/trunk/test/msan/use-after-free.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/use-after-free.cc
compiler-rt/trunk/test/msan/vararg.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/vararg.cc
compiler-rt/trunk/test/msan/vector_cvt.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/vector_cvt.cc
compiler-rt/trunk/test/msan/vector_div.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/vector_div.cc
compiler-rt/trunk/test/msan/vector_select.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/vector_select.cc
compiler-rt/trunk/test/msan/wcsncpy.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/wcsncpy.cc
compiler-rt/trunk/test/msan/wcsxfrm.cpp
- copied, changed from r367652, compiler-rt/trunk/test/msan/wcsxfrm.cc
Removed:
compiler-rt/trunk/test/msan/Linux/bzero.cc
compiler-rt/trunk/test/msan/Linux/cmsghdr.cc
compiler-rt/trunk/test/msan/Linux/eventfd.cc
compiler-rt/trunk/test/msan/Linux/fopencookie.cc
compiler-rt/trunk/test/msan/Linux/forkpty.cc
compiler-rt/trunk/test/msan/Linux/getresid.cc
compiler-rt/trunk/test/msan/Linux/glob.cc
compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cc
compiler-rt/trunk/test/msan/Linux/glob_nomatch.cc
compiler-rt/trunk/test/msan/Linux/ioctl_sound.cc
compiler-rt/trunk/test/msan/Linux/mallinfo.cc
compiler-rt/trunk/test/msan/Linux/mincore.cc
compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cc
compiler-rt/trunk/test/msan/Linux/obstack.cc
compiler-rt/trunk/test/msan/Linux/poll.cc
compiler-rt/trunk/test/msan/Linux/process_vm_readv.cc
compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cc
compiler-rt/trunk/test/msan/Linux/sendmsg.cc
compiler-rt/trunk/test/msan/Linux/strerror_r.cc
compiler-rt/trunk/test/msan/Linux/sunrpc.cc
compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc
compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc
compiler-rt/trunk/test/msan/Linux/syscalls.cc
compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cc
compiler-rt/trunk/test/msan/Linux/tcgetattr.cc
compiler-rt/trunk/test/msan/Linux/xattr.cc
compiler-rt/trunk/test/msan/__strxfrm_l.cc
compiler-rt/trunk/test/msan/alloca.cc
compiler-rt/trunk/test/msan/allocator_mapping.cc
compiler-rt/trunk/test/msan/backtrace.cc
compiler-rt/trunk/test/msan/chained_origin.cc
compiler-rt/trunk/test/msan/chained_origin_empty_stack.cc
compiler-rt/trunk/test/msan/chained_origin_limits.cc
compiler-rt/trunk/test/msan/chained_origin_memcpy.cc
compiler-rt/trunk/test/msan/chained_origin_with_signals.cc
compiler-rt/trunk/test/msan/check-handler.cc
compiler-rt/trunk/test/msan/check_mem_is_initialized.cc
compiler-rt/trunk/test/msan/coverage-levels.cc
compiler-rt/trunk/test/msan/ctermid.cc
compiler-rt/trunk/test/msan/cxa_atexit.cc
compiler-rt/trunk/test/msan/death-callback.cc
compiler-rt/trunk/test/msan/default_blacklist.cc
compiler-rt/trunk/test/msan/dlerror.cc
compiler-rt/trunk/test/msan/dlopen_executable.cc
compiler-rt/trunk/test/msan/dso-origin.cc
compiler-rt/trunk/test/msan/dtor-base-access.cc
compiler-rt/trunk/test/msan/dtor-bit-fields.cc
compiler-rt/trunk/test/msan/dtor-derived-class.cc
compiler-rt/trunk/test/msan/dtor-member.cc
compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cc
compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cc
compiler-rt/trunk/test/msan/dtor-trivial-class-members.cc
compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cc
compiler-rt/trunk/test/msan/dtor-vtable.cc
compiler-rt/trunk/test/msan/errno.cc
compiler-rt/trunk/test/msan/fgets_fputs.cc
compiler-rt/trunk/test/msan/fork.cc
compiler-rt/trunk/test/msan/fread_fwrite.cc
compiler-rt/trunk/test/msan/fstat.cc
compiler-rt/trunk/test/msan/ftime.cc
compiler-rt/trunk/test/msan/getaddrinfo-positive.cc
compiler-rt/trunk/test/msan/getaddrinfo.cc
compiler-rt/trunk/test/msan/getline.cc
compiler-rt/trunk/test/msan/getloadavg.cc
compiler-rt/trunk/test/msan/getutent.cc
compiler-rt/trunk/test/msan/heap-origin.cc
compiler-rt/trunk/test/msan/icmp_slt_allones.cc
compiler-rt/trunk/test/msan/iconv.cc
compiler-rt/trunk/test/msan/if_indextoname.cc
compiler-rt/trunk/test/msan/ifaddrs.cc
compiler-rt/trunk/test/msan/initgroups.cc
compiler-rt/trunk/test/msan/inline.cc
compiler-rt/trunk/test/msan/insertvalue_origin.cc
compiler-rt/trunk/test/msan/ioctl.cc
compiler-rt/trunk/test/msan/ioctl_custom.cc
compiler-rt/trunk/test/msan/memcmp_test.cc
compiler-rt/trunk/test/msan/mktime.cc
compiler-rt/trunk/test/msan/mmap.cc
compiler-rt/trunk/test/msan/mmap_below_shadow.cc
compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc
compiler-rt/trunk/test/msan/msan_copy_shadow.cc
compiler-rt/trunk/test/msan/msan_dump_shadow.cc
compiler-rt/trunk/test/msan/msan_print_shadow.cc
compiler-rt/trunk/test/msan/msan_print_shadow2.cc
compiler-rt/trunk/test/msan/msan_print_shadow3.cc
compiler-rt/trunk/test/msan/mul_by_const.cc
compiler-rt/trunk/test/msan/no_sanitize_memory.cc
compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cc
compiler-rt/trunk/test/msan/origin-store-long.cc
compiler-rt/trunk/test/msan/param_tls_limit.cc
compiler-rt/trunk/test/msan/poison_in_free.cc
compiler-rt/trunk/test/msan/print_stats.cc
compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cc
compiler-rt/trunk/test/msan/pthread_getname_np.cc
compiler-rt/trunk/test/msan/pthread_setcancelstate.cc
compiler-rt/trunk/test/msan/rand_r.cc
compiler-rt/trunk/test/msan/readdir64.cc
compiler-rt/trunk/test/msan/realloc-large-origin.cc
compiler-rt/trunk/test/msan/realloc-origin.cc
compiler-rt/trunk/test/msan/recover-dso.cc
compiler-rt/trunk/test/msan/recover.cc
compiler-rt/trunk/test/msan/report-demangling.cc
compiler-rt/trunk/test/msan/scandir.cc
compiler-rt/trunk/test/msan/scandir_null.cc
compiler-rt/trunk/test/msan/scoped-interceptors.cc
compiler-rt/trunk/test/msan/select.cc
compiler-rt/trunk/test/msan/select_float_origin.cc
compiler-rt/trunk/test/msan/select_origin.cc
compiler-rt/trunk/test/msan/sem_getvalue.cc
compiler-rt/trunk/test/msan/setlocale.cc
compiler-rt/trunk/test/msan/sigaction.cc
compiler-rt/trunk/test/msan/signal_stress_test.cc
compiler-rt/trunk/test/msan/sigwait.cc
compiler-rt/trunk/test/msan/sigwaitinfo.cc
compiler-rt/trunk/test/msan/stack-origin.cc
compiler-rt/trunk/test/msan/stack-origin2.cc
compiler-rt/trunk/test/msan/strlen_of_shadow.cc
compiler-rt/trunk/test/msan/strndup.cc
compiler-rt/trunk/test/msan/strxfrm.cc
compiler-rt/trunk/test/msan/sync_lock_set_and_test.cc
compiler-rt/trunk/test/msan/textdomain.cc
compiler-rt/trunk/test/msan/times.cc
compiler-rt/trunk/test/msan/tls_reuse.cc
compiler-rt/trunk/test/msan/tsearch.cc
compiler-rt/trunk/test/msan/tzset.cc
compiler-rt/trunk/test/msan/unaligned_read_origin.cc
compiler-rt/trunk/test/msan/unpoison_param.cc
compiler-rt/trunk/test/msan/unpoison_string.cc
compiler-rt/trunk/test/msan/use-after-dtor.cc
compiler-rt/trunk/test/msan/use-after-free.cc
compiler-rt/trunk/test/msan/vararg.cc
compiler-rt/trunk/test/msan/vector_cvt.cc
compiler-rt/trunk/test/msan/vector_div.cc
compiler-rt/trunk/test/msan/vector_select.cc
compiler-rt/trunk/test/msan/wcsncpy.cc
compiler-rt/trunk/test/msan/wcsxfrm.cc
Removed: compiler-rt/trunk/test/msan/Linux/bzero.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/bzero.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/bzero.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/bzero.cc (removed)
@@ -1,16 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-// REQUIRES: !android
-
-#include <assert.h>
-#include <strings.h>
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char *argv[]) {
- char buf[100];
- assert(0 == __msan_test_shadow(buf, sizeof(buf)));
- // *& to suppress bzero-to-memset optimization.
- (*&bzero)(buf, 50);
- assert(50 == __msan_test_shadow(buf, sizeof(buf)));
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/bzero.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/bzero.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/bzero.cpp?p2=compiler-rt/trunk/test/msan/Linux/bzero.cpp&p1=compiler-rt/trunk/test/msan/Linux/bzero.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/cmsghdr.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/cmsghdr.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/cmsghdr.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/cmsghdr.cc (removed)
@@ -1,101 +0,0 @@
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -DPOISONFD -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -DPOISONCRED -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -DPOISONLEN -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -DPOISONLEVEL -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -DPOISONTYPE -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -DPOISONLEN2 -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -DPOISONLEVEL2 -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -DPOISONTYPE2 -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -std=c++11 -DSENDMSG -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-
-// UNSUPPORTED: android
-
-#include <assert.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <netdb.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <sanitizer/msan_interface.h>
-
-const int kBufSize = 10;
-
-int main() {
- int ret;
- char buf[kBufSize] = {0};
- pthread_t client_thread;
- struct sockaddr_un serveraddr;
-
- int sock[2];
- ret = socketpair(AF_UNIX, SOCK_STREAM, 0, sock);
- assert(ret == 0);
-
- int sockfd = sock[0];
-
- struct iovec iov[] = {{buf, 10}};
- struct msghdr msg = {0};
- msg.msg_iov = iov;
- msg.msg_iovlen = 1;
- msg.msg_flags = 0;
-
- static const int kNumFds = 3;
- char controlbuf[CMSG_SPACE(kNumFds * sizeof(int)) +
- CMSG_SPACE(sizeof(struct ucred))];
- msg.msg_control = &controlbuf;
- msg.msg_controllen = sizeof(controlbuf);
-
- struct cmsghdr *cmsg = (struct cmsghdr *)&controlbuf;
- assert(cmsg);
- int myfds[kNumFds];
- for (int &fd : myfds)
- fd = sockfd;
-#ifdef POISONFD
- __msan_poison(&myfds[1], sizeof(int));
-#endif
- cmsg->cmsg_level = SOL_SOCKET;
- cmsg->cmsg_type = SCM_RIGHTS;
- cmsg->cmsg_len = CMSG_LEN(kNumFds * sizeof(int));
- memcpy(CMSG_DATA(cmsg), myfds, kNumFds * sizeof(int));
-#ifdef POISONLEVEL
- __msan_poison(&cmsg->cmsg_level, sizeof(cmsg->cmsg_level));
-#endif
-#ifdef POISONTYPE
- __msan_poison(&cmsg->cmsg_type, sizeof(cmsg->cmsg_type));
-#endif
-#ifdef POISONLEN
- __msan_poison(&cmsg->cmsg_len, sizeof(cmsg->cmsg_len));
-#endif
-
- cmsg = (struct cmsghdr *)(&controlbuf[CMSG_SPACE(kNumFds * sizeof(int))]);
- assert(cmsg);
- struct ucred cred = {getpid(), getuid(), getgid()};
-#ifdef POISONCRED
- __msan_poison(&cred.uid, sizeof(cred.uid));
-#endif
- cmsg->cmsg_level = SOL_SOCKET;
- cmsg->cmsg_type = SCM_CREDENTIALS;
- cmsg->cmsg_len = CMSG_LEN(sizeof(struct ucred));
- memcpy(CMSG_DATA(cmsg), &cred, sizeof(struct ucred));
-#ifdef POISONLEVEL2
- __msan_poison(&cmsg->cmsg_level, sizeof(cmsg->cmsg_level));
-#endif
-#ifdef POISONTYPE2
- __msan_poison(&cmsg->cmsg_type, sizeof(cmsg->cmsg_type));
-#endif
-#ifdef POISONLEN2
- __msan_poison(&cmsg->cmsg_len, sizeof(cmsg->cmsg_len));
-#endif
-
- ret = sendmsg(sockfd, &msg, 0);
- // SENDMSG: MemorySanitizer: use-of-uninitialized-value
- if (ret == -1) printf("%d: %s\n", errno, strerror(errno));
- assert(ret > 0);
-
- fprintf(stderr, "== done\n");
- // NEGATIVE: == done
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/cmsghdr.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/cmsghdr.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/cmsghdr.cpp?p2=compiler-rt/trunk/test/msan/Linux/cmsghdr.cpp&p1=compiler-rt/trunk/test/msan/Linux/cmsghdr.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/eventfd.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/eventfd.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/eventfd.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/eventfd.cc (removed)
@@ -1,18 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t 2>&1
-
-#include <assert.h>
-#include <sys/eventfd.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char *argv[]) {
- int efd = eventfd(42, 0);
- assert(efd >= 0);
-
- eventfd_t v;
- int ret = eventfd_read(efd, &v);
- assert(ret == 0);
- __msan_check_mem_is_initialized(&v, sizeof(v));
-
- assert(v == 42);
-}
Copied: compiler-rt/trunk/test/msan/Linux/eventfd.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/eventfd.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/eventfd.cpp?p2=compiler-rt/trunk/test/msan/Linux/eventfd.cpp&p1=compiler-rt/trunk/test/msan/Linux/eventfd.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/fopencookie.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/fopencookie.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/fopencookie.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/fopencookie.cc (removed)
@@ -1,65 +0,0 @@
-// Test fopencookie interceptor.
-// RUN: %clangxx_msan -std=c++11 -O0 %s -o %t && %run %t
-// RUN: %clangxx_msan -std=c++11 -fsanitize-memory-track-origins -O0 %s -o %t && %run %t
-
-#include <assert.h>
-#include <pthread.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <sanitizer/msan_interface.h>
-
-constexpr uintptr_t kMagicCookie = 0x12345678;
-
-static ssize_t cookie_read(void *cookie, char *buf, size_t size) {
- assert((uintptr_t)cookie == kMagicCookie);
- memset(buf, 0, size);
- return 0;
-}
-
-static ssize_t cookie_write(void *cookie, const char *buf, size_t size) {
- assert((uintptr_t)cookie == kMagicCookie);
- __msan_check_mem_is_initialized(buf, size);
- return 0;
-}
-
-static int cookie_seek(void *cookie, off64_t *offset, int whence) {
- assert((uintptr_t)cookie == kMagicCookie);
- __msan_check_mem_is_initialized(offset, sizeof(*offset));
- return 0;
-}
-
-static int cookie_close(void *cookie) {
- assert((uintptr_t)cookie == kMagicCookie);
- return 0;
-}
-
-void PoisonStack() { char a[8192]; }
-
-void TestPoisonStack() {
- // Verify that PoisonStack has poisoned the stack - otherwise this test is not
- // testing anything.
- char a;
- assert(__msan_test_shadow(&a - 1000, 1) == 0);
-}
-
-int main() {
- void *cookie = (void *)kMagicCookie;
- FILE *f = fopencookie(cookie, "rw",
- {cookie_read, cookie_write, cookie_seek, cookie_close});
- PoisonStack();
- TestPoisonStack();
- fseek(f, 100, SEEK_SET);
- char buf[50];
- fread(buf, 50, 1, f);
- fwrite(buf, 50, 1, f);
- fclose(f);
-
- f = fopencookie(cookie, "rw", {nullptr, nullptr, nullptr, nullptr});
- fseek(f, 100, SEEK_SET);
- fread(buf, 50, 1, f);
- fwrite(buf, 50, 1, f);
- fclose(f);
-}
Copied: compiler-rt/trunk/test/msan/Linux/fopencookie.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/fopencookie.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/fopencookie.cpp?p2=compiler-rt/trunk/test/msan/Linux/fopencookie.cpp&p1=compiler-rt/trunk/test/msan/Linux/fopencookie.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/forkpty.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/forkpty.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/forkpty.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/forkpty.cc (removed)
@@ -1,28 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -lutil -o %t && %run %t
-
-#include <assert.h>
-#include <pty.h>
-#include <unistd.h>
-#include <cstring>
-
-#include <sanitizer/msan_interface.h>
-
-int
-main (int argc, char** argv)
-{
- int parent, worker;
- openpty(&parent, &worker, NULL, NULL, NULL);
- assert(__msan_test_shadow(&parent, sizeof(parent)) == -1);
- assert(__msan_test_shadow(&worker, sizeof(worker)) == -1);
-
- char name[255];
- ttyname_r(parent, name, sizeof(name));
- assert(__msan_test_shadow(name, strlen(name) + 1) == -1);
-
- char *name_p = ttyname(parent);
- assert(__msan_test_shadow(name_p, strlen(name_p) + 1) == -1);
-
- int parent2;
- forkpty(&parent2, NULL, NULL, NULL);
- assert(__msan_test_shadow(&parent2, sizeof(parent2)) == -1);
-}
Copied: compiler-rt/trunk/test/msan/Linux/forkpty.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/forkpty.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/forkpty.cpp?p2=compiler-rt/trunk/test/msan/Linux/forkpty.cpp&p1=compiler-rt/trunk/test/msan/Linux/forkpty.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/getresid.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/getresid.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/getresid.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/getresid.cc (removed)
@@ -1,25 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p 2>&1
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t %p 2>&1
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t %p 2>&1
-
-#include <assert.h>
-#include <unistd.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char *argv[]) {
- uid_t uids[6];
- assert(0 == __msan_test_shadow(uids, 6 * sizeof(uid_t)));
- assert(0 == getresuid(&uids[0], &uids[2], &uids[4]));
- for (int i = 0; i < 3; i++)
- assert(sizeof(uid_t) ==
- __msan_test_shadow(uids + 2 * i, 2 * sizeof(uid_t)));
-
- gid_t gids[6];
- assert(0 == __msan_test_shadow(gids, 6 * sizeof(gid_t)));
- assert(0 == getresgid(&gids[0], &gids[2], &gids[4]));
- for (int i = 0; i < 3; i++)
- assert(sizeof(gid_t) ==
- __msan_test_shadow(gids + 2 * i, 2 * sizeof(gid_t)));
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/getresid.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/getresid.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/getresid.cpp?p2=compiler-rt/trunk/test/msan/Linux/getresid.cpp&p1=compiler-rt/trunk/test/msan/Linux/getresid.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/glob.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/glob.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/glob.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/glob.cc (removed)
@@ -1,27 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t %p 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t %p 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <glob.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-int main(int argc, char *argv[]) {
- assert(argc == 2);
- char buf[1024];
- snprintf(buf, sizeof(buf), "%s/%s", argv[1], "glob_test_root/*a");
-
- glob_t globbuf;
- int res = glob(buf, 0, 0, &globbuf);
-
- printf("%d %s\n", errno, strerror(errno));
- assert(res == 0);
- assert(globbuf.gl_pathc == 2);
- printf("%zu\n", strlen(globbuf.gl_pathv[0]));
- printf("%zu\n", strlen(globbuf.gl_pathv[1]));
- printf("PASS\n");
- // CHECK: PASS
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/glob.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/glob.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/glob.cpp?p2=compiler-rt/trunk/test/msan/Linux/glob.cpp&p1=compiler-rt/trunk/test/msan/Linux/glob.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cc (removed)
@@ -1,78 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t %p 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t %p 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <glob.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <unistd.h>
-
-#include <sanitizer/msan_interface.h>
-
-static void my_gl_closedir(void *dir) {
- if (!dir)
- exit(1);
- closedir((DIR *)dir);
-}
-
-static struct dirent *my_gl_readdir(void *dir) {
- if (!dir)
- exit(1);
- struct dirent *d = readdir((DIR *)dir);
- if (d) __msan_poison(d, d->d_reclen); // hehe
- return d;
-}
-
-static void *my_gl_opendir(const char *s) {
- assert(__msan_test_shadow(s, strlen(s) + 1) == (size_t)-1);
- return opendir(s);
-}
-
-static int my_gl_lstat(const char *s, struct stat *st) {
- assert(__msan_test_shadow(s, strlen(s) + 1) == (size_t)-1);
- if (!st)
- exit(1);
- return lstat(s, st);
-}
-
-static int my_gl_stat(const char *s, struct stat *st) {
- assert(__msan_test_shadow(s, strlen(s) + 1) == (size_t)-1);
- if (!st)
- exit(1);
- return lstat(s, st);
-}
-
-int main(int argc, char *argv[]) {
- assert(argc == 2);
- char buf[1024];
- snprintf(buf, sizeof(buf), "%s/%s", argv[1], "glob_test_root/*a");
-
- glob_t globbuf;
- globbuf.gl_closedir = my_gl_closedir;
- globbuf.gl_readdir = my_gl_readdir;
- globbuf.gl_opendir = my_gl_opendir;
- globbuf.gl_lstat = my_gl_lstat;
- globbuf.gl_stat = my_gl_stat;
- for (int i = 0; i < 10000; ++i) {
- int res = glob(buf, GLOB_ALTDIRFUNC | GLOB_MARK, 0, &globbuf);
- assert(res == 0);
- printf("%d %s\n", errno, strerror(errno));
- assert(globbuf.gl_pathc == 2);
- printf("%zu\n", strlen(globbuf.gl_pathv[0]));
- printf("%zu\n", strlen(globbuf.gl_pathv[1]));
- __msan_poison(globbuf.gl_pathv[0], strlen(globbuf.gl_pathv[0]) + 1);
- __msan_poison(globbuf.gl_pathv[1], strlen(globbuf.gl_pathv[1]) + 1);
- globfree(&globbuf);
- }
-
- printf("PASS\n");
- // CHECK: PASS
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cpp?p2=compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cpp&p1=compiler-rt/trunk/test/msan/Linux/glob_altdirfunc.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/glob_nomatch.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/glob_nomatch.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/glob_nomatch.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/glob_nomatch.cc (removed)
@@ -1,21 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t %p
-
-#include <assert.h>
-#include <glob.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int main(int argc, char *argv[]) {
- assert(argc == 2);
- char buf[1024];
- snprintf(buf, sizeof(buf), "%s/%s", argv[1], "glob_test_root/*c");
-
- glob_t globbuf;
- int res = glob(buf, 0, 0, &globbuf);
- assert(res == GLOB_NOMATCH);
- assert(globbuf.gl_pathc == 0);
- if (globbuf.gl_pathv == 0)
- exit(0);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/glob_nomatch.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/glob_nomatch.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/glob_nomatch.cpp?p2=compiler-rt/trunk/test/msan/Linux/glob_nomatch.cpp&p1=compiler-rt/trunk/test/msan/Linux/glob_nomatch.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/ioctl_sound.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/ioctl_sound.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/ioctl_sound.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/ioctl_sound.cc (removed)
@@ -1,29 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -O3 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <fcntl.h>
-#include <sound/asound.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/ioctl.h>
-#include <sys/socket.h>
-#include <unistd.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char **argv) {
- int fd = open("/dev/snd/controlC0", O_RDONLY);
- if (fd < 0) {
- printf("Unable to open sound device.");
- return 0;
- }
- const unsigned sz = sizeof(snd_ctl_card_info);
- void *info = malloc(sz + 1);
- assert(__msan_test_shadow(info, sz) == 0);
- assert(ioctl(fd, SNDRV_CTL_IOCTL_CARD_INFO, info) >= 0);
- assert(__msan_test_shadow(info, sz + 1) == sz);
- close(fd);
- free(info);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/ioctl_sound.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/ioctl_sound.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/ioctl_sound.cpp?p2=compiler-rt/trunk/test/msan/Linux/ioctl_sound.cpp&p1=compiler-rt/trunk/test/msan/Linux/ioctl_sound.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/mallinfo.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/mallinfo.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/mallinfo.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/mallinfo.cc (removed)
@@ -1,13 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// UNSUPPORTED: aarch64-target-arch
-
-#include <assert.h>
-#include <malloc.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- struct mallinfo mi = mallinfo();
- assert(__msan_test_shadow(&mi, sizeof(mi)) == -1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/mallinfo.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/mallinfo.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/mallinfo.cpp?p2=compiler-rt/trunk/test/msan/Linux/mallinfo.cpp&p1=compiler-rt/trunk/test/msan/Linux/mallinfo.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/mincore.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/mincore.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/mincore.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/mincore.cc (removed)
@@ -1,36 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 %s -o %t && %run %t
-
-#include <assert.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- unsigned char vec[20];
- int res;
- size_t PS = sysconf(_SC_PAGESIZE);
- void *addr = mmap(nullptr, 20 * PS, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
-
- __msan_poison(&vec, sizeof(vec));
- res = mincore(addr, 10 * PS, vec);
- assert(res == 0);
- assert(__msan_test_shadow(vec, sizeof(vec)) == 10);
-
- __msan_poison(&vec, sizeof(vec));
- res = mincore(addr, 10 * PS + 42, vec);
- assert(res == 0);
- assert(__msan_test_shadow(vec, sizeof(vec)) == 11);
-
- __msan_poison(&vec, sizeof(vec));
- res = mincore(addr, 10 * PS - 1, vec);
- assert(res == 0);
- assert(__msan_test_shadow(vec, sizeof(vec)) == 10);
-
- __msan_poison(&vec, sizeof(vec));
- res = mincore(addr, 1, vec);
- assert(res == 0);
- assert(__msan_test_shadow(vec, sizeof(vec)) == 1);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/mincore.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/mincore.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/mincore.cpp?p2=compiler-rt/trunk/test/msan/Linux/mincore.cpp&p1=compiler-rt/trunk/test/msan/Linux/mincore.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cc (removed)
@@ -1,28 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <fcntl.h>
-#include <sanitizer/msan_interface.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-int main(void) {
- struct file_handle *handle = reinterpret_cast<struct file_handle *>(
- malloc(sizeof(*handle) + MAX_HANDLE_SZ));
- handle->handle_bytes = MAX_HANDLE_SZ;
-
- int mount_id;
- int res = name_to_handle_at(AT_FDCWD, "/dev/null", handle, &mount_id, 0);
- assert(!res);
- __msan_check_mem_is_initialized(&mount_id, sizeof(mount_id));
- __msan_check_mem_is_initialized(&handle->handle_bytes,
- sizeof(handle->handle_bytes));
- __msan_check_mem_is_initialized(&handle->handle_type,
- sizeof(handle->handle_type));
- __msan_check_mem_is_initialized(&handle->f_handle, handle->handle_bytes);
-
- free(handle);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cpp?p2=compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cpp&p1=compiler-rt/trunk/test/msan/Linux/name_to_handle_at.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/obstack.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/obstack.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/obstack.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/obstack.cc (removed)
@@ -1,37 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -O0 -g -DPOSITIVE %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-#include <obstack.h>
-#include <sanitizer/msan_interface.h>
-#include <stdlib.h>
-
-static void *obstack_chunk_alloc(size_t sz) {
- return malloc(sz);
-}
-
-static void obstack_chunk_free(void *p) {
- free(p);
-}
-
-int main(void) {
- obstack obs;
- obstack_init(&obs);
- for (size_t sz = 16; sz < 0xFFFF; sz *= 2) {
- void *p = obstack_alloc(&obs, sz);
- int data[10] = {0};
- obstack_grow(&obs, &data, sizeof(data));
- obstack_blank(&obs, sz);
- obstack_grow(&obs, &data, sizeof(data));
- obstack_int_grow(&obs, 13);
- p = obstack_finish(&obs);
-#ifdef POSITIVE
- if (sz == 4096) {
- __msan_check_mem_is_initialized(p, sizeof(data));
- __msan_check_mem_is_initialized(p, sizeof(data) + 1);
- }
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 0x{{.*}} in main{{.*}}obstack.cc:[[@LINE-3]]
-#endif
- }
- obstack_free(&obs, 0);
-}
Copied: compiler-rt/trunk/test/msan/Linux/obstack.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/obstack.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/obstack.cpp?p2=compiler-rt/trunk/test/msan/Linux/obstack.cpp&p1=compiler-rt/trunk/test/msan/Linux/obstack.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/obstack.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/obstack.cpp Thu Aug 1 23:07:05 2019
@@ -30,7 +30,7 @@ int main(void) {
__msan_check_mem_is_initialized(p, sizeof(data) + 1);
}
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 0x{{.*}} in main{{.*}}obstack.cc:[[@LINE-3]]
+ // CHECK: #0 0x{{.*}} in main{{.*}}obstack.cpp:[[@LINE-3]]
#endif
}
obstack_free(&obs, 0);
Removed: compiler-rt/trunk/test/msan/Linux/poll.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/poll.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/poll.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/poll.cc (removed)
@@ -1,42 +0,0 @@
-// RUN: %clangxx_msan -O0 -std=c++11 -g %s -o %t
-// RUN: %run %t _ 2>&1 | FileCheck %s --check-prefix=CLEAN
-// RUN: not %run %t A 2>&1 | FileCheck %s --check-prefix=A
-// RUN: not %run %t B 2>&1 | FileCheck %s --check-prefix=B
-
-#include <assert.h>
-#include <poll.h>
-#include <signal.h>
-#include <stdio.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char **argv) {
- char T = argv[1][0];
-
- struct timespec ts;
- ts.tv_sec = 0;
- ts.tv_nsec = 1000;
- int res = ppoll(nullptr, 0, &ts, nullptr);
- assert(res == 0);
-
- if (T == 'A') {
- __msan_poison(&ts.tv_sec, sizeof(ts.tv_sec));
- ppoll(nullptr, 0, &ts, nullptr);
- // A: use-of-uninitialized-value
- }
-
- // A-NOT: ==1
- // B: ==1
- fprintf(stderr, "==1\n");
-
- sigset_t sig;
- if (T != 'B')
- sigemptyset(&sig);
- ppoll(nullptr, 0, &ts, &sig);
- // B: use-of-uninitialized-value
-
- // B-NOT: ==2
- // CLEAN: ==2
- fprintf(stderr, "==2\n");
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/poll.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/poll.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/poll.cpp?p2=compiler-rt/trunk/test/msan/Linux/poll.cpp&p1=compiler-rt/trunk/test/msan/Linux/poll.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/process_vm_readv.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/process_vm_readv.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/process_vm_readv.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/process_vm_readv.cc (removed)
@@ -1,75 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 %s -o %t && %run %t
-// RUN: %clangxx_msan -std=c++11 -O0 %s -o %t -DPOSITIVE && not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <sanitizer/msan_interface.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/uio.h>
-#include <unistd.h>
-#include <errno.h>
-
-typedef ssize_t (*process_vm_readwritev_fn)(pid_t, const iovec *, unsigned long,
- const iovec *, unsigned long,
- unsigned long);
-
-// Exit with success, emulating the expected output.
-int exit_dummy()
-{
-#ifdef POSITIVE
- printf("process_vm_readv not found or not implemented!\n");
- printf(
- "WARNING: MemorySanitizer: use-of-uninitialized-value (not really)\n");
- return 1;
-#else
- return 0;
-#endif
-}
-
-int main(void) {
- // This requires glibc 2.15.
- process_vm_readwritev_fn libc_process_vm_readv =
- (process_vm_readwritev_fn)dlsym(RTLD_NEXT, "process_vm_readv");
- if (!libc_process_vm_readv)
- return exit_dummy();
-
- process_vm_readwritev_fn process_vm_readv =
- (process_vm_readwritev_fn)dlsym(RTLD_DEFAULT, "process_vm_readv");
- process_vm_readwritev_fn process_vm_writev =
- (process_vm_readwritev_fn)dlsym(RTLD_DEFAULT, "process_vm_writev");
-
- char a[100];
- memset(a, 0xab, 100);
-
- char b[100];
- iovec iov_a[] = {{(void *)a, 20}, (void *)(a + 50), 10};
- iovec iov_b[] = {{(void *)(b + 10), 10}, (void *)(b + 30), 20};
-
- __msan_poison(&b, sizeof(b));
- ssize_t res = process_vm_readv(getpid(), iov_b, 2, iov_a, 2, 0);
- if (errno == ENOSYS) // Function not implemented
- return exit_dummy();
-
- assert(res == 30);
- __msan_check_mem_is_initialized(b + 10, 10);
- __msan_check_mem_is_initialized(b + 30, 20);
- assert(__msan_test_shadow(b + 9, 1) == 0);
- assert(__msan_test_shadow(b + 20, 1) == 0);
- assert(__msan_test_shadow(b + 29, 1) == 0);
- assert(__msan_test_shadow(b + 50, 1) == 0);
-
-#ifdef POSITIVE
- __msan_unpoison(&b, sizeof(b));
- __msan_poison(b + 32, 1);
- res = process_vm_writev(getpid(), iov_b, 2, iov_a, 2, 0);
-// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-#else
- __msan_unpoison(&b, sizeof(b));
- res = process_vm_writev(getpid(), iov_b, 2, iov_a, 2, 0);
- assert(res == 30);
-#endif
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/process_vm_readv.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/process_vm_readv.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/process_vm_readv.cpp?p2=compiler-rt/trunk/test/msan/Linux/process_vm_readv.cpp&p1=compiler-rt/trunk/test/msan/Linux/process_vm_readv.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cc (removed)
@@ -1,23 +0,0 @@
-// MSAN re-execs on unlimited stacks. We use that to verify ReExec() uses the
-// right path.
-// RUN: %clangxx_msan -O0 %s -o %t && ulimit -s unlimited && %run %t | FileCheck %s
-
-#include <stdio.h>
-
-#if !defined(__GLIBC_PREREQ)
-#define __GLIBC_PREREQ(a, b) 0
-#endif
-
-#if __GLIBC_PREREQ(2, 16)
-#include <sys/auxv.h>
-#endif
-
-int main() {
-#if __GLIBC_PREREQ(2, 16)
- // Make sure AT_EXECFN didn't get overwritten by re-exec.
- puts(reinterpret_cast<const char *>(getauxval(AT_EXECFN)));
-#else
- puts("No getauxval");
-#endif
- // CHECK-NOT: /proc/self/exe
-}
Copied: compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cpp?p2=compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cpp&p1=compiler-rt/trunk/test/msan/Linux/reexec_unlimited_stack.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/sendmsg.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/sendmsg.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/sendmsg.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/sendmsg.cc (removed)
@@ -1,153 +0,0 @@
-// RUN: %clangxx_msan %s -DSEND -DPOISON -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SEND
-// RUN: %clangxx_msan %s -DSENDTO -DPOISON -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDTO
-// RUN: %clangxx_msan %s -DSENDMSG -DPOISON -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMSG
-// RUN: %clangxx_msan %s -DSENDMMSG -DPOISON -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=SENDMMSG
-
-// RUN: %clangxx_msan %s -DSEND -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-// RUN: %clangxx_msan %s -DSENDTO -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-// RUN: %clangxx_msan %s -DSENDMSG -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-// RUN: %clangxx_msan %s -DSENDMMSG -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-
-// RUN: %clangxx_msan %s -DSEND -DPOISON -o %t && \
-// RUN: MSAN_OPTIONS=intercept_send=0 %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-// RUN: %clangxx_msan %s -DSENDTO -DPOISON -o %t && \
-// RUN: MSAN_OPTIONS=intercept_send=0 %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-// RUN: %clangxx_msan %s -DSENDMSG -DPOISON -o %t && \
-// RUN: MSAN_OPTIONS=intercept_send=0 %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-// RUN: %clangxx_msan %s -DSENDMMSG -DPOISON -o %t && \
-// RUN: MSAN_OPTIONS=intercept_send=0 %run %t 2>&1 | FileCheck %s --check-prefix=NEGATIVE
-
-// UNSUPPORTED: android
-
-#include <assert.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sanitizer/msan_interface.h>
-
-const int kBufSize = 10;
-const int kRecvBufSize = 100;
-int sockfd[2];
-
-int main() {
- int ret;
- int sent;
- char buf[kBufSize] = {0};
- char rbuf[kRecvBufSize];
-
- ret = socketpair(AF_LOCAL, SOCK_DGRAM, 0, sockfd);
- assert(!ret);
-
-#if defined(POISON)
- __msan_poison(buf + 7, 1);
-#endif
-
-#if defined(SENDMSG) || defined(SENDMMSG)
- struct iovec iov[2] = {{buf, 5}, {buf + 5, 5}};
- struct msghdr msg;
- msg.msg_name = nullptr;
- msg.msg_namelen = 0;
- msg.msg_iov = iov;
- msg.msg_iovlen = 2;
- msg.msg_control = 0;
- msg.msg_controllen = 0;
- msg.msg_flags = 0;
-#endif
-
-#if defined(SENDMMSG)
- struct iovec iov0[1] = {{buf, 7}};
- struct msghdr msg0;
- msg0.msg_name = nullptr;
- msg0.msg_namelen = 0;
- msg0.msg_iov = iov0;
- msg0.msg_iovlen = 1;
- msg0.msg_control = 0;
- msg0.msg_controllen = 0;
- msg0.msg_flags = 0;
-
- struct mmsghdr mmsg[2];
- mmsg[0].msg_hdr = msg0; // good
- mmsg[1].msg_hdr = msg; // poisoned
-#endif
-
-#if defined(SEND)
- sent = send(sockfd[0], buf, kBufSize, 0);
- // SEND: Uninitialized bytes in __interceptor_send at offset 7 inside [{{.*}}, 10)
- assert(sent > 0);
-
- ret = recv(sockfd[1], rbuf, kRecvBufSize, 0);
- assert(ret == sent);
- assert(__msan_test_shadow(rbuf, kRecvBufSize) == sent);
-#elif defined(SENDTO)
- sent = sendto(sockfd[0], buf, kBufSize, 0, nullptr, 0);
- // SENDTO: Uninitialized bytes in __interceptor_sendto at offset 7 inside [{{.*}}, 10)
- assert(sent > 0);
-
- struct sockaddr_storage ss;
- socklen_t sslen = sizeof(ss);
- ret = recvfrom(sockfd[1], rbuf, kRecvBufSize, 0, (struct sockaddr *)&ss,
- &sslen);
- assert(ret == sent);
- assert(__msan_test_shadow(rbuf, kRecvBufSize) == sent);
- assert(__msan_test_shadow(&ss, sizeof(ss)) == sslen);
-#elif defined(SENDMSG)
- sent = sendmsg(sockfd[0], &msg, 0);
- // SENDMSG: Uninitialized bytes in {{.*}} at offset 2 inside [{{.*}}, 5)
- assert(sent > 0);
-
- struct iovec riov[2] = {{rbuf, 3}, {rbuf + 3, kRecvBufSize - 3}};
- struct msghdr rmsg;
- rmsg.msg_name = nullptr;
- rmsg.msg_namelen = 0;
- rmsg.msg_iov = riov;
- rmsg.msg_iovlen = 2;
- rmsg.msg_control = 0;
- rmsg.msg_controllen = 0;
- rmsg.msg_flags = 0;
-
- ret = recvmsg(sockfd[1], &rmsg, 0);
- assert(ret == sent);
- assert(__msan_test_shadow(rbuf, kRecvBufSize) == sent);
-#elif defined(SENDMMSG)
- sent = sendmmsg(sockfd[0], mmsg, 2, 0);
- // SENDMMSG: Uninitialized bytes in {{.*}} at offset 2 inside [{{.*}}, 5)
- assert(sent == 2);
- if (ret >= 2)
- assert(mmsg[1].msg_len > 0);
-
- struct iovec riov[2] = {{rbuf + kRecvBufSize / 2, kRecvBufSize / 2}};
- struct msghdr rmsg;
- rmsg.msg_name = nullptr;
- rmsg.msg_namelen = 0;
- rmsg.msg_iov = riov;
- rmsg.msg_iovlen = 1;
- rmsg.msg_control = 0;
- rmsg.msg_controllen = 0;
- rmsg.msg_flags = 0;
-
- struct iovec riov0[2] = {{rbuf, kRecvBufSize / 2}};
- struct msghdr rmsg0;
- rmsg0.msg_name = nullptr;
- rmsg0.msg_namelen = 0;
- rmsg0.msg_iov = riov0;
- rmsg0.msg_iovlen = 1;
- rmsg0.msg_control = 0;
- rmsg0.msg_controllen = 0;
- rmsg0.msg_flags = 0;
-
- struct mmsghdr rmmsg[2];
- rmmsg[0].msg_hdr = rmsg0;
- rmmsg[1].msg_hdr = rmsg;
-
- ret = recvmmsg(sockfd[1], rmmsg, 2, 0, nullptr);
- assert(ret == sent);
- assert(__msan_test_shadow(rbuf, kRecvBufSize) == 7);
- assert(__msan_test_shadow(rbuf + kRecvBufSize / 2, kRecvBufSize / 2) == 10);
-#endif
- fprintf(stderr, "== done\n");
- // NEGATIVE: == done
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/sendmsg.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/sendmsg.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/sendmsg.cpp?p2=compiler-rt/trunk/test/msan/Linux/sendmsg.cpp&p1=compiler-rt/trunk/test/msan/Linux/sendmsg.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/strerror_r.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/strerror_r.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/strerror_r.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/strerror_r.cc (removed)
@@ -1,18 +0,0 @@
-// RUN: %clang_msan -O0 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <errno.h>
-#include <string.h>
-
-int main() {
- char buf[1000];
- char *res = strerror_r(EINVAL, buf, sizeof(buf));
- assert(res);
- volatile int z = strlen(res);
-
- res = strerror_r(-1, buf, sizeof(buf));
- assert(res);
- z = strlen(res);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/strerror_r.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/strerror_r.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/strerror_r.cpp?p2=compiler-rt/trunk/test/msan/Linux/strerror_r.cpp&p1=compiler-rt/trunk/test/msan/Linux/strerror_r.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/sunrpc.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/sunrpc.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/sunrpc.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/sunrpc.cc (removed)
@@ -1,42 +0,0 @@
-// REQUIRES: sunrpc
-
-// RUN: %clangxx_msan -g -O0 -DTYPE=int -DFN=xdr_int %s -o %t && \
-// RUN: %run %t 2>&1
-// RUN: %clangxx_msan -g -O0 -DTYPE=int -DFN=xdr_int -DUNINIT=1 %s -o %t && \
-// RUN: not %run %t 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -g -O0 -DTYPE=double -DFN=xdr_double %s -o %t && \
-// RUN: %run %t 2>&1
-// RUN: %clangxx_msan -g -O0 -DTYPE=double -DFN=xdr_double -DUNINIT=1 %s -o %t && \
-// RUN: not %run %t 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -g -O0 -DTYPE=u_quad_t -DFN=xdr_u_longlong_t %s -o %t && \
-// RUN: %run %t 2>&1
-// RUN: %clangxx_msan -g -O0 -DTYPE=u_quad_t -DFN=xdr_u_longlong_t -DUNINIT=1 %s -o %t && \
-// RUN: not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <rpc/xdr.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char *argv[]) {
- XDR xdrs;
- char buf[100];
- xdrmem_create(&xdrs, buf, sizeof(buf), XDR_ENCODE);
- TYPE x;
-#ifndef UNINIT
- x = 42;
-#endif
- bool_t res = FN(&xdrs, &x);
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{in main.*sunrpc.cc:}}[[@LINE-2]]
- assert(res == TRUE);
- xdr_destroy(&xdrs);
-
- xdrmem_create(&xdrs, buf, sizeof(buf), XDR_DECODE);
- TYPE y;
- res = FN(&xdrs, &y);
- assert(res == TRUE);
- assert(__msan_test_shadow(&y, sizeof(y)) == -1);
- xdr_destroy(&xdrs);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/sunrpc.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/sunrpc.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/sunrpc.cpp?p2=compiler-rt/trunk/test/msan/Linux/sunrpc.cpp&p1=compiler-rt/trunk/test/msan/Linux/sunrpc.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/sunrpc.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/sunrpc.cpp Thu Aug 1 23:07:05 2019
@@ -28,7 +28,7 @@ int main(int argc, char *argv[]) {
#endif
bool_t res = FN(&xdrs, &x);
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{in main.*sunrpc.cc:}}[[@LINE-2]]
+ // CHECK: {{in main.*sunrpc.cpp:}}[[@LINE-2]]
assert(res == TRUE);
xdr_destroy(&xdrs);
Removed: compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc (removed)
@@ -1,40 +0,0 @@
-// REQUIRES: sunrpc
-
-// RUN: %clangxx_msan -g -O0 %s -o %t && \
-// RUN: %run %t 2>&1
-// RUN: %clangxx_msan -g -O0 -DUNINIT=1 %s -o %t && \
-// RUN: not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <string.h>
-#include <rpc/xdr.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char *argv[]) {
- XDR xdrs;
- char buf[100];
- xdrmem_create(&xdrs, buf, sizeof(buf), XDR_ENCODE);
- char s[20];
-#ifndef UNINIT
- strcpy(s, "hello");
-#endif
- char *sp = s;
- unsigned sz = 6;
- bool_t res = xdr_bytes(&xdrs, &sp, &sz, sizeof(s));
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{in main.*sunrpc_bytes.cc:}}[[@LINE-2]]
- assert(res == TRUE);
- xdr_destroy(&xdrs);
-
- xdrmem_create(&xdrs, buf, sizeof(buf), XDR_DECODE);
- char s2[20];
- char *sp2 = s2;
- unsigned sz2;
- res = xdr_bytes(&xdrs, &sp2, &sz2, sizeof(s2));
- assert(res == TRUE);
- assert(sz == sz2);
- assert(strcmp(s, s2) == 0);
- xdr_destroy(&xdrs);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cpp?p2=compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cpp&p1=compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/sunrpc_bytes.cpp Thu Aug 1 23:07:05 2019
@@ -23,7 +23,7 @@ int main(int argc, char *argv[]) {
unsigned sz = 6;
bool_t res = xdr_bytes(&xdrs, &sp, &sz, sizeof(s));
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{in main.*sunrpc_bytes.cc:}}[[@LINE-2]]
+ // CHECK: {{in main.*sunrpc_bytes.cpp:}}[[@LINE-2]]
assert(res == TRUE);
xdr_destroy(&xdrs);
Removed: compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc (removed)
@@ -1,37 +0,0 @@
-// REQUIRES: sunrpc
-
-// RUN: %clangxx_msan -g -O0 %s -o %t && \
-// RUN: %run %t 2>&1
-// RUN: %clangxx_msan -g -O0 -DUNINIT=1 %s -o %t && \
-// RUN: not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <string.h>
-#include <rpc/xdr.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char *argv[]) {
- XDR xdrs;
- char buf[100];
- xdrmem_create(&xdrs, buf, sizeof(buf), XDR_ENCODE);
- char s[20];
-#ifndef UNINIT
- strcpy(s, "hello");
-#endif
- char *sp = s;
- bool_t res = xdr_string(&xdrs, &sp, sizeof(s));
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{in main.*sunrpc_string.cc:}}[[@LINE-2]]
- assert(res == TRUE);
- xdr_destroy(&xdrs);
-
- xdrmem_create(&xdrs, buf, sizeof(buf), XDR_DECODE);
- char s2[20];
- char *sp2 = s2;
- res = xdr_string(&xdrs, &sp2, sizeof(s2));
- assert(res == TRUE);
- assert(strcmp(s, s2) == 0);
- xdr_destroy(&xdrs);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/sunrpc_string.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/sunrpc_string.cpp?p2=compiler-rt/trunk/test/msan/Linux/sunrpc_string.cpp&p1=compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/sunrpc_string.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/sunrpc_string.cpp Thu Aug 1 23:07:05 2019
@@ -22,7 +22,7 @@ int main(int argc, char *argv[]) {
char *sp = s;
bool_t res = xdr_string(&xdrs, &sp, sizeof(s));
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{in main.*sunrpc_string.cc:}}[[@LINE-2]]
+ // CHECK: {{in main.*sunrpc_string.cpp:}}[[@LINE-2]]
assert(res == TRUE);
xdr_destroy(&xdrs);
Removed: compiler-rt/trunk/test/msan/Linux/syscalls.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/syscalls.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/syscalls.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/syscalls.cc (removed)
@@ -1,127 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t 2>&1
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t 2>&1
-
-#include <assert.h>
-#include <errno.h>
-#include <glob.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <linux/aio_abi.h>
-#include <sys/ptrace.h>
-#include <sys/stat.h>
-#include <sys/uio.h>
-
-#include <sanitizer/linux_syscall_hooks.h>
-#include <sanitizer/msan_interface.h>
-
-/* Test the presence of __sanitizer_syscall_ in the tool runtime, and general
- sanity of their behaviour. */
-
-int main(int argc, char *argv[]) {
- char buf[1000] __attribute__((aligned(8)));
- const int kTen = 10;
- const int kFortyTwo = 42;
- memset(buf, 0, sizeof(buf));
- __msan_unpoison(buf, sizeof(buf));
- __sanitizer_syscall_pre_recvmsg(0, buf, 0);
- __sanitizer_syscall_pre_rt_sigpending(buf, kTen);
- __sanitizer_syscall_pre_getdents(0, buf, kTen);
- __sanitizer_syscall_pre_getdents64(0, buf, kTen);
-
- __msan_unpoison(buf, sizeof(buf));
- __sanitizer_syscall_post_recvmsg(0, 0, buf, 0);
- __sanitizer_syscall_post_rt_sigpending(-1, buf, kTen);
- __sanitizer_syscall_post_getdents(0, 0, buf, kTen);
- __sanitizer_syscall_post_getdents64(0, 0, buf, kTen);
- assert(__msan_test_shadow(buf, sizeof(buf)) == -1);
-
- __msan_unpoison(buf, sizeof(buf));
- __sanitizer_syscall_post_recvmsg(kTen, 0, buf, 0);
-
- // Tell the kernel that the output struct size is 10 bytes, verify that those
- // bytes are unpoisoned, and the next byte is not.
- __msan_poison(buf, kTen + 1);
- __sanitizer_syscall_post_rt_sigpending(0, buf, kTen);
- assert(__msan_test_shadow(buf, sizeof(buf)) == kTen);
-
- __msan_poison(buf, kTen + 1);
- __sanitizer_syscall_post_getdents(kTen, 0, buf, kTen);
- assert(__msan_test_shadow(buf, sizeof(buf)) == kTen);
-
- __msan_poison(buf, kTen + 1);
- __sanitizer_syscall_post_getdents64(kTen, 0, buf, kTen);
- assert(__msan_test_shadow(buf, sizeof(buf)) == kTen);
-
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_clock_getres(0, 0, buf);
- assert(__msan_test_shadow(buf, sizeof(buf)) == sizeof(long) * 2);
-
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_clock_gettime(0, 0, buf);
- assert(__msan_test_shadow(buf, sizeof(buf)) == sizeof(long) * 2);
-
- // Failed syscall does not write to the buffer.
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_clock_gettime(-1, 0, buf);
- assert(__msan_test_shadow(buf, sizeof(buf)) == 0);
-
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_read(5, 42, buf, 10);
- assert(__msan_test_shadow(buf, sizeof(buf)) == 5);
-
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_newfstatat(0, 5, "/path/to/file", buf, 0);
- assert(__msan_test_shadow(buf, sizeof(buf)) == sizeof(struct stat));
-
- __msan_poison(buf, sizeof(buf));
- int prio = 0;
- __sanitizer_syscall_post_mq_timedreceive(kFortyTwo, 5, buf, sizeof(buf), &prio, 0);
- assert(__msan_test_shadow(buf, sizeof(buf)) == kFortyTwo);
- assert(__msan_test_shadow(&prio, sizeof(prio)) == -1);
-
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_ptrace(0, PTRACE_PEEKUSER, kFortyTwo, 0xABCD, buf);
- assert(__msan_test_shadow(buf, sizeof(buf)) == sizeof(void *));
-
- __msan_poison(buf, sizeof(buf));
- struct iocb iocb[3];
- struct iocb *iocbp[3] = { &iocb[0], &iocb[1], &iocb[2] };
- memset(iocb, 0, sizeof(iocb));
- iocb[0].aio_lio_opcode = IOCB_CMD_PREAD;
- iocb[0].aio_buf = (__u64)buf;
- iocb[0].aio_nbytes = 10;
- iocb[1].aio_lio_opcode = IOCB_CMD_PREAD;
- iocb[1].aio_buf = (__u64)(&buf[20]);
- iocb[1].aio_nbytes = 15;
- struct iovec vec[2] = { {&buf[40], 3}, {&buf[50], 20} };
- iocb[2].aio_lio_opcode = IOCB_CMD_PREADV;
- iocb[2].aio_buf = (__u64)(&vec);
- iocb[2].aio_nbytes = 2;
- __sanitizer_syscall_pre_io_submit(0, 3, &iocbp);
- assert(__msan_test_shadow(buf, sizeof(buf)) == 10);
- assert(__msan_test_shadow(buf + 20, sizeof(buf) - 20) == 15);
- assert(__msan_test_shadow(buf + 40, sizeof(buf) - 40) == 3);
- assert(__msan_test_shadow(buf + 50, sizeof(buf) - 50) == 20);
-
- __msan_poison(buf, sizeof(buf));
- char *p = buf;
- __msan_poison(&p, sizeof(p));
- __sanitizer_syscall_post_io_setup(0, 1, &p);
- assert(__msan_test_shadow(&p, sizeof(p)) == -1);
- assert(__msan_test_shadow(buf, sizeof(buf)) >= 32);
-
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_pipe(0, (int *)buf);
- assert(__msan_test_shadow(buf, sizeof(buf)) == 2 * sizeof(int));
-
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_pipe2(0, (int *)buf, 0);
- assert(__msan_test_shadow(buf, sizeof(buf)) == 2 * sizeof(int));
-
- __msan_poison(buf, sizeof(buf));
- __sanitizer_syscall_post_socketpair(0, 0, 0, 0, (int *)buf);
- assert(__msan_test_shadow(buf, sizeof(buf)) == 2 * sizeof(int));
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/syscalls.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/syscalls.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/syscalls.cpp?p2=compiler-rt/trunk/test/msan/Linux/syscalls.cpp&p1=compiler-rt/trunk/test/msan/Linux/syscalls.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cc (removed)
@@ -1,48 +0,0 @@
-// RUN: %clangxx_msan -DPRE1 -O0 %s -o %t && not %run %t 2>&1
-// RUN: %clangxx_msan -DPRE2 -O0 %s -o %t && not %run %t 2>&1
-// RUN: %clangxx_msan -DPRE3 -O0 %s -o %t && not %run %t 2>&1
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t 2>&1
-
-#include <assert.h>
-#include <signal.h>
-#include <string.h>
-
-#include <sanitizer/linux_syscall_hooks.h>
-#include <sanitizer/msan_interface.h>
-
-struct my_kernel_sigaction {
-#if defined(__mips__)
- long flags, handler;
-#else
- long handler, flags, restorer;
-#endif
- uint64_t mask[20]; // larger than any known platform
-};
-
-int main() {
- my_kernel_sigaction act = {}, oldact = {};
-
-#if defined(PRE1)
- __msan_poison(&act.handler, sizeof(act.handler));
- __sanitizer_syscall_pre_rt_sigaction(SIGUSR1, &act, &oldact, 20 * 8);
-#elif defined(PRE2)
- __msan_poison(&act.flags, sizeof(act.flags));
- __sanitizer_syscall_pre_rt_sigaction(SIGUSR1, &act, &oldact, 20 * 8);
-#elif defined(PRE3)
- __msan_poison(&act.mask, 1);
- __sanitizer_syscall_pre_rt_sigaction(SIGUSR1, &act, &oldact, 20 * 8);
-#else
- // Uninit past the end of the mask is ignored.
- __msan_poison(((char *)&act.mask) + 5, 1);
- __sanitizer_syscall_pre_rt_sigaction(SIGUSR1, &act, &oldact, 5);
-
- memset(&act, 0, sizeof(act));
- __msan_poison(&oldact, sizeof(oldact));
- __sanitizer_syscall_post_rt_sigaction(0, SIGUSR1, &act, &oldact, 5);
-#if defined(__mips__)
- assert(__msan_test_shadow(&oldact, sizeof(oldact)) == sizeof(long)*2 + 5);
-#else
- assert(__msan_test_shadow(&oldact, sizeof(oldact)) == sizeof(long)*3 + 5);
-#endif
-#endif
-}
Copied: compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cpp?p2=compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cpp&p1=compiler-rt/trunk/test/msan/Linux/syscalls_sigaction.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/tcgetattr.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/tcgetattr.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/tcgetattr.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/tcgetattr.cc (removed)
@@ -1,21 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p
-
-#include <assert.h>
-#include <glob.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <termios.h>
-#include <unistd.h>
-
-int main(int argc, char *argv[]) {
- int fd = getpt();
- assert(fd >= 0);
-
- struct termios t;
- int res = tcgetattr(fd, &t);
- assert(!res);
-
- if (t.c_iflag == 0)
- exit(0);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/tcgetattr.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/tcgetattr.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/tcgetattr.cpp?p2=compiler-rt/trunk/test/msan/Linux/tcgetattr.cpp&p1=compiler-rt/trunk/test/msan/Linux/tcgetattr.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/Linux/xattr.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/xattr.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/Linux/xattr.cc (original)
+++ compiler-rt/trunk/test/msan/Linux/xattr.cc (removed)
@@ -1,145 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p 2>&1
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t %p 2>&1
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t %p 2>&1
-
-#include <argz.h>
-#include <assert.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <sanitizer/msan_interface.h>
-
-// Do not depend on libattr headers.
-#ifndef ENOATTR
-#define ENOATTR ENODATA
-#endif
-
-extern "C" {
-ssize_t listxattr(const char *path, char *list, size_t size);
-ssize_t llistxattr(const char *path, char *list, size_t size);
-ssize_t flistxattr(int fd, char *list, size_t size);
-ssize_t getxattr(const char *path, const char *name, void *value, size_t size);
-ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size);
-ssize_t fgetxattr(int fd, const char *name, void *value, size_t size);
-}
-
-char g_path[1024];
-int g_fd;
-
-// Life before closures...
-ssize_t listxattr_wrapper(char *buf, size_t size) {
- return listxattr(g_path, buf, size);
-}
-
-ssize_t llistxattr_wrapper(char *buf, size_t size) {
- return llistxattr(g_path, buf, size);
-}
-
-ssize_t flistxattr_wrapper(char *buf, size_t size) {
- return flistxattr(g_fd, buf, size);
-}
-
-ssize_t getxattr_wrapper(const char *name, char *buf, size_t size) {
- return getxattr(g_path, name, buf, size);
-}
-
-ssize_t lgetxattr_wrapper(const char *name, char *buf, size_t size) {
- return lgetxattr(g_path, name, buf, size);
-}
-
-ssize_t fgetxattr_wrapper(const char *name, char *buf, size_t size) {
- return fgetxattr(g_fd, name, buf, size);
-}
-
-size_t test_list(ssize_t fun(char*, size_t), char **buf) {
- int buf_size = 1024;
- while (true) {
- *buf = (char *)malloc(buf_size);
- assert(__msan_test_shadow(*buf, buf_size) != -1);
- ssize_t res = fun(*buf, buf_size);
- if (res >= 0) {
- assert(__msan_test_shadow(*buf, buf_size) == res);
- return res;
- }
- if (errno == ENOTSUP) {
- printf("Extended attributes are disabled. *xattr test is a no-op.\n");
- exit(0);
- }
- assert(errno == ERANGE);
- free(*buf);
- buf_size *= 2;
- }
-}
-
-// True means success. False means result inconclusive because we don't have
-// access to this attribute.
-bool test_get_single_attr(ssize_t fun(const char *, char *, size_t),
- const char *attr_name) {
- char *buf;
- int buf_size = 1024;
- while (true) {
- buf = (char *)malloc(buf_size);
- assert(__msan_test_shadow(buf, buf_size) != -1);
- ssize_t res = fun(attr_name, buf, buf_size);
- if (res >= 0) {
- assert(__msan_test_shadow(buf, buf_size) == res);
- free(buf);
- return true;
- }
- if (errno == ENOTSUP) {
- printf("Extended attributes are disabled. *xattr test is a no-op.\n");
- exit(0);
- }
- if (errno == ENOATTR)
- return false;
- assert(errno == ERANGE);
- free(buf);
- buf_size *= 2;
- }
-}
-
-void test_get(ssize_t fun(const char *, char *, size_t), const char *attr_list,
- size_t attr_list_size) {
- // Try every attribute, until we see one we can access. Attribute names are
- // null-separated strings in attr_list.
- size_t attr_list_len = argz_count(attr_list, attr_list_size);
- size_t argv_size = (attr_list_len + 1) * sizeof(char *);
- char **attrs = (char **)malloc(argv_size);
- argz_extract(attr_list, attr_list_size, attrs);
- // TODO(smatveev): we need proper argz_* interceptors
- __msan_unpoison(attrs, argv_size);
- for (size_t i = 0; (i < attr_list_len) && attrs[i]; i++) {
- if (test_get_single_attr(fun, attrs[i]))
- return;
- }
- printf("*xattr test could not access any attributes.\n");
-}
-
-// TODO: set some attributes before trying to retrieve them with *getxattr.
-// Currently the list is empty, so *getxattr is not tested.
-int main(int argc, char *argv[]) {
- assert(argc == 2);
- snprintf(g_path, sizeof(g_path), "%s/%s", argv[1], "xattr_test_root/a");
-
- g_fd = open(g_path, O_RDONLY);
- assert(g_fd);
-
- char *attr_list;
- size_t attr_list_size;
- attr_list_size = test_list(listxattr_wrapper, &attr_list);
- free(attr_list);
- attr_list_size = test_list(llistxattr_wrapper, &attr_list);
- free(attr_list);
- attr_list_size = test_list(flistxattr_wrapper, &attr_list);
-
- test_get(getxattr_wrapper, attr_list, attr_list_size);
- test_get(lgetxattr_wrapper, attr_list, attr_list_size);
- test_get(fgetxattr_wrapper, attr_list, attr_list_size);
-
- free(attr_list);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/Linux/xattr.cpp (from r367652, compiler-rt/trunk/test/msan/Linux/xattr.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/Linux/xattr.cpp?p2=compiler-rt/trunk/test/msan/Linux/xattr.cpp&p1=compiler-rt/trunk/test/msan/Linux/xattr.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/__strxfrm_l.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/__strxfrm_l.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/__strxfrm_l.cc (original)
+++ compiler-rt/trunk/test/msan/__strxfrm_l.cc (removed)
@@ -1,19 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 -g %s -o %t && %run %t
-// REQUIRES: x86_64-linux
-
-#include <assert.h>
-#include <locale.h>
-#include <sanitizer/msan_interface.h>
-#include <stdlib.h>
-#include <string.h>
-
-extern "C" decltype(strxfrm_l) __strxfrm_l;
-
-int main(void) {
- char q[10];
- locale_t loc = newlocale(LC_ALL_MASK, "", (locale_t)0);
- size_t n = __strxfrm_l(q, "qwerty", sizeof(q), loc);
- assert(n < sizeof(q));
- __msan_check_mem_is_initialized(q, n + 1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/__strxfrm_l.cpp (from r367652, compiler-rt/trunk/test/msan/__strxfrm_l.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/__strxfrm_l.cpp?p2=compiler-rt/trunk/test/msan/__strxfrm_l.cpp&p1=compiler-rt/trunk/test/msan/__strxfrm_l.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/alloca.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/alloca.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/alloca.cc (original)
+++ compiler-rt/trunk/test/msan/alloca.cc (removed)
@@ -1,25 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -O3 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- char *p = (char *)alloca(16);
- assert(0 == __msan_test_shadow(p, 16));
- assert(0 == __msan_test_shadow(p + 15, 1));
-
- memset(p, 0, 16);
- assert(-1 == __msan_test_shadow(p, 16));
-
- volatile int x = 0;
- char * volatile q = (char *)alloca(42 * x);
- assert(-1 == __msan_test_shadow(p, 16));
-
- int r[x];
- int *volatile r2 = r;
- assert(-1 == __msan_test_shadow(p, 16));
-}
Copied: compiler-rt/trunk/test/msan/alloca.cpp (from r367652, compiler-rt/trunk/test/msan/alloca.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/alloca.cpp?p2=compiler-rt/trunk/test/msan/alloca.cpp&p1=compiler-rt/trunk/test/msan/alloca.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/allocator_mapping.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/allocator_mapping.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/allocator_mapping.cc (original)
+++ compiler-rt/trunk/test/msan/allocator_mapping.cc (removed)
@@ -1,36 +0,0 @@
-// Test that a module constructor can not map memory over the MSan heap
-// (without MAP_FIXED, of course). Current implementation ensures this by
-// mapping the heap early, in __msan_init.
-//
-// RUN: %clangxx_msan -O0 %s -o %t_1
-// RUN: %clangxx_msan -O0 -DHEAP_ADDRESS=$(%run %t_1) %s -o %t_2 && %run %t_2
-//
-// This test only makes sense for the 64-bit allocator. The 32-bit allocator
-// does not have a fixed mapping. Exclude platforms that use the 32-bit
-// allocator.
-// UNSUPPORTED: target-is-mips64,target-is-mips64el,aarch64
-
-#include <assert.h>
-#include <stdio.h>
-#include <sys/mman.h>
-#include <stdlib.h>
-
-#ifdef HEAP_ADDRESS
-struct A {
- A() {
- void *const hint = reinterpret_cast<void *>(HEAP_ADDRESS);
- void *p = mmap(hint, 4096, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- // This address must be already mapped. Check that mmap() succeeds, but at a
- // different address.
- assert(p != reinterpret_cast<void *>(-1));
- assert(p != hint);
- }
-} a;
-#endif
-
-int main() {
- void *p = malloc(10);
- printf("0x%zx\n", reinterpret_cast<size_t>(p) & (~0xfff));
- free(p);
-}
Copied: compiler-rt/trunk/test/msan/allocator_mapping.cpp (from r367652, compiler-rt/trunk/test/msan/allocator_mapping.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/allocator_mapping.cpp?p2=compiler-rt/trunk/test/msan/allocator_mapping.cpp&p1=compiler-rt/trunk/test/msan/allocator_mapping.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/backtrace.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/backtrace.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/backtrace.cc (original)
+++ compiler-rt/trunk/test/msan/backtrace.cc (removed)
@@ -1,26 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <assert.h>
-#include <execinfo.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-__attribute__((noinline))
-void f() {
- void *buf[10];
- int sz = backtrace(buf, sizeof(buf) / sizeof(*buf));
- assert(sz > 0);
- for (int i = 0; i < sz; ++i)
- if (!buf[i])
- exit(1);
- char **s = backtrace_symbols(buf, sz);
- assert(s != 0);
- for (int i = 0; i < sz; ++i)
- printf("%d\n", (int)strlen(s[i]));
-}
-
-int main(void) {
- f();
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/backtrace.cpp (from r367652, compiler-rt/trunk/test/msan/backtrace.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/backtrace.cpp?p2=compiler-rt/trunk/test/msan/backtrace.cpp&p1=compiler-rt/trunk/test/msan/backtrace.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/chained_origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/chained_origin.cc (original)
+++ compiler-rt/trunk/test/msan/chained_origin.cc (removed)
@@ -1,67 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%short-stack --check-prefix=CHECK-STACK < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -DHEAP=1 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%short-stack --check-prefix=CHECK-HEAP < %t.out
-
-
-// RUN: %clangxx_msan -mllvm -msan-instrumentation-with-call-threshold=0 -fsanitize-memory-track-origins=2 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%short-stack --check-prefix=CHECK-STACK < %t.out
-
-// RUN: %clangxx_msan -mllvm -msan-instrumentation-with-call-threshold=0 -fsanitize-memory-track-origins=2 -DHEAP=1 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-HEAP < %t.out
-
-#include <stdio.h>
-
-volatile int x, y;
-
-__attribute__((noinline))
-void fn_g(int a) {
- x = a;
-}
-
-__attribute__((noinline))
-void fn_f(int a) {
- fn_g(a);
-}
-
-__attribute__((noinline))
-void fn_h() {
- y = x;
-}
-
-int main(int argc, char *argv[]) {
-#ifdef HEAP
- int * volatile zz = new int;
- int z = *zz;
-#else
- int volatile z;
-#endif
- fn_f(z);
- fn_h();
- return y;
-}
-
-// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: {{#0 .* in main.*chained_origin.cc:}}[[@LINE-4]]
-
-// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#0 .* in fn_h.*chained_origin.cc:}}[[@LINE-19]]
-// CHECK-FULL-STACK: {{#1 .* in main.*chained_origin.cc:}}[[@LINE-9]]
-// CHECK-SHORT-STACK: {{#0 .* in fn_h.*chained_origin.cc:}}[[@LINE-21]]
-
-// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#0 .* in fn_g.*chained_origin.cc:}}[[@LINE-34]]
-// CHECK-FULL-STACK: {{#1 .* in fn_f.*chained_origin.cc:}}[[@LINE-30]]
-// CHECK-FULL-STACK: {{#2 .* in main.*chained_origin.cc:}}[[@LINE-16]]
-// CHECK-SHORT-STACK: {{#0 .* in fn_g.*chained_origin.cc:}}[[@LINE-37]]
-
-// CHECK-STACK: Uninitialized value was created by an allocation of 'z' in the stack frame of function 'main'
-// CHECK-STACK: {{#0 .* in main.*chained_origin.cc:}}[[@LINE-27]]
-
-// CHECK-HEAP: Uninitialized value was created by a heap allocation
-// CHECK-HEAP: {{#1 .* in main.*chained_origin.cc:}}[[@LINE-28]]
Copied: compiler-rt/trunk/test/msan/chained_origin.cpp (from r367652, compiler-rt/trunk/test/msan/chained_origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin.cpp?p2=compiler-rt/trunk/test/msan/chained_origin.cpp&p1=compiler-rt/trunk/test/msan/chained_origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/chained_origin.cc (original)
+++ compiler-rt/trunk/test/msan/chained_origin.cpp Thu Aug 1 23:07:05 2019
@@ -47,21 +47,21 @@ int main(int argc, char *argv[]) {
}
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: {{#0 .* in main.*chained_origin.cc:}}[[@LINE-4]]
+// CHECK: {{#0 .* in main.*chained_origin.cpp:}}[[@LINE-4]]
// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#0 .* in fn_h.*chained_origin.cc:}}[[@LINE-19]]
-// CHECK-FULL-STACK: {{#1 .* in main.*chained_origin.cc:}}[[@LINE-9]]
-// CHECK-SHORT-STACK: {{#0 .* in fn_h.*chained_origin.cc:}}[[@LINE-21]]
+// CHECK-FULL-STACK: {{#0 .* in fn_h.*chained_origin.cpp:}}[[@LINE-19]]
+// CHECK-FULL-STACK: {{#1 .* in main.*chained_origin.cpp:}}[[@LINE-9]]
+// CHECK-SHORT-STACK: {{#0 .* in fn_h.*chained_origin.cpp:}}[[@LINE-21]]
// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#0 .* in fn_g.*chained_origin.cc:}}[[@LINE-34]]
-// CHECK-FULL-STACK: {{#1 .* in fn_f.*chained_origin.cc:}}[[@LINE-30]]
-// CHECK-FULL-STACK: {{#2 .* in main.*chained_origin.cc:}}[[@LINE-16]]
-// CHECK-SHORT-STACK: {{#0 .* in fn_g.*chained_origin.cc:}}[[@LINE-37]]
+// CHECK-FULL-STACK: {{#0 .* in fn_g.*chained_origin.cpp:}}[[@LINE-34]]
+// CHECK-FULL-STACK: {{#1 .* in fn_f.*chained_origin.cpp:}}[[@LINE-30]]
+// CHECK-FULL-STACK: {{#2 .* in main.*chained_origin.cpp:}}[[@LINE-16]]
+// CHECK-SHORT-STACK: {{#0 .* in fn_g.*chained_origin.cpp:}}[[@LINE-37]]
// CHECK-STACK: Uninitialized value was created by an allocation of 'z' in the stack frame of function 'main'
-// CHECK-STACK: {{#0 .* in main.*chained_origin.cc:}}[[@LINE-27]]
+// CHECK-STACK: {{#0 .* in main.*chained_origin.cpp:}}[[@LINE-27]]
// CHECK-HEAP: Uninitialized value was created by a heap allocation
-// CHECK-HEAP: {{#1 .* in main.*chained_origin.cc:}}[[@LINE-28]]
+// CHECK-HEAP: {{#1 .* in main.*chained_origin.cpp:}}[[@LINE-28]]
Removed: compiler-rt/trunk/test/msan/chained_origin_empty_stack.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin_empty_stack.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/chained_origin_empty_stack.cc (original)
+++ compiler-rt/trunk/test/msan/chained_origin_empty_stack.cc (removed)
@@ -1,34 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O3 %s -o %t && \
-// RUN: MSAN_OPTIONS=store_context_size=1 not %run %t 2>&1 | FileCheck %s
-
-// Test that stack trace for the intermediate store is not empty.
-
-// CHECK: MemorySanitizer: use-of-uninitialized-value
-// CHECK: #0 {{.*}} in main
-
-// CHECK: Uninitialized value was stored to memory at
-// CHECK: #0 {{.*}} in fn_g
-// CHECK-NOT: #1
-
-// CHECK: Uninitialized value was created by an allocation of 'z' in the stack frame of function 'main'
-// CHECK: #0 {{.*}} in main
-
-#include <stdio.h>
-
-volatile int x;
-
-__attribute__((noinline))
-void fn_g(int a) {
- x = a;
-}
-
-__attribute__((noinline))
-void fn_f(int a) {
- fn_g(a);
-}
-
-int main(int argc, char *argv[]) {
- int volatile z;
- fn_f(z);
- return x;
-}
Copied: compiler-rt/trunk/test/msan/chained_origin_empty_stack.cpp (from r367652, compiler-rt/trunk/test/msan/chained_origin_empty_stack.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin_empty_stack.cpp?p2=compiler-rt/trunk/test/msan/chained_origin_empty_stack.cpp&p1=compiler-rt/trunk/test/msan/chained_origin_empty_stack.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/chained_origin_limits.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin_limits.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/chained_origin_limits.cc (original)
+++ compiler-rt/trunk/test/msan/chained_origin_limits.cc (removed)
@@ -1,186 +0,0 @@
-// This test program creates a very large number of unique histories.
-
-// Heap origin.
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O3 %s -o %t
-
-// RUN: MSAN_OPTIONS=origin_history_size=7 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK7 < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_size=2 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK2 < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_per_stack_limit=1 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-PER-STACK --check-prefix=CHECK-%short-stack < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_size=7,origin_history_per_stack_limit=0 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK7 < %t.out
-
-// Stack origin.
-// RUN: %clangxx_msan -DSTACK -fsanitize-memory-track-origins=2 -O3 %s -o %t
-
-// RUN: MSAN_OPTIONS=origin_history_size=7 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK7 < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_size=2 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK2 < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_per_stack_limit=1 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-PER-STACK --check-prefix=CHECK-%short-stack < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_size=7,origin_history_per_stack_limit=0 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK7 < %t.out
-
-
-// Heap origin, with calls.
-// RUN: %clangxx_msan -mllvm -msan-instrumentation-with-call-threshold=0 -fsanitize-memory-track-origins=2 -O3 %s -o %t
-
-// RUN: MSAN_OPTIONS=origin_history_size=7 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK7 < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_size=2 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK2 < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_per_stack_limit=1 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-PER-STACK --check-prefix=CHECK-%short-stack < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_size=7,origin_history_per_stack_limit=0 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK7 < %t.out
-
-
-// Stack origin, with calls.
-// RUN: %clangxx_msan -DSTACK -mllvm -msan-instrumentation-with-call-threshold=0 -fsanitize-memory-track-origins=2 -O3 %s -o %t
-
-// RUN: MSAN_OPTIONS=origin_history_size=7 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK7 < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_size=2 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK2 < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_per_stack_limit=1 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-PER-STACK --check-prefix=CHECK-%short-stack < %t.out
-
-// RUN: MSAN_OPTIONS=origin_history_size=7,origin_history_per_stack_limit=0 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK7 < %t.out
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-static char *buf, *cur, *end;
-void init() {
- buf = new char[1000];
-#ifdef STACK
- char stackbuf[1000];
- char *volatile p = stackbuf;
- memcpy(buf, p, 1000);
-#endif
- cur = buf;
- end = buf + 1000;
-}
-
-void line_flush() {
- char *p;
- for (p = cur - 1; p >= buf; --p)
- if (*p == '\n')
- break;
- if (p >= buf) {
- size_t write_sz = p - buf + 1;
- // write(2, buf, write_sz);
- memmove(buf, p + 1, end - p - 1);
- cur -= write_sz;
- }
-}
-
-void buffered_write(const char *p, size_t sz) {
- while (sz > 0) {
- size_t copy_sz = end - cur;
- if (sz < copy_sz) copy_sz = sz;
- memcpy(cur, p, copy_sz);
- cur += copy_sz;
- sz -= copy_sz;
- line_flush();
- }
-}
-
-void fn1() {
- buffered_write("a\n", 2);
-}
-
-void fn2() {
- buffered_write("a\n", 2);
-}
-
-void fn3() {
- buffered_write("a\n", 2);
-}
-
-int main(void) {
- init();
- for (int i = 0; i < 2000; ++i) {
- fn1();
- fn2();
- fn3();
- }
- return buf[50];
-}
-
-// CHECK7: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK7-NOT: Uninitialized value was stored to memory at
-// CHECK7: Uninitialized value was stored to memory at
-// CHECK7-NOT: Uninitialized value was stored to memory at
-// CHECK7: Uninitialized value was stored to memory at
-// CHECK7-NOT: Uninitialized value was stored to memory at
-// CHECK7: Uninitialized value was stored to memory at
-// CHECK7-NOT: Uninitialized value was stored to memory at
-// CHECK7: Uninitialized value was stored to memory at
-// CHECK7-NOT: Uninitialized value was stored to memory at
-// CHECK7: Uninitialized value was stored to memory at
-// CHECK7-NOT: Uninitialized value was stored to memory at
-// CHECK7: Uninitialized value was stored to memory at
-// CHECK7-NOT: Uninitialized value was stored to memory at
-// CHECK7: Uninitialized value was created
-
-// CHECK2: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK2-NOT: Uninitialized value was stored to memory at
-// CHECK2: Uninitialized value was stored to memory at
-// CHECK2-NOT: Uninitialized value was stored to memory at
-// CHECK2: Uninitialized value was created
-
-// For architectures with short stack all the stacks in the chain are same
-// because the stack trace does not contain frames upto the functions fn1, fn2,
-// fn3 from where the uninitialized stores actually originate. Since we report
-// uninitialized value store once for each stack frame
-// (origin_history_per_stack_limit = 1) we expect only one instance of
-// "Uninitialized value was stored to memory at".
-
-// CHECK-PER-STACK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK-PER-STACK: Uninitialized value was stored to memory at
-// CHECK-SHORT-STACK: in __msan_memmove
-// CHECK-FULL-STACK: in fn3
-// CHECK-FULL-STACK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: in fn2
-// CHECK-FULL-STACK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: in fn1
-// CHECK-PER-STACK: Uninitialized value was created
-
-// CHECK-UNLIMITED: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was stored to memory at
-// CHECK-UNLIMITED: Uninitialized value was created
Copied: compiler-rt/trunk/test/msan/chained_origin_limits.cpp (from r367652, compiler-rt/trunk/test/msan/chained_origin_limits.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin_limits.cpp?p2=compiler-rt/trunk/test/msan/chained_origin_limits.cpp&p1=compiler-rt/trunk/test/msan/chained_origin_limits.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/chained_origin_memcpy.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin_memcpy.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/chained_origin_memcpy.cc (original)
+++ compiler-rt/trunk/test/msan/chained_origin_memcpy.cc (removed)
@@ -1,62 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -DOFFSET=0 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-Z1 --check-prefix=CHECK-%short-stack < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -DOFFSET=10 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-Z2 --check-prefix=CHECK-%short-stack < %t.out
-
-
-// RUN: %clangxx_msan -mllvm -msan-instrumentation-with-call-threshold=0 -fsanitize-memory-track-origins=2 -DOFFSET=0 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-Z1 --check-prefix=CHECK-%short-stack < %t.out
-
-// RUN: %clangxx_msan -mllvm -msan-instrumentation-with-call-threshold=0 -fsanitize-memory-track-origins=2 -DOFFSET=10 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-Z2 --check-prefix=CHECK-%short-stack < %t.out
-
-#include <stdio.h>
-#include <string.h>
-
-int xx[10000];
-int yy[10000];
-volatile int idx = 30;
-
-__attribute__((noinline))
-void fn_g(int a, int b) {
- xx[idx] = a; xx[idx + 10] = b;
-}
-
-__attribute__((noinline))
-void fn_f(int a, int b) {
- fn_g(a, b);
-}
-
-__attribute__((noinline))
-void fn_h() {
- memcpy(&yy, &xx, sizeof(xx));
-}
-
-int main(int argc, char *argv[]) {
- int volatile z1;
- int volatile z2;
- fn_f(z1, z2);
- fn_h();
- return yy[idx + OFFSET];
-}
-
-// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: {{#0 .* in main .*chained_origin_memcpy.cc:}}[[@LINE-4]]
-
-// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#1 .* in fn_h.*chained_origin_memcpy.cc:}}[[@LINE-15]]
-// CHECK-SHORT-STACK: {{#0 .* in __msan_memcpy.*msan_interceptors.cpp:}}
-
-// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#0 .* in fn_g.*chained_origin_memcpy.cc:}}[[@LINE-29]]
-// CHECK-FULL-STACK: {{#1 .* in fn_f.*chained_origin_memcpy.cc:}}[[@LINE-25]]
-// CHECK-SHORT-STACK: {{#0 .* in fn_g.*chained_origin_memcpy.cc:}}[[@LINE-31]]
-
-// CHECK-Z1: Uninitialized value was created by an allocation of 'z1' in the stack frame of function 'main'
-// CHECK-Z2: Uninitialized value was created by an allocation of 'z2' in the stack frame of function 'main'
-// CHECK: {{#0 .* in main.*chained_origin_memcpy.cc:}}[[@LINE-22]]
Copied: compiler-rt/trunk/test/msan/chained_origin_memcpy.cpp (from r367652, compiler-rt/trunk/test/msan/chained_origin_memcpy.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin_memcpy.cpp?p2=compiler-rt/trunk/test/msan/chained_origin_memcpy.cpp&p1=compiler-rt/trunk/test/msan/chained_origin_memcpy.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/chained_origin_memcpy.cc (original)
+++ compiler-rt/trunk/test/msan/chained_origin_memcpy.cpp Thu Aug 1 23:07:05 2019
@@ -46,17 +46,17 @@ int main(int argc, char *argv[]) {
}
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: {{#0 .* in main .*chained_origin_memcpy.cc:}}[[@LINE-4]]
+// CHECK: {{#0 .* in main .*chained_origin_memcpy.cpp:}}[[@LINE-4]]
// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#1 .* in fn_h.*chained_origin_memcpy.cc:}}[[@LINE-15]]
+// CHECK-FULL-STACK: {{#1 .* in fn_h.*chained_origin_memcpy.cpp:}}[[@LINE-15]]
// CHECK-SHORT-STACK: {{#0 .* in __msan_memcpy.*msan_interceptors.cpp:}}
// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#0 .* in fn_g.*chained_origin_memcpy.cc:}}[[@LINE-29]]
-// CHECK-FULL-STACK: {{#1 .* in fn_f.*chained_origin_memcpy.cc:}}[[@LINE-25]]
-// CHECK-SHORT-STACK: {{#0 .* in fn_g.*chained_origin_memcpy.cc:}}[[@LINE-31]]
+// CHECK-FULL-STACK: {{#0 .* in fn_g.*chained_origin_memcpy.cpp:}}[[@LINE-29]]
+// CHECK-FULL-STACK: {{#1 .* in fn_f.*chained_origin_memcpy.cpp:}}[[@LINE-25]]
+// CHECK-SHORT-STACK: {{#0 .* in fn_g.*chained_origin_memcpy.cpp:}}[[@LINE-31]]
// CHECK-Z1: Uninitialized value was created by an allocation of 'z1' in the stack frame of function 'main'
// CHECK-Z2: Uninitialized value was created by an allocation of 'z2' in the stack frame of function 'main'
-// CHECK: {{#0 .* in main.*chained_origin_memcpy.cc:}}[[@LINE-22]]
+// CHECK: {{#0 .* in main.*chained_origin_memcpy.cpp:}}[[@LINE-22]]
Removed: compiler-rt/trunk/test/msan/chained_origin_with_signals.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin_with_signals.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/chained_origin_with_signals.cc (original)
+++ compiler-rt/trunk/test/msan/chained_origin_with_signals.cc (removed)
@@ -1,39 +0,0 @@
-// Check that stores in signal handlers are not recorded in origin history.
-// This is, in fact, undesired behavior caused by our chained origins
-// implementation being not async-signal-safe.
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -mllvm -msan-instrumentation-with-call-threshold=0 -fsanitize-memory-track-origins=2 -O3 %s -o %t && \
-// RUN: not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// Reported deadly signal due to stack-overflow
-// XFAIL: netbsd
-
-#include <signal.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-volatile int x, y;
-
-void SignalHandler(int signo) {
- y = x;
-}
-
-int main(int argc, char *argv[]) {
- int volatile z;
- x = z;
-
- signal(SIGHUP, SignalHandler);
- kill(getpid(), SIGHUP);
- signal(SIGHUP, SIG_DFL);
-
- return y;
-}
-
-// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK-NOT: in SignalHandler
Copied: compiler-rt/trunk/test/msan/chained_origin_with_signals.cpp (from r367652, compiler-rt/trunk/test/msan/chained_origin_with_signals.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/chained_origin_with_signals.cpp?p2=compiler-rt/trunk/test/msan/chained_origin_with_signals.cpp&p1=compiler-rt/trunk/test/msan/chained_origin_with_signals.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/check-handler.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/check-handler.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/check-handler.cc (original)
+++ compiler-rt/trunk/test/msan/check-handler.cc (removed)
@@ -1,16 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-// Verify that CHECK handler prints a stack on CHECK fail.
-
-#include <stdlib.h>
-
-int main(void) {
- // Allocate chunk from the secondary allocator to trigger CHECK(IsALigned())
- // in its free() path.
- void *p = malloc(8 << 20);
- free(reinterpret_cast<char*>(p) + 1);
- // CHECK: MemorySanitizer: bad pointer
- // CHECK: MemorySanitizer CHECK failed
- // CHECK: #0
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/check-handler.cpp (from r367652, compiler-rt/trunk/test/msan/check-handler.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/check-handler.cpp?p2=compiler-rt/trunk/test/msan/check-handler.cpp&p1=compiler-rt/trunk/test/msan/check-handler.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/check_mem_is_initialized.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/check_mem_is_initialized.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/check_mem_is_initialized.cc (original)
+++ compiler-rt/trunk/test/msan/check_mem_is_initialized.cc (removed)
@@ -1,33 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-
-#include <sanitizer/msan_interface.h>
-#include <stdlib.h>
-
-int main(int argc, char **argv) {
- int *volatile p = (int *)malloc(sizeof(int));
-
- __msan_check_mem_is_initialized(p, sizeof(*p));
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*check_mem_is_initialized.cc:}}[[@LINE-2]]
-
- // CHECK-ORIGINS: Uninitialized value was created by a heap allocation
- // CHECK-ORIGINS: {{#0 0x.* in .*malloc}}
- // CHECK-ORIGINS: {{#1 0x.* in main .*check_mem_is_initialized.cc:}}[[@LINE-8]]
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/check_mem_is_initialized.cpp (from r367652, compiler-rt/trunk/test/msan/check_mem_is_initialized.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/check_mem_is_initialized.cpp?p2=compiler-rt/trunk/test/msan/check_mem_is_initialized.cpp&p1=compiler-rt/trunk/test/msan/check_mem_is_initialized.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/check_mem_is_initialized.cc (original)
+++ compiler-rt/trunk/test/msan/check_mem_is_initialized.cpp Thu Aug 1 23:07:05 2019
@@ -24,10 +24,10 @@ int main(int argc, char **argv) {
__msan_check_mem_is_initialized(p, sizeof(*p));
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*check_mem_is_initialized.cc:}}[[@LINE-2]]
+ // CHECK: {{#0 0x.* in main .*check_mem_is_initialized.cpp:}}[[@LINE-2]]
// CHECK-ORIGINS: Uninitialized value was created by a heap allocation
// CHECK-ORIGINS: {{#0 0x.* in .*malloc}}
- // CHECK-ORIGINS: {{#1 0x.* in main .*check_mem_is_initialized.cc:}}[[@LINE-8]]
+ // CHECK-ORIGINS: {{#1 0x.* in main .*check_mem_is_initialized.cpp:}}[[@LINE-8]]
return 0;
}
Removed: compiler-rt/trunk/test/msan/coverage-levels.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/coverage-levels.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/coverage-levels.cc (original)
+++ compiler-rt/trunk/test/msan/coverage-levels.cc (removed)
@@ -1,28 +0,0 @@
-// Test various levels of coverage
-//
-// RUN: %clangxx_msan -DINIT_VAR=1 -O1 -fsanitize-coverage=func %s -o %t
-// RUN: mkdir -p %t-dir
-// RUN: MSAN_OPTIONS=coverage=1:verbosity=1:coverage_dir=%t-dir %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 --check-prefix=CHECK_NOWARN
-// RUN: %clangxx_msan -O1 -fsanitize-coverage=func %s -o %t
-// RUN: MSAN_OPTIONS=coverage=1:verbosity=1:coverage_dir=%t-dir not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 --check-prefix=CHECK_WARN
-// RUN: %clangxx_msan -O1 -fsanitize-coverage=bb %s -o %t
-// RUN: MSAN_OPTIONS=coverage=1:verbosity=1:coverage_dir=%t-dir not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK2 --check-prefix=CHECK_WARN
-// RUN: %clangxx_msan -O1 -fsanitize-coverage=edge %s -o %t
-// RUN: MSAN_OPTIONS=coverage=1:verbosity=1:coverage_dir=%t-dir not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK3 --check-prefix=CHECK_WARN
-
-volatile int sink;
-int main(int argc, char **argv) {
- int var;
-#if INIT_VAR
- var = 0;
-#endif
- if (argc == 0)
- sink = 0;
- return *(volatile int*)&var;
-}
-
-// CHECK_WARN: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK_NOWARN-NOT: ERROR
-// CHECK1: 1 PCs written
-// CHECK2: 1 PCs written
-// CHECK3: 2 PCs written
Copied: compiler-rt/trunk/test/msan/coverage-levels.cpp (from r367652, compiler-rt/trunk/test/msan/coverage-levels.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/coverage-levels.cpp?p2=compiler-rt/trunk/test/msan/coverage-levels.cpp&p1=compiler-rt/trunk/test/msan/coverage-levels.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/ctermid.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ctermid.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/ctermid.cc (original)
+++ compiler-rt/trunk/test/msan/ctermid.cc (removed)
@@ -1,13 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 %s -o %t && %run %t
-
-#include <sanitizer/msan_interface.h>
-#include <stdio.h>
-#include <string.h>
-
-int main(void) {
- unsigned char s[L_ctermid + 1];
- char *res = ctermid((char *)s);
- if (res)
- printf("%zd\n", strlen(res));
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/ctermid.cpp (from r367652, compiler-rt/trunk/test/msan/ctermid.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ctermid.cpp?p2=compiler-rt/trunk/test/msan/ctermid.cpp&p1=compiler-rt/trunk/test/msan/ctermid.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/cxa_atexit.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/cxa_atexit.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/cxa_atexit.cc (original)
+++ compiler-rt/trunk/test/msan/cxa_atexit.cc (removed)
@@ -1,28 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p
-
-// PR17377: C++ module destructors get stale argument shadow.
-
-#include <stdio.h>
-#include <stdlib.h>
-class A {
-public:
- // This destructor get stale argument shadow left from the call to f().
- ~A() {
- if (this)
- exit(0);
- }
-};
-
-A a;
-
-__attribute__((noinline))
-void f(long x) {
-}
-
-int main(void) {
- long x;
- long * volatile p = &x;
- // This call poisons TLS shadow for the first function argument.
- f(*p);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/cxa_atexit.cpp (from r367652, compiler-rt/trunk/test/msan/cxa_atexit.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/cxa_atexit.cpp?p2=compiler-rt/trunk/test/msan/cxa_atexit.cpp&p1=compiler-rt/trunk/test/msan/cxa_atexit.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/death-callback.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/death-callback.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/death-callback.cc (original)
+++ compiler-rt/trunk/test/msan/death-callback.cc (removed)
@@ -1,39 +0,0 @@
-// RUN: %clangxx_msan -DERROR %s -o %t && not %run %t 2>&1 | \
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NOCB
-// RUN: %clangxx_msan -DERROR -DMSANCB_SET %s -o %t && not %run %t 2>&1 | \
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-CB
-// RUN: %clangxx_msan -DERROR -DMSANCB_SET -DMSANCB_CLEAR %s -o %t && not %run %t 2>&1 | \
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NOCB
-// RUN: %clangxx_msan -DMSANCB_SET %s -o %t && %run %t 2>&1 | \
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NOCB
-
-#include <sanitizer/msan_interface.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-void cb(void) {
- fprintf(stderr, "msan-death-callback\n");
-}
-
-int main(int argc, char **argv) {
- int *volatile p = (int *)malloc(sizeof(int));
- *p = 42;
- free(p);
-
-#ifdef MSANCB_SET
- __msan_set_death_callback(cb);
-#endif
-
-#ifdef MSANCB_CLEAR
- __msan_set_death_callback(0);
-#endif
-
-#ifdef ERROR
- if (*p)
- exit(0);
-#endif
- // CHECK-CB: msan-death-callback
- // CHECK-NOCB-NOT: msan-death-callback
- fprintf(stderr, "done\n");
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/death-callback.cpp (from r367652, compiler-rt/trunk/test/msan/death-callback.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/death-callback.cpp?p2=compiler-rt/trunk/test/msan/death-callback.cpp&p1=compiler-rt/trunk/test/msan/death-callback.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/default_blacklist.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/default_blacklist.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/default_blacklist.cc (original)
+++ compiler-rt/trunk/test/msan/default_blacklist.cc (removed)
@@ -1,3 +0,0 @@
-// Test that MSan uses the default blacklist from resource directory.
-// RUN: %clangxx_msan -### %s 2>&1 | FileCheck %s
-// CHECK: fsanitize-blacklist={{.*}}msan_blacklist.txt
Copied: compiler-rt/trunk/test/msan/default_blacklist.cpp (from r367652, compiler-rt/trunk/test/msan/default_blacklist.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/default_blacklist.cpp?p2=compiler-rt/trunk/test/msan/default_blacklist.cpp&p1=compiler-rt/trunk/test/msan/default_blacklist.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dlerror.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dlerror.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dlerror.cc (original)
+++ compiler-rt/trunk/test/msan/dlerror.cc (removed)
@@ -1,14 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <stdio.h>
-#include <string.h>
-
-int main(void) {
- void *p = dlopen("/bad/file/name", RTLD_NOW);
- assert(!p);
- char *s = dlerror();
- printf("%s, %zu\n", s, strlen(s));
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dlerror.cpp (from r367652, compiler-rt/trunk/test/msan/dlerror.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dlerror.cpp?p2=compiler-rt/trunk/test/msan/dlerror.cpp&p1=compiler-rt/trunk/test/msan/dlerror.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dlopen_executable.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dlopen_executable.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dlopen_executable.cc (original)
+++ compiler-rt/trunk/test/msan/dlopen_executable.cc (removed)
@@ -1,17 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <stdlib.h>
-
-static int my_global;
-
-int main(void) {
- int *uninit = (int*)malloc(sizeof(int));
- my_global = *uninit;
- void *p = dlopen(0, RTLD_NOW);
- assert(p && "failed to get handle to executable");
- return my_global;
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 {{.*}} in main{{.*}}dlopen_executable.cc:[[@LINE-2]]
-}
Copied: compiler-rt/trunk/test/msan/dlopen_executable.cpp (from r367652, compiler-rt/trunk/test/msan/dlopen_executable.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dlopen_executable.cpp?p2=compiler-rt/trunk/test/msan/dlopen_executable.cpp&p1=compiler-rt/trunk/test/msan/dlopen_executable.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/dlopen_executable.cc (original)
+++ compiler-rt/trunk/test/msan/dlopen_executable.cpp Thu Aug 1 23:07:05 2019
@@ -13,5 +13,5 @@ int main(void) {
assert(p && "failed to get handle to executable");
return my_global;
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 {{.*}} in main{{.*}}dlopen_executable.cc:[[@LINE-2]]
+ // CHECK: #0 {{.*}} in main{{.*}}dlopen_executable.cpp:[[@LINE-2]]
}
Removed: compiler-rt/trunk/test/msan/dso-origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dso-origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dso-origin.cc (original)
+++ compiler-rt/trunk/test/msan/dso-origin.cc (removed)
@@ -1,48 +0,0 @@
-// Build a library with origin tracking and an executable w/o origin tracking.
-// Test that origin tracking is enabled at runtime.
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -DBUILD_SO -fPIC -shared -o %t-so.so
-// RUN: %clangxx_msan -O0 %s %t-so.so -o %t && not %run %t 2>&1 | FileCheck %s
-
-#ifdef BUILD_SO
-
-#include <stdlib.h>
-
-extern "C" {
-void my_access(int *p) {
- volatile int tmp;
- // Force initialize-ness check.
- if (*p)
- tmp = 1;
-}
-
-void *my_alloc(unsigned sz) {
- return malloc(sz);
-}
-} // extern "C"
-
-#else // BUILD_SO
-
-#include <stdlib.h>
-
-extern "C" {
-void my_access(int *p);
-void *my_alloc(unsigned sz);
-}
-
-int main(int argc, char **argv) {
- int *x = (int *)my_alloc(sizeof(int));
- my_access(x);
- delete x;
-
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in my_access .*dso-origin.cc:}}
- // CHECK: {{#1 0x.* in main .*dso-origin.cc:}}[[@LINE-5]]
- // CHECK: Uninitialized value was created by a heap allocation
- // CHECK: {{#0 0x.* in .*malloc}}
- // CHECK: {{#1 0x.* in my_alloc .*dso-origin.cc:}}
- // CHECK: {{#2 0x.* in main .*dso-origin.cc:}}[[@LINE-10]]
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*dso-origin.cc:.* my_access}}
- return 0;
-}
-
-#endif // BUILD_SO
Copied: compiler-rt/trunk/test/msan/dso-origin.cpp (from r367652, compiler-rt/trunk/test/msan/dso-origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dso-origin.cpp?p2=compiler-rt/trunk/test/msan/dso-origin.cpp&p1=compiler-rt/trunk/test/msan/dso-origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/dso-origin.cc (original)
+++ compiler-rt/trunk/test/msan/dso-origin.cpp Thu Aug 1 23:07:05 2019
@@ -35,13 +35,13 @@ int main(int argc, char **argv) {
delete x;
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in my_access .*dso-origin.cc:}}
- // CHECK: {{#1 0x.* in main .*dso-origin.cc:}}[[@LINE-5]]
+ // CHECK: {{#0 0x.* in my_access .*dso-origin.cpp:}}
+ // CHECK: {{#1 0x.* in main .*dso-origin.cpp:}}[[@LINE-5]]
// CHECK: Uninitialized value was created by a heap allocation
// CHECK: {{#0 0x.* in .*malloc}}
- // CHECK: {{#1 0x.* in my_alloc .*dso-origin.cc:}}
- // CHECK: {{#2 0x.* in main .*dso-origin.cc:}}[[@LINE-10]]
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*dso-origin.cc:.* my_access}}
+ // CHECK: {{#1 0x.* in my_alloc .*dso-origin.cpp:}}
+ // CHECK: {{#2 0x.* in main .*dso-origin.cpp:}}[[@LINE-10]]
+ // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*dso-origin.cpp:.* my_access}}
return 0;
}
Removed: compiler-rt/trunk/test/msan/dtor-base-access.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-base-access.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-base-access.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-base-access.cc (removed)
@@ -1,49 +0,0 @@
-// RUN: %clangxx_msan %s -O0 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-
-class Base {
- public:
- int *x_ptr;
- Base(int *y_ptr) {
- // store value of subclass member
- x_ptr = y_ptr;
- }
- virtual ~Base();
-};
-
-class Derived : public Base {
- public:
- int y;
- Derived():Base(&y) {
- y = 10;
- }
- ~Derived();
-};
-
-Base::~Base() {
- // ok access its own member
- assert(__msan_test_shadow(&this->x_ptr, sizeof(this->x_ptr)) == -1);
- // bad access subclass member
- assert(__msan_test_shadow(this->x_ptr, sizeof(*this->x_ptr)) != -1);
-}
-
-Derived::~Derived() {
- // ok to access its own members
- assert(__msan_test_shadow(&this->y, sizeof(this->y)) == -1);
- // ok access base class members
- assert(__msan_test_shadow(&this->x_ptr, sizeof(this->x_ptr)) == -1);
-}
-
-int main() {
- Derived *d = new Derived();
- assert(__msan_test_shadow(&d->x_ptr, sizeof(d->x_ptr)) == -1);
- d->~Derived();
- assert(__msan_test_shadow(&d->x_ptr, sizeof(d->x_ptr)) != -1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dtor-base-access.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-base-access.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-base-access.cpp?p2=compiler-rt/trunk/test/msan/dtor-base-access.cpp&p1=compiler-rt/trunk/test/msan/dtor-base-access.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dtor-bit-fields.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-bit-fields.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-bit-fields.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-bit-fields.cc (removed)
@@ -1,70 +0,0 @@
-// RUN: %clangxx_msan %s -O0 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-
-// TODO: remove empty dtors when msan use-after-dtor poisons
-// for trivial classes with undeclared dtors
-
-// 24 bytes total
-struct Packed {
- // Packed into 4 bytes
- unsigned int a : 1;
- unsigned int b : 1;
- // Force alignment to next 4 bytes
- unsigned int : 0;
- unsigned int c : 1;
- // Force alignment, 8 more bytes
- double d = 5.0;
- // 4 bytes
- unsigned int e : 1;
- ~Packed() {}
-};
-
-// 1 byte total
-struct Empty {
- unsigned int : 0;
- ~Empty() {}
-};
-
-// 4 byte total
-struct Simple {
- unsigned int a : 1;
- ~Simple() {}
-};
-
-struct Anon {
- unsigned int a : 1;
- unsigned int b : 2;
- unsigned int : 0;
- unsigned int c : 1;
- ~Anon() {}
-};
-
-int main() {
- Packed *p = new Packed();
- p->~Packed();
- for (int i = 0; i < 4; i++)
- assert(__msan_test_shadow(((char*)p) + i, sizeof(char)) != -1);
- assert(__msan_test_shadow(&p->d, sizeof(double)) != -1);
- assert(__msan_test_shadow(((char*)(&p->d)) + sizeof(double), sizeof(char)) !=
- -1);
-
- Empty *e = new Empty();
- e->~Empty();
- assert(__msan_test_shadow(e, sizeof(*e)) != -1);
-
- Simple *s = new Simple();
- s->~Simple();
- assert(__msan_test_shadow(s, sizeof(*s)) != -1);
-
- Anon *a = new Anon();
- a->~Anon();
- assert(__msan_test_shadow(a, sizeof(*a)) != -1);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dtor-bit-fields.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-bit-fields.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-bit-fields.cpp?p2=compiler-rt/trunk/test/msan/dtor-bit-fields.cpp&p1=compiler-rt/trunk/test/msan/dtor-bit-fields.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dtor-derived-class.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-derived-class.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-derived-class.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-derived-class.cc (removed)
@@ -1,39 +0,0 @@
-// RUN: %clangxx_msan %s -O0 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-
-struct Base {
- int x;
- Base() { x = 5; }
- virtual ~Base() {}
-};
-
-struct Derived : public Base {
- int y;
- Derived() { y = 10; }
- ~Derived() {}
-};
-
-int main() {
- Derived *d = new Derived();
- d->~Derived();
-
- // Verify that local pointer is unpoisoned, and that the object's
- // members are.
- assert(__msan_test_shadow(&d, sizeof(d)) == -1);
- assert(__msan_test_shadow(&d->x, sizeof(d->x)) != -1);
- assert(__msan_test_shadow(&d->y, sizeof(d->y)) != -1);
-
- Base *b = new Derived();
- b->~Base();
-
- // Verify that local pointer is unpoisoned, and that the object's
- // members are.
- assert(__msan_test_shadow(&b, sizeof(b)) == -1);
- assert(__msan_test_shadow(&b->x, sizeof(b->x)) != -1);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dtor-derived-class.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-derived-class.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-derived-class.cpp?p2=compiler-rt/trunk/test/msan/dtor-derived-class.cpp&p1=compiler-rt/trunk/test/msan/dtor-derived-class.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dtor-member.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-member.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-member.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-member.cc (removed)
@@ -1,48 +0,0 @@
-// RUN: %clangxx_msan %s -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan %s -fsanitize=memory -fno-sanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-NO-FLAG < %t.out
-
-// RUN: %clangxx_msan -fsanitize=memory -fsanitize-memory-use-after-dtor %s -o %t && MSAN_OPTIONS=poison_in_dtor=0 %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-NO-FLAG < %t.out
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-#include <stdio.h>
-#include <new>
-
-struct Simple {
- int x_;
- Simple() {
- x_ = 5;
- }
- ~Simple() { }
-};
-
-int main() {
- unsigned long buf[1];
- assert(sizeof(Simple) <= sizeof(buf));
-
- // The placement new operator forces the object to be constructed in the
- // memory location &buf. Since objects made in this way must be explicitly
- // destroyed, there are no implicit calls inserted that would interfere with
- // test behavior.
- Simple *s = new(&buf) Simple();
- s->~Simple();
-
- if (__msan_test_shadow(s, sizeof(*s)) != -1)
- printf("s is poisoned\n");
- else
- printf("s is not poisoned\n");
- // CHECK: s is poisoned
- // CHECK-NO-FLAG: s is not poisoned
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dtor-member.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-member.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-member.cpp?p2=compiler-rt/trunk/test/msan/dtor-member.cpp&p1=compiler-rt/trunk/test/msan/dtor-member.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cc (removed)
@@ -1,152 +0,0 @@
-// RUN: %clangxx_msan %s -O0 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-
-template <class T> class Vector {
-public:
- int size;
- ~Vector() {
- assert(__msan_test_shadow(&this->size, sizeof(this->size)) == -1);
- }
-};
-
-struct VirtualBase {
-public:
- Vector<int> virtual_v;
- int virtual_a;
- // Pointer to subclass member
- int *intermediate_a_ptr;
-
- VirtualBase() {
- virtual_v.size = 1;
- virtual_a = 9;
- }
- void set_ptr(int *intermediate_a) {
- this->intermediate_a_ptr = intermediate_a;
- }
- virtual ~VirtualBase() {
- assert(__msan_test_shadow(&virtual_v, sizeof(virtual_v)) == -1);
- assert(__msan_test_shadow(&virtual_a, sizeof(virtual_a)) == -1);
- // Derived class member is poisoned
- assert(__msan_test_shadow(intermediate_a_ptr,
- sizeof(*intermediate_a_ptr)) != -1);
- }
-};
-
-struct Intermediate : virtual public VirtualBase {
-public:
- int intermediate_a;
-
- Intermediate() { intermediate_a = 5; }
- virtual ~Intermediate() {
- assert(__msan_test_shadow(&this->intermediate_a,
- sizeof(this->intermediate_a)) == -1);
- // Members inherited from VirtualBase unpoisoned
- assert(__msan_test_shadow(&virtual_v, sizeof(virtual_v)) == -1);
- assert(__msan_test_shadow(&virtual_a, sizeof(virtual_a)) == -1);
- assert(__msan_test_shadow(intermediate_a_ptr,
- sizeof(*intermediate_a_ptr)) == -1);
- }
-};
-
-struct Base {
- int base_a;
- Vector<int> base_v;
- double base_b;
- // Pointers to subclass members
- int *derived_a_ptr;
- Vector<int> *derived_v1_ptr;
- Vector<int> *derived_v2_ptr;
- double *derived_b_ptr;
- double *derived_c_ptr;
-
- Base(int *derived_a, Vector<int> *derived_v1, Vector<int> *derived_v2,
- double *derived_b, double *derived_c) {
- base_a = 2;
- base_v.size = 1;
- base_b = 13.2324;
- derived_a_ptr = derived_a;
- derived_v1_ptr = derived_v1;
- derived_v2_ptr = derived_v2;
- derived_b_ptr = derived_b;
- derived_c_ptr = derived_c;
- }
- virtual ~Base() {
- assert(__msan_test_shadow(&base_a, sizeof(base_a)) == -1);
- assert(__msan_test_shadow(&base_v, sizeof(base_v)) == -1);
- assert(__msan_test_shadow(&base_b, sizeof(base_b)) == -1);
- // Derived class members are poisoned
- assert(__msan_test_shadow(derived_a_ptr, sizeof(*derived_a_ptr)) != -1);
- assert(__msan_test_shadow(derived_v1_ptr, sizeof(*derived_v1_ptr)) != -1);
- assert(__msan_test_shadow(derived_v2_ptr, sizeof(*derived_v2_ptr)) != -1);
- assert(__msan_test_shadow(derived_b_ptr, sizeof(*derived_b_ptr)) != -1);
- assert(__msan_test_shadow(derived_c_ptr, sizeof(*derived_c_ptr)) != -1);
- }
-};
-
-struct Derived : public Base, public Intermediate {
- int derived_a;
- Vector<int> derived_v1;
- Vector<int> derived_v2;
- double derived_b;
- double derived_c;
-
- Derived()
- : Base(&derived_a, &derived_v1, &derived_v2, &derived_b, &derived_c) {
- derived_a = 5;
- derived_v1.size = 1;
- derived_v2.size = 1;
- derived_b = 7;
- derived_c = 10;
- }
- ~Derived() {
- assert(__msan_test_shadow(&derived_a, sizeof(derived_a)) == -1);
- assert(__msan_test_shadow(&derived_v1, sizeof(derived_v1)) == -1);
- assert(__msan_test_shadow(&derived_v2, sizeof(derived_v2)) == -1);
- assert(__msan_test_shadow(&derived_b, sizeof(derived_b)) == -1);
- assert(__msan_test_shadow(&derived_c, sizeof(derived_c)) == -1);
- }
-};
-
-int main() {
- Derived *d = new Derived();
- d->set_ptr(&d->intermediate_a);
-
- // Keep track of members of VirtualBase, since the virtual base table
- // is inaccessible after destruction
- Vector<int> *temp_virtual_v = &d->virtual_v;
- int *temp_virtual_a = &d->virtual_a;
- int **temp_intermediate_a_ptr = &d->intermediate_a_ptr;
-
- d->~Derived();
- assert(__msan_test_shadow(&d->derived_a, sizeof(d->derived_a)) != -1);
- assert(__msan_test_shadow(&d->derived_v1, sizeof(d->derived_v1)) != -1);
- assert(__msan_test_shadow(&d->derived_v2, sizeof(d->derived_v2)) != -1);
- assert(__msan_test_shadow(&d->derived_b, sizeof(d->derived_b)) != -1);
- assert(__msan_test_shadow(&d->derived_c, sizeof(d->derived_c)) != -1);
-
- // Inherited from base
- assert(__msan_test_shadow(&d->base_a, sizeof(d->base_a)) != -1);
- assert(__msan_test_shadow(&d->base_v, sizeof(d->base_v)) != -1);
- assert(__msan_test_shadow(&d->base_b, sizeof(d->base_b)) != -1);
- assert(__msan_test_shadow(&d->derived_a_ptr, sizeof(d->derived_a_ptr)) != -1);
- assert(__msan_test_shadow(&d->derived_v1_ptr, sizeof(d->derived_v1_ptr)) !=
- -1);
- assert(__msan_test_shadow(&d->derived_v2_ptr, sizeof(d->derived_v2_ptr)) !=
- -1);
- assert(__msan_test_shadow(&d->derived_b_ptr, sizeof(d->derived_b_ptr)) != -1);
- assert(__msan_test_shadow(&d->derived_c_ptr, sizeof(d->derived_c_ptr)) != -1);
-
- // Inherited from intermediate
- assert(__msan_test_shadow(temp_virtual_v, sizeof(*temp_virtual_v)) != -1);
- assert(__msan_test_shadow(temp_virtual_a, sizeof(*temp_virtual_a)) != -1);
- assert(__msan_test_shadow(temp_intermediate_a_ptr,
- sizeof(*temp_intermediate_a_ptr)) != -1);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cpp?p2=compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cpp&p1=compiler-rt/trunk/test/msan/dtor-multiple-inheritance-nontrivial-class-members.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cc (removed)
@@ -1,98 +0,0 @@
-// Defines diamond multiple inheritance structure
-// A
-// / \
-// B C
-// \ /
-// Derived
-
-// RUN: %clangxx_msan %s -O0 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-
-int *temp_x;
-int *temp_y;
-int *temp_z;
-int *temp_w;
-
-class A {
-public:
- int x;
- A() { x = 5; }
- virtual ~A() {
- assert(__msan_test_shadow(&this->x, sizeof(this->x) == -1));
- // Memory owned by subclasses is poisoned.
- assert(__msan_test_shadow(temp_y, sizeof(*temp_y)) != -1);
- assert(__msan_test_shadow(temp_z, sizeof(*temp_z)) != -1);
- assert(__msan_test_shadow(temp_w, sizeof(*temp_w)) != -1);
- }
-};
-
-struct B : virtual public A {
-public:
- int y;
- B() { y = 10; }
- virtual ~B() {
- assert(__msan_test_shadow(&this->y, sizeof(this->y)) == -1);
- // Memory accessible via vtable still reachable.
- assert(__msan_test_shadow(&this->x, sizeof(this->x)) == -1);
- // Memory in sibling and subclass is poisoned.
- assert(__msan_test_shadow(temp_z, sizeof(*temp_z)) != -1);
- assert(__msan_test_shadow(temp_w, sizeof(*temp_w)) != -1);
- }
-};
-
-struct C : virtual public A {
-public:
- int z;
- C() { z = 15; }
- virtual ~C() {
- assert(__msan_test_shadow(&this->z, sizeof(this->z)) == -1);
- // Memory accessible via vtable still reachable.
- assert(__msan_test_shadow(&this->x, sizeof(this->x)) == -1);
- // Sibling class is unpoisoned.
- assert(__msan_test_shadow(temp_y, sizeof(*temp_y)) == -1);
- // Memory in subclasses is poisoned.
- assert(__msan_test_shadow(temp_w, sizeof(*temp_w)) != -1);
- }
-};
-
-class Derived : public B, public C {
-public:
- int w;
- Derived() { w = 10; }
- ~Derived() {
- assert(__msan_test_shadow(&this->x, sizeof(this->x)) == -1);
- // Members accessed through the vtable are still accessible.
- assert(__msan_test_shadow(&this->y, sizeof(this->y)) == -1);
- assert(__msan_test_shadow(&this->z, sizeof(this->z)) == -1);
- assert(__msan_test_shadow(&this->w, sizeof(this->w)) == -1);
- }
-};
-
-
-int main() {
- Derived *d = new Derived();
-
- // Keep track of members inherited from virtual bases,
- // since the virtual base table is inaccessible after destruction.
- temp_x = &d->x;
- temp_y = &d->y;
- temp_z = &d->z;
- temp_w = &d->w;
-
- // Order of destruction: Derived, C, B, A
- d->~Derived();
- // Verify that local pointer is unpoisoned, and that the object's
- // members are.
- assert(__msan_test_shadow(&d, sizeof(d)) == -1);
- assert(__msan_test_shadow(temp_x, sizeof(*temp_x)) != -1);
- assert(__msan_test_shadow(temp_y, sizeof(*temp_y)) != -1);
- assert(__msan_test_shadow(temp_z, sizeof(*temp_z)) != -1);
- assert(__msan_test_shadow(temp_w, sizeof(*temp_w)) != -1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cpp?p2=compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cpp&p1=compiler-rt/trunk/test/msan/dtor-multiple-inheritance.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dtor-trivial-class-members.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-trivial-class-members.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-trivial-class-members.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-trivial-class-members.cc (removed)
@@ -1,55 +0,0 @@
-// RUN: %clangxx_msan %s -O0 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t >%t.out 2>&1
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-#include <stdio.h>
-
-template <class T>
-class Vector {
-public:
- int size;
- ~Vector() {
- printf("~V %p %lu\n", &size, sizeof(size));
- assert(__msan_test_shadow(&this->size, sizeof(this->size)) == -1);
- }
-};
-
-struct Derived {
- int derived_a;
- Vector<int> derived_v1;
- Vector<int> derived_v2;
- double derived_b;
- double derived_c;
- Derived() {
- derived_a = 5;
- derived_v1.size = 1;
- derived_v2.size = 1;
- derived_b = 7;
- derived_c = 10;
- }
- ~Derived() {
- printf("~D %p %p %p %lu\n", &derived_a, &derived_v1, &derived_c, sizeof(*this));
- assert(__msan_test_shadow(&derived_a, sizeof(derived_a)) == -1);
- assert(__msan_test_shadow(&derived_v1, sizeof(derived_v1)) == -1);
- assert(__msan_test_shadow(&derived_v2, sizeof(derived_v2)) == -1);
- assert(__msan_test_shadow(&derived_b, sizeof(derived_b)) == -1);
- assert(__msan_test_shadow(&derived_c, sizeof(derived_c)) == -1);
- }
-};
-
-int main() {
- Derived *d = new Derived();
- d->~Derived();
-
- assert(__msan_test_shadow(&d->derived_a, sizeof(d->derived_a)) != -1);
- assert(__msan_test_shadow(&d->derived_v1, sizeof(d->derived_v1)) != -1);
- assert(__msan_test_shadow(&d->derived_v2, sizeof(d->derived_v2)) != -1);
- assert(__msan_test_shadow(&d->derived_b, sizeof(d->derived_b)) != -1);
- assert(__msan_test_shadow(&d->derived_c, sizeof(d->derived_c)) != -1);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dtor-trivial-class-members.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-trivial-class-members.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-trivial-class-members.cpp?p2=compiler-rt/trunk/test/msan/dtor-trivial-class-members.cpp&p1=compiler-rt/trunk/test/msan/dtor-trivial-class-members.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cc (removed)
@@ -1,72 +0,0 @@
-// RUN: %clangxx_msan %s -O0 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-// RUN: %clangxx_msan %s -DCVPTR=1 -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t
-
-// RUN: %clangxx_msan %s -DEAVPTR=1 -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t
-
-// RUN: %clangxx_msan %s -DEDVPTR=1 -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t
-
-// Expected to quit due to invalid access when invoking
-// function using vtable.
-
-class A {
- public:
- int x;
- virtual ~A() {
- // Should succeed
- this->A_Foo();
- }
- virtual void A_Foo() {}
-};
-
-class B : public virtual A {
- public:
- int y;
- virtual ~B() {}
- virtual void A_Foo() {}
-};
-
-class C : public B {
- public:
- int z;
- ~C() {}
-};
-
-class D {
- public:
- int w;
- ~D() {}
- virtual void D_Foo() {}
-};
-
-class E : public virtual A, public virtual D {
- public:
- int u;
- ~E() {}
- void A_Foo() {}
-};
-
-int main() {
- // Simple linear inheritance
- C *c = new C();
- c->~C();
- // This fails
-#ifdef CVPTR
- c->A_Foo();
-#endif
-
- // Multiple inheritance, so has multiple vtables
- E *e = new E();
- e->~E();
- // Both of these fail
-#ifdef EAVPTR
- e->A_Foo();
-#endif
-#ifdef EDVPTR
- e->D_Foo();
-#endif
-}
Copied: compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cpp?p2=compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cpp&p1=compiler-rt/trunk/test/msan/dtor-vtable-multiple-inheritance.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/dtor-vtable.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-vtable.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/dtor-vtable.cc (original)
+++ compiler-rt/trunk/test/msan/dtor-vtable.cc (removed)
@@ -1,68 +0,0 @@
-// RUN: %clangxx_msan %s -O0 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 %run %t
-
-// RUN: %clangxx_msan %s -DVPTRA=1 -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t
-
-// RUN: %clangxx_msan %s -DVPTRCA=1 -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t
-
-// RUN: %clangxx_msan %s -DVPTRCB=1 -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t
-
-// RUN: %clangxx_msan %s -DVPTRC=1 -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t
-
-// Expected to quit due to invalid access when invoking
-// function using vtable.
-
-#include <sanitizer/msan_interface.h>
-#include <stdio.h>
-#include <assert.h>
-
-class A {
-public:
- int x;
- ~A() {}
- virtual void A_Foo() {}
-};
-
-class B {
- public:
- int y;
- ~B() {}
- virtual void B_Foo() {}
-};
-
-class C : public A, public B {
- public:
- int z;
- ~C() {}
- virtual void C_Foo() {}
-};
-
-int main() {
- A *a = new A();
- a->~A();
-
- // Shouldn't be allowed to invoke function via vtable.
-#ifdef VPTRA
- a->A_Foo();
-#endif
-
- C *c = new C();
- c->~C();
-
-#ifdef VPTRCA
- c->A_Foo();
-#endif
-
-#ifdef VPTRCB
- c->B_Foo();
-#endif
-
-#ifdef VPTRC
- c->C_Foo();
-#endif
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/dtor-vtable.cpp (from r367652, compiler-rt/trunk/test/msan/dtor-vtable.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtor-vtable.cpp?p2=compiler-rt/trunk/test/msan/dtor-vtable.cpp&p1=compiler-rt/trunk/test/msan/dtor-vtable.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/errno.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/errno.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/errno.cc (original)
+++ compiler-rt/trunk/test/msan/errno.cc (removed)
@@ -1,17 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <assert.h>
-#include <errno.h>
-#include <stdio.h>
-#include <unistd.h>
-
-int main()
-{
- int x;
- int *volatile p = &x;
- errno = *p;
- int res = read(-1, 0, 0);
- assert(res == -1);
- if (errno) printf("errno %d\n", errno);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/errno.cpp (from r367652, compiler-rt/trunk/test/msan/errno.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/errno.cpp?p2=compiler-rt/trunk/test/msan/errno.cpp&p1=compiler-rt/trunk/test/msan/errno.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/fgets_fputs.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/fgets_fputs.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/fgets_fputs.cc (original)
+++ compiler-rt/trunk/test/msan/fgets_fputs.cc (removed)
@@ -1,47 +0,0 @@
-// RUN: %clangxx_msan -g %s -o %t
-// RUN: %run %t
-// RUN: not %run %t 2 2>&1 | FileCheck %s --check-prefix=CHECK-FPUTS
-// RUN: not %run %t 3 3 2>&1 | FileCheck %s --check-prefix=CHECK-PUTS
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int test_fgets() {
- FILE *fp = fopen("/dev/zero", "r");
- char c;
-
- if (!fgets(&c, 1, fp))
- return 1;
-
- if (c == '1') // No error
- return 2;
-
- fclose(fp);
- return 0;
-}
-
-int test_fputs() {
- FILE *fp = fopen("/dev/null", "w");
- char buf[2];
- fputs(buf, fp); // BOOM
- return fclose(fp);
-}
-
-void test_puts() {
- char buf[2];
- puts(buf); // BOOM
-}
-
-int main(int argc, char *argv[]) {
- if (argc == 1)
- test_fgets();
- else if (argc == 2)
- test_fputs();
- else
- test_puts();
- return 0;
-}
-
-// CHECK-FPUTS: Uninitialized bytes in __interceptor_fputs at offset 0 inside
-// CHECK-PUTS: Uninitialized bytes in __interceptor_puts at offset 0 inside
Copied: compiler-rt/trunk/test/msan/fgets_fputs.cpp (from r367652, compiler-rt/trunk/test/msan/fgets_fputs.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/fgets_fputs.cpp?p2=compiler-rt/trunk/test/msan/fgets_fputs.cpp&p1=compiler-rt/trunk/test/msan/fgets_fputs.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/fork.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/fork.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/fork.cc (original)
+++ compiler-rt/trunk/test/msan/fork.cc (removed)
@@ -1,127 +0,0 @@
-// Test that chained origins are fork-safe.
-// Run a number of threads that create new chained origins, then fork
-// and verify that origin reads do not deadlock in the child process.
-
-// RUN: %clangxx_msan -std=c++11 -fsanitize-memory-track-origins=2 -g -O3 %s -o %t
-// RUN: MSAN_OPTIONS=store_context_size=1000,origin_history_size=0,origin_history_per_stack_limit=0 %run %t 2>&1 | FileCheck %s
-
-// Fun fact: if test output is redirected to a file (as opposed to
-// being piped directly to FileCheck), we may lose some "done"s due to
-// a kernel bug:
-// https://lkml.org/lkml/2014/2/17/324
-
-// Flaky on PPC64.
-// UNSUPPORTED: powerpc64-target-arch
-// UNSUPPORTED: powerpc64le-target-arch
-
-// Sometimes hangs
-// UNSUPPORTED: netbsd
-
-#include <pthread.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <signal.h>
-#include <errno.h>
-
-#include <sanitizer/msan_interface.h>
-
-int done;
-
-void copy_uninit_thread2() {
- volatile int x;
- volatile int v;
- while (true) {
- v = x;
- x = v;
- if (__atomic_load_n(&done, __ATOMIC_RELAXED))
- return;
- }
-}
-
-void copy_uninit_thread1(int level) {
- if (!level)
- copy_uninit_thread2();
- else
- copy_uninit_thread1(level - 1);
-}
-
-void *copy_uninit_thread(void *id) {
- copy_uninit_thread1((long)id);
- return 0;
-}
-
-// Run through stackdepot in the child process.
-// If any of the hash table cells are locked, this may deadlock.
-void child() {
- volatile int x;
- volatile int v;
- for (int i = 0; i < 10000; ++i) {
- v = x;
- x = v;
- }
- write(2, "done\n", 5);
-}
-
-void test() {
- const int kThreads = 10;
- pthread_t t[kThreads];
- for (int i = 0; i < kThreads; ++i)
- pthread_create(&t[i], NULL, copy_uninit_thread, (void*)(long)i);
- usleep(100000);
- pid_t pid = fork();
- if (pid) {
- // parent
- __atomic_store_n(&done, 1, __ATOMIC_RELAXED);
- pid_t p;
- while ((p = wait(NULL)) == -1) { }
- } else {
- // child
- child();
- }
-}
-
-int main() {
- const int kChildren = 20;
- for (int i = 0; i < kChildren; ++i) {
- pid_t pid = fork();
- if (pid) {
- // parent
- } else {
- test();
- exit(0);
- }
- }
-
- for (int i = 0; i < kChildren; ++i) {
- pid_t p;
- while ((p = wait(NULL)) == -1) { }
- }
-
- return 0;
-}
-
-// Expect 20 (== kChildren) "done" messages.
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
-// CHECK: done
Copied: compiler-rt/trunk/test/msan/fork.cpp (from r367652, compiler-rt/trunk/test/msan/fork.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/fork.cpp?p2=compiler-rt/trunk/test/msan/fork.cpp&p1=compiler-rt/trunk/test/msan/fork.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/fread_fwrite.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/fread_fwrite.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/fread_fwrite.cc (original)
+++ compiler-rt/trunk/test/msan/fread_fwrite.cc (removed)
@@ -1,34 +0,0 @@
-// RUN: %clangxx_msan -g %s -o %t
-// RUN: not %t 2>&1 | FileCheck %s
-// RUN: %t 1
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int test_fread() {
- FILE *f = fopen("/dev/zero", "r");
- char c;
- unsigned read = fread(&c, sizeof(c), 1, f);
- fclose(f);
- if (c == '1') // No error
- return 1;
- return 0;
-}
-
-int test_fwrite() {
- FILE *f = fopen("/dev/null", "w");
- char c;
- if (fwrite(&c, sizeof(c), 1, f) != sizeof(c)) // BOOM
- return 1;
- return fclose(f);
-}
-
-int main(int argc, char *argv[]) {
- if (argc > 1)
- test_fread();
- else
- test_fwrite();
- return 0;
-}
-
-// CHECK: Uninitialized bytes in __interceptor_fwrite at offset 0 inside
Copied: compiler-rt/trunk/test/msan/fread_fwrite.cpp (from r367652, compiler-rt/trunk/test/msan/fread_fwrite.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/fread_fwrite.cpp?p2=compiler-rt/trunk/test/msan/fread_fwrite.cpp&p1=compiler-rt/trunk/test/msan/fread_fwrite.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/fstat.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/fstat.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/fstat.cc (original)
+++ compiler-rt/trunk/test/msan/fstat.cc (removed)
@@ -1,15 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <sys/stat.h>
-#include <stdlib.h>
-
-int main(void) {
- struct stat st;
- if (fstat(0, &st))
- exit(1);
-
- if (S_ISBLK(st.st_mode))
- exit(0);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/fstat.cpp (from r367652, compiler-rt/trunk/test/msan/fstat.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/fstat.cpp?p2=compiler-rt/trunk/test/msan/fstat.cpp&p1=compiler-rt/trunk/test/msan/fstat.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/ftime.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ftime.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/ftime.cc (original)
+++ compiler-rt/trunk/test/msan/ftime.cc (removed)
@@ -1,17 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-
-// ftime() is deprecated on FreeBSD and NetBSD.
-// UNSUPPORTED: freebsd, netbsd
-
-#include <assert.h>
-#include <sys/timeb.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- struct timeb tb;
- int res = ftime(&tb);
- assert(!res);
- assert(__msan_test_shadow(&tb, sizeof(tb)) == -1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/ftime.cpp (from r367652, compiler-rt/trunk/test/msan/ftime.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ftime.cpp?p2=compiler-rt/trunk/test/msan/ftime.cpp&p1=compiler-rt/trunk/test/msan/ftime.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/getaddrinfo-positive.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getaddrinfo-positive.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/getaddrinfo-positive.cc (original)
+++ compiler-rt/trunk/test/msan/getaddrinfo-positive.cc (removed)
@@ -1,23 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <stdlib.h>
-
-volatile int z;
-
-int main(void) {
- struct addrinfo *ai;
- struct addrinfo hint;
- int res = getaddrinfo("localhost", NULL, NULL, &ai);
- if (ai) z = 1; // OK
- res = getaddrinfo("localhost", NULL, &hint, &ai);
- // CHECK: Uninitialized bytes in __interceptor_getaddrinfo at offset 0 inside [0x{{.*}}, 48)
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 {{.*}} in main {{.*}}getaddrinfo-positive.cc:[[@LINE-3]]
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/getaddrinfo-positive.cpp (from r367652, compiler-rt/trunk/test/msan/getaddrinfo-positive.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getaddrinfo-positive.cpp?p2=compiler-rt/trunk/test/msan/getaddrinfo-positive.cpp&p1=compiler-rt/trunk/test/msan/getaddrinfo-positive.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/getaddrinfo-positive.cc (original)
+++ compiler-rt/trunk/test/msan/getaddrinfo-positive.cpp Thu Aug 1 23:07:05 2019
@@ -18,6 +18,6 @@ int main(void) {
res = getaddrinfo("localhost", NULL, &hint, &ai);
// CHECK: Uninitialized bytes in __interceptor_getaddrinfo at offset 0 inside [0x{{.*}}, 48)
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 {{.*}} in main {{.*}}getaddrinfo-positive.cc:[[@LINE-3]]
+ // CHECK: #0 {{.*}} in main {{.*}}getaddrinfo-positive.cpp:[[@LINE-3]]
return 0;
}
Removed: compiler-rt/trunk/test/msan/getaddrinfo.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getaddrinfo.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/getaddrinfo.cc (original)
+++ compiler-rt/trunk/test/msan/getaddrinfo.cc (removed)
@@ -1,24 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <stdlib.h>
-
-void poison_stack_ahead() {
- char buf[100000];
- // With -O0 this poisons a large chunk of stack.
-}
-
-int main(void) {
- poison_stack_ahead();
-
- struct addrinfo *ai;
-
- // This should trigger loading of libnss_dns and friends.
- // Those libraries are typically uninstrumented.They will call strlen() on a
- // stack-allocated buffer, which is very likely to be poisoned. Test that we
- // don't report this as an UMR.
- int res = getaddrinfo("not-in-etc-hosts", NULL, NULL, &ai);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/getaddrinfo.cpp (from r367652, compiler-rt/trunk/test/msan/getaddrinfo.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getaddrinfo.cpp?p2=compiler-rt/trunk/test/msan/getaddrinfo.cpp&p1=compiler-rt/trunk/test/msan/getaddrinfo.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/getline.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getline.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/getline.cc (original)
+++ compiler-rt/trunk/test/msan/getline.cc (removed)
@@ -1,40 +0,0 @@
-// RUN: echo "abcde" > %t-testdata
-// RUN: echo "12345" >> %t-testdata
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %t-testdata
-// RUN: %clangxx_msan -O2 %s -o %t && %run %t %t-testdata
-// RUN: %clang_msan -O0 -xc %s -o %t && %run %t %t-testdata
-// RUN: %clang_msan -O2 -xc %s -o %t && %run %t %t-testdata
-// RUN: %clang_msan -O0 -xc -D_GNU_SOURCE=1 %s -o %t && %run %t %t-testdata
-// RUN: %clang_msan -O2 -xc -D_GNU_SOURCE=1 %s -o %t && %run %t %t-testdata
-
-#if defined(__FreeBSD__)
-#define _WITH_GETLINE // To declare getline().
-#endif
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int main(int argc, char **argv) {
- assert(argc == 2);
- printf("%s\n", argv[1]);
-
- FILE *fp = fopen(argv[1], "r");
- assert(fp);
-
- char *line = 0;
- size_t len = 0;
- int n = getline(&line, &len, fp);
- assert(n == 6);
- assert(strcmp(line, "abcde\n") == 0);
-
- n = getline(&line, &len, fp);
- assert(n == 6);
- assert(strcmp(line, "12345\n") == 0);
-
- free(line);
- fclose(fp);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/getline.cpp (from r367652, compiler-rt/trunk/test/msan/getline.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getline.cpp?p2=compiler-rt/trunk/test/msan/getline.cpp&p1=compiler-rt/trunk/test/msan/getline.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/getloadavg.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getloadavg.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/getloadavg.cc (original)
+++ compiler-rt/trunk/test/msan/getloadavg.cc (removed)
@@ -1,16 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-
-#define _BSD_SOURCE
-#include <assert.h>
-#include <stdlib.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- double x[4];
- int ret = getloadavg(x, 3);
- assert(ret > 0);
- assert(ret <= 3);
- assert(__msan_test_shadow(x, sizeof(double) * ret) == -1);
- assert(__msan_test_shadow(&x[ret], sizeof(double)) == 0);
-}
Copied: compiler-rt/trunk/test/msan/getloadavg.cpp (from r367652, compiler-rt/trunk/test/msan/getloadavg.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getloadavg.cpp?p2=compiler-rt/trunk/test/msan/getloadavg.cpp&p1=compiler-rt/trunk/test/msan/getloadavg.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/getutent.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getutent.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/getutent.cc (original)
+++ compiler-rt/trunk/test/msan/getutent.cc (removed)
@@ -1,21 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-
-#ifndef __FreeBSD__
-#include <utmp.h>
-#endif
-#include <utmpx.h>
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
-#ifndef __FreeBSD__
- setutent();
- while (struct utmp *ut = getutent())
- __msan_check_mem_is_initialized(ut, sizeof(*ut));
- endutent();
-#endif
-
- setutxent();
- while (struct utmpx *utx = getutxent())
- __msan_check_mem_is_initialized(utx, sizeof(*utx));
- endutxent();
-}
Copied: compiler-rt/trunk/test/msan/getutent.cpp (from r367652, compiler-rt/trunk/test/msan/getutent.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/getutent.cpp?p2=compiler-rt/trunk/test/msan/getutent.cpp&p1=compiler-rt/trunk/test/msan/getutent.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/heap-origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/heap-origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/heap-origin.cc (original)
+++ compiler-rt/trunk/test/msan/heap-origin.cc (removed)
@@ -1,31 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-
-#include <stdlib.h>
-int main(int argc, char **argv) {
- char *volatile x = (char*)malloc(5 * sizeof(char));
- return *x;
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*heap-origin.cc:}}[[@LINE-2]]
-
- // CHECK-ORIGINS: Uninitialized value was created by a heap allocation
- // CHECK-ORIGINS: {{#0 0x.* in .*malloc}}
- // CHECK-ORIGINS: {{#1 0x.* in main .*heap-origin.cc:}}[[@LINE-7]]
-
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*heap-origin.cc:.* main}}
-}
Copied: compiler-rt/trunk/test/msan/heap-origin.cpp (from r367652, compiler-rt/trunk/test/msan/heap-origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/heap-origin.cpp?p2=compiler-rt/trunk/test/msan/heap-origin.cpp&p1=compiler-rt/trunk/test/msan/heap-origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/heap-origin.cc (original)
+++ compiler-rt/trunk/test/msan/heap-origin.cpp Thu Aug 1 23:07:05 2019
@@ -21,11 +21,11 @@ int main(int argc, char **argv) {
char *volatile x = (char*)malloc(5 * sizeof(char));
return *x;
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*heap-origin.cc:}}[[@LINE-2]]
+ // CHECK: {{#0 0x.* in main .*heap-origin.cpp:}}[[@LINE-2]]
// CHECK-ORIGINS: Uninitialized value was created by a heap allocation
// CHECK-ORIGINS: {{#0 0x.* in .*malloc}}
- // CHECK-ORIGINS: {{#1 0x.* in main .*heap-origin.cc:}}[[@LINE-7]]
+ // CHECK-ORIGINS: {{#1 0x.* in main .*heap-origin.cpp:}}[[@LINE-7]]
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*heap-origin.cc:.* main}}
+ // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*heap-origin.cpp:.* main}}
}
Removed: compiler-rt/trunk/test/msan/icmp_slt_allones.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/icmp_slt_allones.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/icmp_slt_allones.cc (original)
+++ compiler-rt/trunk/test/msan/icmp_slt_allones.cc (removed)
@@ -1,20 +0,0 @@
-// PR24561
-// RUN: %clangxx_msan -O2 -g %s -o %t && %run %t
-
-#include <stdio.h>
-
-struct A {
- int c1 : 7;
- int c8 : 1;
- int c9 : 1;
- A();
-};
-
-__attribute__((noinline)) A::A() : c8(1) {}
-
-int main() {
- A* a = new A();
- if (a->c8 == 0)
- printf("zz\n");
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/icmp_slt_allones.cpp (from r367652, compiler-rt/trunk/test/msan/icmp_slt_allones.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/icmp_slt_allones.cpp?p2=compiler-rt/trunk/test/msan/icmp_slt_allones.cpp&p1=compiler-rt/trunk/test/msan/icmp_slt_allones.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/iconv.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/iconv.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/iconv.cc (original)
+++ compiler-rt/trunk/test/msan/iconv.cc (removed)
@@ -1,53 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -O0 -g -DPOSITIVE %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <iconv.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-
-int main(void) {
- iconv_t cd = iconv_open("ASCII", "ASCII");
- assert(cd != (iconv_t)-1);
-
- char inbuf_[100];
- strcpy(inbuf_, "sample text");
- char outbuf_[100];
-#if defined(__NetBSD__)
- // Some OSes expect the 2nd argument of iconv(3) to be of type const char **
- const char *inbuf = inbuf_;
-#else
- char *inbuf = inbuf_;
-#endif
- char *outbuf = outbuf_;
- size_t inbytesleft = strlen(inbuf_);
- size_t outbytesleft = sizeof(outbuf_);
-
-#ifdef POSITIVE
- {
- char u;
- char *volatile p = &u;
- inbuf_[5] = *p;
- }
-#endif
-
- size_t res;
- res = iconv(cd, 0, 0, 0, 0);
- assert(res != (size_t)-1);
-
- res = iconv(cd, 0, 0, &outbuf, &outbytesleft);
- assert(res != (size_t)-1);
-
- res = iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 {{.*}} in main {{.*}}iconv.cc:[[@LINE-2]]
- assert(res != (size_t)-1);
- assert(inbytesleft == 0);
-
- assert(memcmp(inbuf_, outbuf_, strlen(inbuf_)) == 0);
-
- iconv_close(cd);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/iconv.cpp (from r367652, compiler-rt/trunk/test/msan/iconv.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/iconv.cpp?p2=compiler-rt/trunk/test/msan/iconv.cpp&p1=compiler-rt/trunk/test/msan/iconv.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/iconv.cc (original)
+++ compiler-rt/trunk/test/msan/iconv.cpp Thu Aug 1 23:07:05 2019
@@ -42,7 +42,7 @@ int main(void) {
res = iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 {{.*}} in main {{.*}}iconv.cc:[[@LINE-2]]
+ // CHECK: #0 {{.*}} in main {{.*}}iconv.cpp:[[@LINE-2]]
assert(res != (size_t)-1);
assert(inbytesleft == 0);
Removed: compiler-rt/trunk/test/msan/if_indextoname.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/if_indextoname.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/if_indextoname.cc (original)
+++ compiler-rt/trunk/test/msan/if_indextoname.cc (removed)
@@ -1,23 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t 2>&1
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 2>&1
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t 2>&1
-
-#include <assert.h>
-#include <errno.h>
-#include <net/if.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char *argv[]) {
- char ifname[IF_NAMESIZE + 1];
- assert(0 == __msan_test_shadow(ifname, sizeof(ifname)));
- if (!if_indextoname(1, ifname)) {
- assert(errno == ENXIO);
- printf("No network interfaces found.\n");
- return 0;
- }
- assert(strlen(ifname) + 1 <= __msan_test_shadow(ifname, sizeof(ifname)));
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/if_indextoname.cpp (from r367652, compiler-rt/trunk/test/msan/if_indextoname.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/if_indextoname.cpp?p2=compiler-rt/trunk/test/msan/if_indextoname.cpp&p1=compiler-rt/trunk/test/msan/if_indextoname.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/ifaddrs.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ifaddrs.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/ifaddrs.cc (original)
+++ compiler-rt/trunk/test/msan/ifaddrs.cc (removed)
@@ -1,54 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p 2>&1
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t %p 2>&1
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t %p 2>&1
-
-#include <assert.h>
-#include <errno.h>
-#include <ifaddrs.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <vector>
-
-#if defined(__FreeBSD__) || defined(__NetBSD__)
-#include <sys/socket.h> // To define 'struct sockaddr'.
-#endif
-
-#include <sanitizer/msan_interface.h>
-
-#define CHECK_AND_PUSH(addr, size) \
- if (addr) { \
- assert(-1 == __msan_test_shadow(addr, sizeof(size))); \
- ranges.push_back(std::make_pair((void *)addr, (size_t)size)); \
- }
-
-int main(int argc, char *argv[]) {
- struct ifaddrs *ifas;
-
- assert(0 == __msan_test_shadow(&ifas, sizeof(ifaddrs *)));
- int res = getifaddrs(&ifas);
- if (res == -1) {
- assert(errno == ENOSYS);
- printf("getifaddrs() is not implemented\n");
- return 0;
- }
- assert(res == 0);
- assert(-1 == __msan_test_shadow(&ifas, sizeof(ifaddrs *)));
-
- std::vector<std::pair<void *, size_t> > ranges;
- ifaddrs *p = ifas;
- while (p) {
- CHECK_AND_PUSH(p, sizeof(ifaddrs));
- CHECK_AND_PUSH(p->ifa_name, strlen(p->ifa_name) + 1);
- CHECK_AND_PUSH(p->ifa_addr, sizeof(*p->ifa_addr));
- CHECK_AND_PUSH(p->ifa_netmask, sizeof(*p->ifa_netmask));
- CHECK_AND_PUSH(p->ifa_broadaddr, sizeof(*p->ifa_broadaddr));
- CHECK_AND_PUSH(p->ifa_dstaddr, sizeof(*p->ifa_dstaddr));
- p = p->ifa_next;
- }
-
- freeifaddrs(ifas);
- for (int i = 0; i < ranges.size(); i++)
- assert(0 == __msan_test_shadow(ranges[i].first, ranges[i].second));
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/ifaddrs.cpp (from r367652, compiler-rt/trunk/test/msan/ifaddrs.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ifaddrs.cpp?p2=compiler-rt/trunk/test/msan/ifaddrs.cpp&p1=compiler-rt/trunk/test/msan/ifaddrs.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/initgroups.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/initgroups.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/initgroups.cc (original)
+++ compiler-rt/trunk/test/msan/initgroups.cc (removed)
@@ -1,12 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <sys/types.h>
-#include <grp.h>
-#include <unistd.h> // FreeBSD declares initgroups() here.
-
-int main(void) {
- initgroups("root", 0);
- // The above fails unless you are root. Does not matter, MSan false positive
- // (which we are testing for) happens anyway.
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/initgroups.cpp (from r367652, compiler-rt/trunk/test/msan/initgroups.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/initgroups.cpp?p2=compiler-rt/trunk/test/msan/initgroups.cpp&p1=compiler-rt/trunk/test/msan/initgroups.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/inline.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/inline.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/inline.cc (original)
+++ compiler-rt/trunk/test/msan/inline.cc (removed)
@@ -1,20 +0,0 @@
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t
-
-// Test that no_sanitize_memory attribute applies even when the function would
-// be normally inlined.
-
-#include <stdlib.h>
-
-__attribute__((no_sanitize_memory))
-int f(int *p) {
- if (*p) // BOOOM?? Nope!
- exit(0);
- return 0;
-}
-
-int main(int argc, char **argv) {
- int x;
- int * volatile p = &x;
- int res = f(p);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/inline.cpp (from r367652, compiler-rt/trunk/test/msan/inline.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/inline.cpp?p2=compiler-rt/trunk/test/msan/inline.cpp&p1=compiler-rt/trunk/test/msan/inline.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/insertvalue_origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/insertvalue_origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/insertvalue_origin.cc (original)
+++ compiler-rt/trunk/test/msan/insertvalue_origin.cc (removed)
@@ -1,35 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s < %t.out
-
-// Test origin propagation through insertvalue IR instruction.
-
-#include <stdio.h>
-#include <stdint.h>
-
-struct mypair {
- int64_t x;
- int y;
-};
-
-mypair my_make_pair(int64_t x, int y) {
- mypair p;
- p.x = x;
- p.y = y;
- return p;
-}
-
-int main() {
- int64_t * volatile p = new int64_t;
- mypair z = my_make_pair(*p, 0);
- if (z.x)
- printf("zzz\n");
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{in main .*insertvalue_origin.cc:}}[[@LINE-3]]
-
- // CHECK: Uninitialized value was created by a heap allocation
- // CHECK: {{in main .*insertvalue_origin.cc:}}[[@LINE-8]]
- delete p;
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/insertvalue_origin.cpp (from r367652, compiler-rt/trunk/test/msan/insertvalue_origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/insertvalue_origin.cpp?p2=compiler-rt/trunk/test/msan/insertvalue_origin.cpp&p1=compiler-rt/trunk/test/msan/insertvalue_origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/insertvalue_origin.cc (original)
+++ compiler-rt/trunk/test/msan/insertvalue_origin.cpp Thu Aug 1 23:07:05 2019
@@ -26,10 +26,10 @@ int main() {
if (z.x)
printf("zzz\n");
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{in main .*insertvalue_origin.cc:}}[[@LINE-3]]
+ // CHECK: {{in main .*insertvalue_origin.cpp:}}[[@LINE-3]]
// CHECK: Uninitialized value was created by a heap allocation
- // CHECK: {{in main .*insertvalue_origin.cc:}}[[@LINE-8]]
+ // CHECK: {{in main .*insertvalue_origin.cpp:}}[[@LINE-8]]
delete p;
return 0;
}
Removed: compiler-rt/trunk/test/msan/ioctl.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ioctl.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/ioctl.cc (original)
+++ compiler-rt/trunk/test/msan/ioctl.cc (removed)
@@ -1,20 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -O3 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <stdlib.h>
-#include <sys/ioctl.h>
-#include <sys/socket.h>
-#include <unistd.h>
-
-int main(int argc, char **argv) {
- int fd = socket(AF_UNIX, SOCK_DGRAM, 0);
-
- unsigned int z;
- int res = ioctl(fd, FIOGETOWN, &z);
- assert(res == 0);
- close(fd);
- if (z)
- exit(0);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/ioctl.cpp (from r367652, compiler-rt/trunk/test/msan/ioctl.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ioctl.cpp?p2=compiler-rt/trunk/test/msan/ioctl.cpp&p1=compiler-rt/trunk/test/msan/ioctl.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/ioctl_custom.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ioctl_custom.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/ioctl_custom.cc (original)
+++ compiler-rt/trunk/test/msan/ioctl_custom.cc (removed)
@@ -1,36 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -O3 -g %s -o %t && %run %t
-
-// RUN: %clangxx_msan -DPOSITIVE -O0 -g %s -o %t && not %run %t 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -DPOSITIVE -O3 -g %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-// Reports different report (not analyzed)
-// XFAIL: netbsd
-
-#include <assert.h>
-#include <stdlib.h>
-#include <net/if.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/ioctl.h>
-#include <sys/socket.h>
-#include <unistd.h>
-
-int main(int argc, char **argv) {
- int fd = socket(AF_UNIX, SOCK_STREAM, 0);
-
- struct ifreq ifreqs[20];
- struct ifconf ifc;
- ifc.ifc_ifcu.ifcu_req = ifreqs;
-#ifndef POSITIVE
- ifc.ifc_len = sizeof(ifreqs);
-#endif
- int res = ioctl(fd, SIOCGIFCONF, (void *)&ifc);
- // CHECK: Uninitialized bytes in ioctl{{.*}} at offset 0 inside [0x{{.*}}, 4)
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #{{.*}} in main {{.*}}ioctl_custom.cc:[[@LINE-3]]
- assert(res == 0);
- for (int i = 0; i < ifc.ifc_len / sizeof(*ifc.ifc_ifcu.ifcu_req); ++i)
- printf("%d %zu %s\n", i, strlen(ifreqs[i].ifr_name), ifreqs[i].ifr_name);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/ioctl_custom.cpp (from r367652, compiler-rt/trunk/test/msan/ioctl_custom.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/ioctl_custom.cpp?p2=compiler-rt/trunk/test/msan/ioctl_custom.cpp&p1=compiler-rt/trunk/test/msan/ioctl_custom.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/ioctl_custom.cc (original)
+++ compiler-rt/trunk/test/msan/ioctl_custom.cpp Thu Aug 1 23:07:05 2019
@@ -28,7 +28,7 @@ int main(int argc, char **argv) {
int res = ioctl(fd, SIOCGIFCONF, (void *)&ifc);
// CHECK: Uninitialized bytes in ioctl{{.*}} at offset 0 inside [0x{{.*}}, 4)
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #{{.*}} in main {{.*}}ioctl_custom.cc:[[@LINE-3]]
+ // CHECK: #{{.*}} in main {{.*}}ioctl_custom.cpp:[[@LINE-3]]
assert(res == 0);
for (int i = 0; i < ifc.ifc_len / sizeof(*ifc.ifc_ifcu.ifcu_req); ++i)
printf("%d %zu %s\n", i, strlen(ifreqs[i].ifr_name), ifreqs[i].ifr_name);
Removed: compiler-rt/trunk/test/msan/memcmp_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/memcmp_test.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/memcmp_test.cc (original)
+++ compiler-rt/trunk/test/msan/memcmp_test.cc (removed)
@@ -1,18 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t
-// RUN: not %run %t 2>&1 | FileCheck %s
-// RUN: MSAN_OPTIONS=intercept_memcmp=0 %run %t
-
-#include <string.h>
-#include <stdio.h>
-int main(int argc, char **argv) {
- char a1[4];
- char a2[4];
- for (int i = 0; i < argc * 3; i++)
- a2[i] = a1[i] = i;
- int res = memcmp(a1, a2, 4);
- if (!res)
- printf("equals");
- return 0;
- // CHECK: Uninitialized bytes in MemcmpInterceptorCommon at offset 3
- // CHECK: MemorySanitizer: use-of-uninitialized-value
-}
Copied: compiler-rt/trunk/test/msan/memcmp_test.cpp (from r367652, compiler-rt/trunk/test/msan/memcmp_test.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/memcmp_test.cpp?p2=compiler-rt/trunk/test/msan/memcmp_test.cpp&p1=compiler-rt/trunk/test/msan/memcmp_test.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/mktime.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/mktime.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/mktime.cc (original)
+++ compiler-rt/trunk/test/msan/mktime.cc (removed)
@@ -1,26 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -O0 -g -DUNINIT %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <time.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- struct tm tm;
- tm.tm_year = 2014;
- tm.tm_mon = 3;
- tm.tm_mday = 28;
-#ifndef UNINIT
- tm.tm_hour = 13;
-#endif
- tm.tm_min = 4;
- tm.tm_sec = 42;
- tm.tm_isdst = -1;
- time_t t = mktime(&tm);
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: in main{{.*}}mktime.cc:[[@LINE-2]]
- assert(t != -1);
- assert(__msan_test_shadow(&tm, sizeof(tm)) == -1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/mktime.cpp (from r367652, compiler-rt/trunk/test/msan/mktime.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/mktime.cpp?p2=compiler-rt/trunk/test/msan/mktime.cpp&p1=compiler-rt/trunk/test/msan/mktime.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/mktime.cc (original)
+++ compiler-rt/trunk/test/msan/mktime.cpp Thu Aug 1 23:07:05 2019
@@ -19,7 +19,7 @@ int main(void) {
tm.tm_isdst = -1;
time_t t = mktime(&tm);
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: in main{{.*}}mktime.cc:[[@LINE-2]]
+ // CHECK: in main{{.*}}mktime.cpp:[[@LINE-2]]
assert(t != -1);
assert(__msan_test_shadow(&tm, sizeof(tm)) == -1);
return 0;
Removed: compiler-rt/trunk/test/msan/mmap.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/mmap.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/mmap.cc (original)
+++ compiler-rt/trunk/test/msan/mmap.cc (removed)
@@ -1,83 +0,0 @@
-// Test that mmap (without MAP_FIXED) always returns valid application addresses.
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-// RUN: %clangxx_msan -O0 -fsanitize-memory-track-origins %s -o %t && %run %t
-
-#include <assert.h>
-#include <errno.h>
-#include <stdint.h>
-#include <sys/mman.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "test.h"
-
-bool AddrIsApp(void *p) {
- uintptr_t addr = (uintptr_t)p;
-#if defined(__FreeBSD__) && defined(__x86_64__)
- return addr < 0x010000000000ULL || addr >= 0x600000000000ULL;
-#elif defined(__x86_64__)
- return (addr >= 0x000000000000ULL && addr < 0x010000000000ULL) ||
- (addr >= 0x510000000000ULL && addr < 0x600000000000ULL) ||
- (addr >= 0x700000000000ULL && addr < 0x800000000000ULL);
-#elif defined(__mips64)
- return (addr >= 0x0000000000ULL && addr <= 0x0200000000ULL) ||
- (addr >= 0xa200000000ULL && addr <= 0xc000000000ULL) ||
- addr >= 0xe200000000ULL;
-#elif defined(__powerpc64__)
- return addr < 0x000100000000ULL || addr >= 0x300000000000ULL;
-#elif defined(__aarch64__)
-
- struct AddrMapping {
- uintptr_t start;
- uintptr_t end;
- } mappings[] = {
- {0x05000000000ULL, 0x06000000000ULL},
- {0x07000000000ULL, 0x08000000000ULL},
- {0x0F000000000ULL, 0x10000000000ULL},
- {0x11000000000ULL, 0x12000000000ULL},
- {0x20000000000ULL, 0x21000000000ULL},
- {0x2A000000000ULL, 0x2B000000000ULL},
- {0x2E000000000ULL, 0x2F000000000ULL},
- {0x3B000000000ULL, 0x3C000000000ULL},
- {0x3F000000000ULL, 0x40000000000ULL},
- {0x0041000000000ULL, 0x0042000000000ULL},
- {0x0050000000000ULL, 0x0051000000000ULL},
- {0x0058000000000ULL, 0x0059000000000ULL},
- {0x0061000000000ULL, 0x0062000000000ULL},
- {0x0AAAAA0000000ULL, 0x0AAAB00000000ULL},
- {0x0FFFF00000000ULL, 0x1000000000000ULL},
- };
- const size_t mappingsSize = sizeof (mappings) / sizeof (mappings[0]);
-
- for (int i=0; i<mappingsSize; ++i)
- if (addr >= mappings[i].start && addr < mappings[i].end)
- return true;
- return false;
-#endif
-}
-
-int main() {
- // Large enough to quickly exhaust the entire address space.
-#if defined(__mips64) || defined(__aarch64__)
- const size_t kMapSize = 0x100000000ULL;
-#else
- const size_t kMapSize = 0x1000000000ULL;
-#endif
- int success_count = 0;
- int flags = MAP_PRIVATE | MAP_ANONYMOUS;
-#if defined(MAP_NORESERVE)
- flags |= MAP_NORESERVE;
-#endif
- while (true) {
- void *p = mmap(0, kMapSize, PROT_WRITE,
- flags, -1, 0);
- printf("%p\n", p);
- if (p == MAP_FAILED) {
- assert(errno == ENOMEM);
- break;
- }
- assert(AddrIsApp(p));
- success_count++;
- }
- printf("successful mappings: %d\n", success_count);
- assert(success_count > 5);
-}
Copied: compiler-rt/trunk/test/msan/mmap.cpp (from r367652, compiler-rt/trunk/test/msan/mmap.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/mmap.cpp?p2=compiler-rt/trunk/test/msan/mmap.cpp&p1=compiler-rt/trunk/test/msan/mmap.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/mmap_below_shadow.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/mmap_below_shadow.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/mmap_below_shadow.cc (original)
+++ compiler-rt/trunk/test/msan/mmap_below_shadow.cc (removed)
@@ -1,42 +0,0 @@
-// Test mmap behavior when map address is below shadow range.
-// With MAP_FIXED, we return EINVAL.
-// Without MAP_FIXED, we ignore the address hint and map somewhere in
-// application range.
-
-// RUN: %clangxx_msan -O0 -DFIXED=0 %s -o %t && %run %t
-// RUN: %clangxx_msan -O0 -DFIXED=1 %s -o %t && %run %t
-// RUN: %clangxx_msan -O0 -DFIXED=0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t
-// RUN: %clangxx_msan -O0 -DFIXED=1 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t
-
-#include <assert.h>
-#include <errno.h>
-#include <stdint.h>
-#include <sys/mman.h>
-
-int main(void) {
- // Hint address just below shadow.
-#if defined(__FreeBSD__) && defined(__x86_64__)
- uintptr_t hint = 0x0f0000000000ULL;
- const uintptr_t app_start = 0x000000000000ULL;
-#elif defined(__x86_64__)
- uintptr_t hint = 0x4f0000000000ULL;
- const uintptr_t app_start = 0x600000000000ULL;
-#elif defined (__mips64)
- uintptr_t hint = 0x4f00000000ULL;
- const uintptr_t app_start = 0x6000000000ULL;
-#elif defined (__powerpc64__)
- uintptr_t hint = 0x2f0000000000ULL;
- const uintptr_t app_start = 0x300000000000ULL;
-#elif defined (__aarch64__)
- uintptr_t hint = 0x4f0000000ULL;
- const uintptr_t app_start = 0x7000000000ULL;
-#endif
- uintptr_t p = (uintptr_t)mmap(
- (void *)hint, 4096, PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS | (FIXED ? MAP_FIXED : 0), -1, 0);
- if (FIXED)
- assert(p == (uintptr_t)-1 && errno == EINVAL);
- else
- assert(p >= app_start);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/mmap_below_shadow.cpp (from r367652, compiler-rt/trunk/test/msan/mmap_below_shadow.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/mmap_below_shadow.cpp?p2=compiler-rt/trunk/test/msan/mmap_below_shadow.cpp&p1=compiler-rt/trunk/test/msan/mmap_below_shadow.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc (original)
+++ compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc (removed)
@@ -1,28 +0,0 @@
-// RUN: %clangxx_msan -O0 -g -DPOSITIVE %s -o %t
-// RUN: not %run %t 2>&1 | FileCheck %s
-// RUN: MSAN_OPTIONS=verbosity=1 not %run %t 2>&1 | \
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-VERBOSE
-
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- char p[32] = {};
- __msan_poison(p + 10, 2);
-
- __msan_check_mem_is_initialized(p, 10);
- __msan_check_mem_is_initialized(p + 12, 30);
-#ifdef POSITIVE
- __msan_check_mem_is_initialized(p + 5, 20);
- // CHECK: Uninitialized bytes in __msan_check_mem_is_initialized at offset 5 inside [0x{{.*}}, 20)
- // CHECK-VERBOSE: Shadow map of [0x{{.*}}, 0x{{.*}}), 20 bytes:
- // CHECK-VERBOSE: 0x{{.*}}: ..000000 0000ffff 00000000 00000000
- // CHECK-VERBOSE: 0x{{.*}}: 00000000 00...... ........ ........
-
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 0x{{.*}}in main{{.*}}msan_check_mem_is_initialized.cc:[[@LINE-7]]
-#endif
- return 0;
-}
-
Copied: compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cpp (from r367652, compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cpp?p2=compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cpp&p1=compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cc (original)
+++ compiler-rt/trunk/test/msan/msan_check_mem_is_initialized.cpp Thu Aug 1 23:07:05 2019
@@ -21,7 +21,7 @@ int main(void) {
// CHECK-VERBOSE: 0x{{.*}}: 00000000 00...... ........ ........
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 0x{{.*}}in main{{.*}}msan_check_mem_is_initialized.cc:[[@LINE-7]]
+ // CHECK: #0 0x{{.*}}in main{{.*}}msan_check_mem_is_initialized.cpp:[[@LINE-7]]
#endif
return 0;
}
Removed: compiler-rt/trunk/test/msan/msan_copy_shadow.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_copy_shadow.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/msan_copy_shadow.cc (original)
+++ compiler-rt/trunk/test/msan/msan_copy_shadow.cc (removed)
@@ -1,35 +0,0 @@
-// Test that __msan_copy_shadow copies shadow, updates origin and does not touch
-// the application memory.
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=0 -O0 %s -o %t && not %run %t 2>&1
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O0 %s -o %t && not %run %t 2>&1 | FileCheck --check-prefix=CHECK --check-prefix=CHECK-%short-stack %s
-
-#include <assert.h>
-#include <string.h>
-#include <sanitizer/msan_interface.h>
-
-int main() {
- char *a = new char[4];
- char *b = new char[4];
- a[1] = 1;
- a[3] = 2;
- memset(b, 42, 4);
-
- // Test that __msan_copy_shadow does not touch the contents of b[].
- __msan_copy_shadow(b, a, 4);
- __msan_unpoison(b, 4);
- assert(b[0] == 42 && b[1] == 42 && b[2] == 42 && b[3] == 42);
-
- // Test that __msan_copy_shadow correctly updates shadow and origin of b[].
- __msan_copy_shadow(b, a, 4);
- assert(__msan_test_shadow(b, 4) == 0);
- assert(__msan_test_shadow(b + 1, 3) == 1);
- assert(__msan_test_shadow(b + 3, 1) == -1);
- __msan_check_mem_is_initialized(b, 4);
- // CHECK: use-of-uninitialized-value
- // CHECK: {{in main.*msan_copy_shadow.cc:}}[[@LINE-2]]
- // CHECK: Uninitialized value was stored to memory at
- // CHECK-FULL-STACK: {{in main.*msan_copy_shadow.cc:}}[[@LINE-8]]
- // CHECK-SHORT-STACK: {{in __msan_copy_shadow .*msan_interceptors.cpp:}}
- // CHECK: Uninitialized value was created by a heap allocation
- // CHECK: {{in main.*msan_copy_shadow.cc:}}[[@LINE-23]]
-}
Copied: compiler-rt/trunk/test/msan/msan_copy_shadow.cpp (from r367652, compiler-rt/trunk/test/msan/msan_copy_shadow.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_copy_shadow.cpp?p2=compiler-rt/trunk/test/msan/msan_copy_shadow.cpp&p1=compiler-rt/trunk/test/msan/msan_copy_shadow.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/msan_copy_shadow.cc (original)
+++ compiler-rt/trunk/test/msan/msan_copy_shadow.cpp Thu Aug 1 23:07:05 2019
@@ -26,10 +26,10 @@ int main() {
assert(__msan_test_shadow(b + 3, 1) == -1);
__msan_check_mem_is_initialized(b, 4);
// CHECK: use-of-uninitialized-value
- // CHECK: {{in main.*msan_copy_shadow.cc:}}[[@LINE-2]]
+ // CHECK: {{in main.*msan_copy_shadow.cpp:}}[[@LINE-2]]
// CHECK: Uninitialized value was stored to memory at
- // CHECK-FULL-STACK: {{in main.*msan_copy_shadow.cc:}}[[@LINE-8]]
+ // CHECK-FULL-STACK: {{in main.*msan_copy_shadow.cpp:}}[[@LINE-8]]
// CHECK-SHORT-STACK: {{in __msan_copy_shadow .*msan_interceptors.cpp:}}
// CHECK: Uninitialized value was created by a heap allocation
- // CHECK: {{in main.*msan_copy_shadow.cc:}}[[@LINE-23]]
+ // CHECK: {{in main.*msan_copy_shadow.cpp:}}[[@LINE-23]]
}
Removed: compiler-rt/trunk/test/msan/msan_dump_shadow.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_dump_shadow.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/msan_dump_shadow.cc (original)
+++ compiler-rt/trunk/test/msan/msan_dump_shadow.cc (removed)
@@ -1,22 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- char *p = new char[16];
- __msan_dump_shadow(p, 5);
- delete[] p;
- const char *q = "abc";
- __msan_dump_shadow(q, 3);
- return 0;
-}
-
-// CHECK: ff ff ff ff ff
-// CHECK: 00 00 00
Copied: compiler-rt/trunk/test/msan/msan_dump_shadow.cpp (from r367652, compiler-rt/trunk/test/msan/msan_dump_shadow.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_dump_shadow.cpp?p2=compiler-rt/trunk/test/msan/msan_dump_shadow.cpp&p1=compiler-rt/trunk/test/msan/msan_dump_shadow.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/msan_print_shadow.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_print_shadow.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/msan_print_shadow.cc (original)
+++ compiler-rt/trunk/test/msan/msan_print_shadow.cc (removed)
@@ -1,122 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NO-ORIGINS < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-ORIGINS < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-ORIGINS --check-prefix=CHECK-ORIGINS-2 < %t.out
-
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- char volatile x;
- char *p = new char[320];
- p[2] = p[5] = 1;
- p[8] = p[9] = p[10] = p[11] = p[12] = 2;
-
- __msan_allocated_memory(p + 4*3, 4);
- __msan_allocated_memory(p + 4*4, 4);
- __msan_allocated_memory(p + 4*5, 4);
- __msan_allocated_memory(p + 4*6, 4);
- __msan_allocated_memory(p + 4*7, 4);
- __msan_allocated_memory(p + 4*8, 4);
- __msan_allocated_memory(p + 4*9, 4);
- __msan_allocated_memory(p + 4*10, 4);
- __msan_allocated_memory(p + 4*11, 4);
- __msan_allocated_memory(p + 4*12, 4);
- __msan_allocated_memory(p + 4*13, 4);
- __msan_allocated_memory(p + 4*14, 4);
- __msan_allocated_memory(p + 4*15, 4);
- __msan_allocated_memory(p + 4*16, 4);
- __msan_allocated_memory(p + 4*17, 4);
- __msan_allocated_memory(p + 4*18, 4);
- __msan_allocated_memory(p + 4*19, 4);
- __msan_allocated_memory(p + 4*20, 4);
- __msan_allocated_memory(p + 4*21, 4);
- __msan_allocated_memory(p + 4*22, 4);
- __msan_allocated_memory(p + 4*23, 4);
- __msan_allocated_memory(p + 4*24, 4);
- __msan_allocated_memory(p + 4*25, 4);
- __msan_allocated_memory(p + 4*26, 4);
- __msan_allocated_memory(p + 4*27, 4);
- __msan_allocated_memory(p + 4*28, 4);
- __msan_allocated_memory(p + 4*29, 4);
- __msan_allocated_memory(p + 4*30, 4);
- __msan_allocated_memory(p + 4*31, 4);
-
- p[19] = x;
-
- __msan_print_shadow(p+5, 297);
- delete[] p;
- return 0;
-}
-
-// CHECK: Shadow map of [{{.*}}), 297 bytes:
-
-// CHECK-NO-ORIGINS: 0x{{.*}}: ..00ffff 00000000 ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff
-// CHECK-NO-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffff.... ........
-
-// CHECK-ORIGINS: 0x{{.*}}: ..00ffff 00000000 ffffffff ffffffff |A . B C|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |D E F G|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |H I J K|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |L M N O|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |P Q R S|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |T U V W|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |X Y Z *|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |* * * A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffffffff ffffffff |A A A A|
-// CHECK-ORIGINS: 0x{{.*}}: ffffffff ffffffff ffff.... ........ |A A A .|
-
-// CHECK-ORIGINS: Origin A (origin_id {{.*}}):
-// CHECK-ORIGINS: Uninitialized value was created by a heap allocation
-// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cc:14
-
-// CHECK-ORIGINS: Origin B (origin_id {{.*}}):
-// CHECK-ORIGINS: Memory was marked as uninitialized
-// CHECK-ORIGINS: #0 {{.*}} in __msan_allocated_memory
-// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cc:18
-
-// CHECK-ORIGINS: Origin C (origin_id {{.*}}):
-// CHECK-ORIGINS-2: Uninitialized value was stored to memory at
-// CHECK-ORIGINS-2: #0 {{.*}} in main{{.*}}msan_print_shadow.cc:48
-// CHECK-ORIGINS: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'main'
-// CHECK-ORIGINS: #0 {{.*}} in main{{.*}}msan_print_shadow.cc:12
-
-// CHECK-ORIGINS: Origin D (origin_id {{.*}}):
-// CHECK-ORIGINS: Memory was marked as uninitialized
-// CHECK-ORIGINS: #0 {{.*}} in __msan_allocated_memory
-// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cc:20
-
-// ...
-
-// CHECK-ORIGINS: Origin Z (origin_id {{.*}}):
-// CHECK-ORIGINS: Memory was marked as uninitialized
-// CHECK-ORIGINS: #0 {{.*}} in __msan_allocated_memory
-// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cc:42
Copied: compiler-rt/trunk/test/msan/msan_print_shadow.cpp (from r367652, compiler-rt/trunk/test/msan/msan_print_shadow.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_print_shadow.cpp?p2=compiler-rt/trunk/test/msan/msan_print_shadow.cpp&p1=compiler-rt/trunk/test/msan/msan_print_shadow.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/msan_print_shadow.cc (original)
+++ compiler-rt/trunk/test/msan/msan_print_shadow.cpp Thu Aug 1 23:07:05 2019
@@ -96,27 +96,27 @@ int main(void) {
// CHECK-ORIGINS: Origin A (origin_id {{.*}}):
// CHECK-ORIGINS: Uninitialized value was created by a heap allocation
-// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cc:14
+// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cpp:14
// CHECK-ORIGINS: Origin B (origin_id {{.*}}):
// CHECK-ORIGINS: Memory was marked as uninitialized
// CHECK-ORIGINS: #0 {{.*}} in __msan_allocated_memory
-// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cc:18
+// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cpp:18
// CHECK-ORIGINS: Origin C (origin_id {{.*}}):
// CHECK-ORIGINS-2: Uninitialized value was stored to memory at
-// CHECK-ORIGINS-2: #0 {{.*}} in main{{.*}}msan_print_shadow.cc:48
+// CHECK-ORIGINS-2: #0 {{.*}} in main{{.*}}msan_print_shadow.cpp:48
// CHECK-ORIGINS: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'main'
-// CHECK-ORIGINS: #0 {{.*}} in main{{.*}}msan_print_shadow.cc:12
+// CHECK-ORIGINS: #0 {{.*}} in main{{.*}}msan_print_shadow.cpp:12
// CHECK-ORIGINS: Origin D (origin_id {{.*}}):
// CHECK-ORIGINS: Memory was marked as uninitialized
// CHECK-ORIGINS: #0 {{.*}} in __msan_allocated_memory
-// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cc:20
+// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cpp:20
// ...
// CHECK-ORIGINS: Origin Z (origin_id {{.*}}):
// CHECK-ORIGINS: Memory was marked as uninitialized
// CHECK-ORIGINS: #0 {{.*}} in __msan_allocated_memory
-// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cc:42
+// CHECK-ORIGINS: #1 {{.*}} in main{{.*}}msan_print_shadow.cpp:42
Removed: compiler-rt/trunk/test/msan/msan_print_shadow2.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_print_shadow2.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/msan_print_shadow2.cc (original)
+++ compiler-rt/trunk/test/msan/msan_print_shadow2.cc (removed)
@@ -1,49 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NO-ORIGINS < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-ORIGINS < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-ORIGINS < %t.out
-
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- char *p = new char[16];
- __msan_print_shadow(p, 1);
- __msan_print_shadow(p+1, 1);
- __msan_print_shadow(p+3, 1);
- __msan_print_shadow(p+15, 1);
- __msan_print_shadow(p, 0);
- delete[] p;
- int x = 0;
- __msan_print_shadow(&x, 3);
- return 0;
-}
-
-// CHECK: Shadow map of [0x{{.*}}, 0x{{.*}}), 1 bytes:
-// CHECK-NO-ORIGINS: 0x{{.*}}: ff...... ........ ........ ........
-// CHECK-ORIGINS: 0x{{.*}}: ff...... ........ ........ ........ |A . . .|
-// CHECK-ORIGINS: Origin A (origin_id {{.*}}):
-
-// CHECK: Shadow map of [0x{{.*}}, 0x{{.*}}), 1 bytes:
-// CHECK-NO-ORIGINS: 0x{{.*}}: ..ff.... ........ ........ ........
-// CHECK-ORIGINS: 0x{{.*}}: ..ff.... ........ ........ ........ |A . . .|
-// CHECK-ORIGINS: Origin A (origin_id {{.*}}):
-
-// CHECK: Shadow map of [0x{{.*}}, 0x{{.*}}), 1 bytes:
-// CHECK-NO-ORIGINS: 0x{{.*}}: ......ff ........ ........ ........
-// CHECK-ORIGINS: 0x{{.*}}: ......ff ........ ........ ........ |A . . .|
-// CHECK-ORIGINS: Origin A (origin_id {{.*}}):
-
-// CHECK: Shadow map of [0x{{.*}}, 0x{{.*}}), 1 bytes:
-// CHECK-NO-ORIGINS: 0x{{.*}}: ......ff ........ ........ ........
-// CHECK-ORIGINS: 0x{{.*}}: ......ff ........ ........ ........ |A . . .|
-// CHECK-ORIGINS: Origin A (origin_id {{.*}}):
-
-// CHECK: Shadow map of [0x{{.*}}, 0x{{.*}}), 0 bytes:
-
-// CHECK: Shadow map of [0x{{.*}}, 0x{{.*}}), 3 bytes:
-// CHECK-NO-ORIGINS: 0x{{.*}}: 000000.. ........ ........ ........
-// CHECK-ORIGINS: 0x{{.*}}: 000000.. ........ ........ ........ |. . . .|
Copied: compiler-rt/trunk/test/msan/msan_print_shadow2.cpp (from r367652, compiler-rt/trunk/test/msan/msan_print_shadow2.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_print_shadow2.cpp?p2=compiler-rt/trunk/test/msan/msan_print_shadow2.cpp&p1=compiler-rt/trunk/test/msan/msan_print_shadow2.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/msan_print_shadow3.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_print_shadow3.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/msan_print_shadow3.cc (original)
+++ compiler-rt/trunk/test/msan/msan_print_shadow3.cc (removed)
@@ -1,16 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-#include <stdint.h>
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- unsigned long long x = 0; // For 8-byte alignment.
- char x_s[4] = {0x77, 0x65, 0x43, 0x21};
- __msan_partial_poison(&x, &x_s, sizeof(x_s));
- __msan_print_shadow(&x, sizeof(x_s));
- return 0;
-}
-
-// CHECK: Shadow map of [{{.*}}), 4 bytes:
-// CHECK: 0x{{.*}}: 77654321 ........ ........ ........
Copied: compiler-rt/trunk/test/msan/msan_print_shadow3.cpp (from r367652, compiler-rt/trunk/test/msan/msan_print_shadow3.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/msan_print_shadow3.cpp?p2=compiler-rt/trunk/test/msan/msan_print_shadow3.cpp&p1=compiler-rt/trunk/test/msan/msan_print_shadow3.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/mul_by_const.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/mul_by_const.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/mul_by_const.cc (original)
+++ compiler-rt/trunk/test/msan/mul_by_const.cc (removed)
@@ -1,27 +0,0 @@
-// RUN: %clangxx_msan -O2 %s -o %t && %run %t
-
-#include <sanitizer/msan_interface.h>
-
-struct S {
- S(int a0) : a(a0) {}
- int a;
- int b;
-};
-
-// Here S is passed to FooRun as a 64-bit integer.
-// This triggers an optimization where 10000 * s.a is transformed into
-// ((*(uint64_t *)&s) * (10000 * 2**32)) >> 32
-// Test that MSan understands that this kills the uninitialized high half of S
-// (i.e. S::b).
-void FooRun(S s) {
- int64_t x = 10000 * s.a;
- __msan_check_mem_is_initialized(&x, sizeof(x));
-}
-
-int main(void) {
- S z(1);
- // Take &z to ensure that it is built on stack.
- S *volatile p = &z;
- FooRun(z);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/mul_by_const.cpp (from r367652, compiler-rt/trunk/test/msan/mul_by_const.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/mul_by_const.cpp?p2=compiler-rt/trunk/test/msan/mul_by_const.cpp&p1=compiler-rt/trunk/test/msan/mul_by_const.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/no_sanitize_memory.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/no_sanitize_memory.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/no_sanitize_memory.cc (original)
+++ compiler-rt/trunk/test/msan/no_sanitize_memory.cc (removed)
@@ -1,34 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O1 %s -o %t && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O2 %s -o %t && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t >%t.out 2>&1
-
-// RUN: %clangxx_msan -O0 %s -o %t -DCHECK_IN_F && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O1 %s -o %t -DCHECK_IN_F && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O2 %s -o %t -DCHECK_IN_F && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O3 %s -o %t -DCHECK_IN_F && %run %t >%t.out 2>&1
-
-// Test that (no_sanitize_memory) functions
-// * don't check shadow values (-DCHECK_IN_F)
-// * treat all values loaded from memory as fully initialized (-UCHECK_IN_F)
-
-#include <stdlib.h>
-#include <stdio.h>
-
-__attribute__((noinline))
-__attribute__((no_sanitize_memory))
-int f(void) {
- int x;
- int * volatile p = &x;
-#ifdef CHECK_IN_F
- if (*p)
- exit(0);
-#endif
- return *p;
-}
-
-int main(void) {
- if (f())
- exit(0);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/no_sanitize_memory.cpp (from r367652, compiler-rt/trunk/test/msan/no_sanitize_memory.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/no_sanitize_memory.cpp?p2=compiler-rt/trunk/test/msan/no_sanitize_memory.cpp&p1=compiler-rt/trunk/test/msan/no_sanitize_memory.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cc (original)
+++ compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cc (removed)
@@ -1,24 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O1 %s -o %t && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O2 %s -o %t && %run %t >%t.out 2>&1
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t >%t.out 2>&1
-
-// Test that (no_sanitize_memory) functions DO NOT propagate shadow.
-
-#include <stdlib.h>
-#include <stdio.h>
-
-__attribute__((noinline))
-__attribute__((no_sanitize_memory))
-int f(int x) {
- return x;
-}
-
-int main(void) {
- int x;
- int * volatile p = &x;
- int y = f(*p);
- if (y)
- exit(0);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cpp (from r367652, compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cpp?p2=compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cpp&p1=compiler-rt/trunk/test/msan/no_sanitize_memory_prop.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/origin-store-long.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/origin-store-long.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/origin-store-long.cc (original)
+++ compiler-rt/trunk/test/msan/origin-store-long.cc (removed)
@@ -1,21 +0,0 @@
-// Check that 8-byte store updates origin for the full store range.
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s < %t.out
-
-#include <sanitizer/msan_interface.h>
-
-int main() {
- uint64_t *volatile p = new uint64_t;
- uint64_t *volatile q = new uint64_t;
- *p = *q;
- char *z = (char *)p;
- return z[6];
-// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: in main {{.*}}origin-store-long.cc:[[@LINE-2]]
-
-// CHECK: Uninitialized value was created by a heap allocation
-// CHECK: in main {{.*}}origin-store-long.cc:[[@LINE-8]]
-}
-
Copied: compiler-rt/trunk/test/msan/origin-store-long.cpp (from r367652, compiler-rt/trunk/test/msan/origin-store-long.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/origin-store-long.cpp?p2=compiler-rt/trunk/test/msan/origin-store-long.cpp&p1=compiler-rt/trunk/test/msan/origin-store-long.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/origin-store-long.cc (original)
+++ compiler-rt/trunk/test/msan/origin-store-long.cpp Thu Aug 1 23:07:05 2019
@@ -13,9 +13,9 @@ int main() {
char *z = (char *)p;
return z[6];
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: in main {{.*}}origin-store-long.cc:[[@LINE-2]]
+// CHECK: in main {{.*}}origin-store-long.cpp:[[@LINE-2]]
// CHECK: Uninitialized value was created by a heap allocation
-// CHECK: in main {{.*}}origin-store-long.cc:[[@LINE-8]]
+// CHECK: in main {{.*}}origin-store-long.cpp:[[@LINE-8]]
}
Removed: compiler-rt/trunk/test/msan/param_tls_limit.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/param_tls_limit.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/param_tls_limit.cc (original)
+++ compiler-rt/trunk/test/msan/param_tls_limit.cc (removed)
@@ -1,89 +0,0 @@
-// ParamTLS has limited size. Everything that does not fit is considered fully
-// initialized.
-
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && %run %t
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O0 %s -o %t && %run %t
-//
-// AArch64 fails with:
-// void f801(S<801>): Assertion `__msan_test_shadow(&s, sizeof(s)) == -1' failed
-// XFAIL: aarch64
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-
-// This test assumes that ParamTLS size is 800 bytes.
-
-// This test passes poisoned values through function argument list.
-// In case of overflow, argument is unpoisoned.
-#define OVERFLOW(x) assert(__msan_test_shadow(&x, sizeof(x)) == -1)
-// In case of no overflow, it is still poisoned.
-#define NO_OVERFLOW(x) assert(__msan_test_shadow(&x, sizeof(x)) == 0)
-
-#if defined(__x86_64__)
-// In x86_64, if argument is partially outside tls, it is considered completly
-// unpoisoned
-#define PARTIAL_OVERFLOW(x) OVERFLOW(x)
-#else
-// In other archs, bigger arguments are splitted in multiple IR arguments, so
-// they are considered poisoned till tls limit. Checking last byte of such arg:
-#define PARTIAL_OVERFLOW(x) assert(__msan_test_shadow((char *)(&(x) + 1) - 1, 1) == -1)
-#endif
-
-
-template<int N>
-struct S {
- char x[N];
-};
-
-void f100(S<100> s) {
- NO_OVERFLOW(s);
-}
-
-void f800(S<800> s) {
- NO_OVERFLOW(s);
-}
-
-void f801(S<801> s) {
- PARTIAL_OVERFLOW(s);
-}
-
-void f1000(S<1000> s) {
- PARTIAL_OVERFLOW(s);
-}
-
-void f_many(int a, double b, S<800> s, int c, double d) {
- NO_OVERFLOW(a);
- NO_OVERFLOW(b);
- PARTIAL_OVERFLOW(s);
- OVERFLOW(c);
- OVERFLOW(d);
-}
-
-// -8 bytes for "int a", aligned by 8
-// -2 to make "int c" a partial fit
-void f_many2(int a, S<800 - 8 - 2> s, int c, double d) {
- NO_OVERFLOW(a);
- NO_OVERFLOW(s);
- PARTIAL_OVERFLOW(c);
- OVERFLOW(d);
-}
-
-int main(void) {
- S<100> s100;
- S<800> s800;
- S<801> s801;
- S<1000> s1000;
- f100(s100);
- f800(s800);
- f801(s801);
- f1000(s1000);
-
- int i;
- double d;
- f_many(i, d, s800, i, d);
-
- S<800 - 8 - 2> s788;
- f_many2(i, s788, i, d);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/param_tls_limit.cpp (from r367652, compiler-rt/trunk/test/msan/param_tls_limit.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/param_tls_limit.cpp?p2=compiler-rt/trunk/test/msan/param_tls_limit.cpp&p1=compiler-rt/trunk/test/msan/param_tls_limit.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/poison_in_free.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/poison_in_free.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/poison_in_free.cc (original)
+++ compiler-rt/trunk/test/msan/poison_in_free.cc (removed)
@@ -1,16 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-// RUN: %clangxx_msan -O0 %s -o %t && MSAN_OPTIONS=poison_in_free=0 %run %t >%t.out 2>&1
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int main(int argc, char **argv) {
- char *volatile x = (char*)malloc(50 * sizeof(char));
- memset(x, 0, 50);
- free(x);
- return x[25];
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 {{.*}} in main{{.*}}poison_in_free.cc:[[@LINE-2]]
-}
Copied: compiler-rt/trunk/test/msan/poison_in_free.cpp (from r367652, compiler-rt/trunk/test/msan/poison_in_free.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/poison_in_free.cpp?p2=compiler-rt/trunk/test/msan/poison_in_free.cpp&p1=compiler-rt/trunk/test/msan/poison_in_free.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/poison_in_free.cc (original)
+++ compiler-rt/trunk/test/msan/poison_in_free.cpp Thu Aug 1 23:07:05 2019
@@ -12,5 +12,5 @@ int main(int argc, char **argv) {
free(x);
return x[25];
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #0 {{.*}} in main{{.*}}poison_in_free.cc:[[@LINE-2]]
+ // CHECK: #0 {{.*}} in main{{.*}}poison_in_free.cpp:[[@LINE-2]]
}
Removed: compiler-rt/trunk/test/msan/print_stats.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/print_stats.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/print_stats.cc (original)
+++ compiler-rt/trunk/test/msan/print_stats.cc (removed)
@@ -1,45 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -g %s -o %t
-// RUN: %run %t 2>&1 | \
-// RUN: FileCheck --check-prefixes=CHECK,CHECK-NOSTATS %s
-// RUN: MSAN_OPTIONS=print_stats=1 %run %t 2>&1 | \
-// RUN: FileCheck --check-prefixes=CHECK,CHECK-NOSTATS %s
-// RUN: MSAN_OPTIONS=print_stats=1,atexit=1 %run %t 2>&1 | \
-// RUN: FileCheck --check-prefixes=CHECK,CHECK-STATS %s
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -g -DPOSITIVE=1 %s -o %t
-// RUN: not %run %t 2>&1 | \
-// RUN: FileCheck --check-prefixes=CHECK,CHECK-NOSTATS %s
-// RUN: MSAN_OPTIONS=print_stats=1 not %run %t 2>&1 | \
-// RUN: FileCheck --check-prefixes=CHECK,CHECK-STATS %s
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -fsanitize-recover=memory -g -DPOSITIVE=1 %s -o %t
-// RUN: not %run %t 2>&1 | \
-// RUN: FileCheck --check-prefixes=CHECK,CHECK-NOSTATS,CHECK-RECOVER %s
-// RUN: MSAN_OPTIONS=print_stats=1 not %run %t 2>&1 | \
-// RUN: FileCheck --check-prefixes=CHECK,CHECK-STATS,CHECK-RECOVER %s
-
-#include <stdio.h>
-int main(int argc, char **argv) {
- int x;
- int *volatile p = &x;
- fprintf(stderr, "TEST\n");
-#ifdef POSITIVE
- return *p;
-#else
- return 0;
-#endif
-}
-
-// CHECK: TEST
-
-// CHECK-STATS: Unique heap origins:
-// CHECK-STATS: Stack depot allocated bytes:
-// CHECK-STATS: Unique origin histories:
-// CHECK-STATS: History depot allocated bytes:
-
-// CHECK-NOSTATS-NOT: Unique heap origins:
-// CHECK-NOSTATS-NOT: Stack depot allocated bytes:
-// CHECK-NOSTATS-NOT: Unique origin histories:
-// CHECK-NOSTATS-NOT: History depot allocated bytes:
-
-// CHECK-RECOVER: MemorySanitizer: 1 warnings reported.
Copied: compiler-rt/trunk/test/msan/print_stats.cpp (from r367652, compiler-rt/trunk/test/msan/print_stats.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/print_stats.cpp?p2=compiler-rt/trunk/test/msan/print_stats.cpp&p1=compiler-rt/trunk/test/msan/print_stats.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cc (original)
+++ compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cc (removed)
@@ -1,32 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && %run %t
-
-// Regression test for a deadlock in pthread_getattr_np
-
-#include <assert.h>
-#include <pthread.h>
-#if defined(__FreeBSD__)
-#include <pthread_np.h>
-#endif
-
-void *ThreadFn(void *) {
- pthread_attr_t attr;
-#if defined(__FreeBSD__)
- // On FreeBSD it needs to allocate attr underlying memory
- int res = pthread_attr_init(&attr);
- assert(!res);
- res = pthread_attr_get_np(pthread_self(), &attr);
-#else
- int res = pthread_getattr_np(pthread_self(), &attr);
-#endif
- assert(!res);
- return 0;
-}
-
-int main(void) {
- pthread_t t;
- int res = pthread_create(&t, 0, ThreadFn, 0);
- assert(!res);
- res = pthread_join(t, 0);
- assert(!res);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cpp (from r367652, compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cpp?p2=compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cpp&p1=compiler-rt/trunk/test/msan/pthread_getattr_np_deadlock.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/pthread_getname_np.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/pthread_getname_np.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/pthread_getname_np.cc (original)
+++ compiler-rt/trunk/test/msan/pthread_getname_np.cc (removed)
@@ -1,52 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 %s -o %t && %run %t
-// The main goal is getting the pthread name back and
-// FreeBSD based do not support this feature
-// UNSUPPORTED: android, freebsd
-
-// Regression test for a deadlock in pthread_getattr_np
-
-#include <assert.h>
-#include <pthread.h>
-#include <string.h>
-#include <sanitizer/msan_interface.h>
-
-#include <stdio.h>
-
-// Stall child thread on this lock to make sure it doesn't finish
-// before the end of the pthread_getname_np() / pthread_setname_np() tests.
-static pthread_mutex_t lock;
-
-void *ThreadFn(void *) {
- pthread_mutex_lock (&lock);
- pthread_mutex_unlock (&lock);
- return nullptr;
-}
-
-int main(void) {
- pthread_t t;
-
- pthread_mutex_init (&lock, NULL);
- pthread_mutex_lock (&lock);
-
- int res = pthread_create(&t, 0, ThreadFn, 0);
- assert(!res);
-
- const char *kMyThreadName = "my-thread-name";
-#if defined(__NetBSD__)
- res = pthread_setname_np(t, "%s", (void *)kMyThreadName);
-#else
- res = pthread_setname_np(t, kMyThreadName);
-#endif
- assert(!res);
-
- char buf[100];
- res = pthread_getname_np(t, buf, sizeof(buf));
- assert(!res);
- assert(strcmp(buf, kMyThreadName) == 0);
-
- pthread_mutex_unlock (&lock);
-
- res = pthread_join(t, 0);
- assert(!res);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/pthread_getname_np.cpp (from r367652, compiler-rt/trunk/test/msan/pthread_getname_np.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/pthread_getname_np.cpp?p2=compiler-rt/trunk/test/msan/pthread_getname_np.cpp&p1=compiler-rt/trunk/test/msan/pthread_getname_np.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/pthread_setcancelstate.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/pthread_setcancelstate.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/pthread_setcancelstate.cc (original)
+++ compiler-rt/trunk/test/msan/pthread_setcancelstate.cc (removed)
@@ -1,19 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <assert.h>
-#include <pthread.h>
-#include <sanitizer/msan_interface.h>
-
-int main(void) {
- int oldstate;
- int oldtype;
- int res = pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate);
- assert(res == 0);
- __msan_check_mem_is_initialized(&oldstate, sizeof(oldstate));
-
- res = pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
- assert(res == 0);
- __msan_check_mem_is_initialized(&oldtype, sizeof(oldtype));
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/pthread_setcancelstate.cpp (from r367652, compiler-rt/trunk/test/msan/pthread_setcancelstate.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/pthread_setcancelstate.cpp?p2=compiler-rt/trunk/test/msan/pthread_setcancelstate.cpp&p1=compiler-rt/trunk/test/msan/pthread_setcancelstate.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/rand_r.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/rand_r.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/rand_r.cc (original)
+++ compiler-rt/trunk/test/msan/rand_r.cc (removed)
@@ -1,18 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -O0 -g -DUNINIT %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int main(void) {
- unsigned seed;
-#ifndef UNINIT
- seed = 42;
-#endif
- int v = rand_r(&seed);
- // CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: in main{{.*}}rand_r.cc:[[@LINE-2]]
- if (v) printf(".\n");
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/rand_r.cpp (from r367652, compiler-rt/trunk/test/msan/rand_r.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/rand_r.cpp?p2=compiler-rt/trunk/test/msan/rand_r.cpp&p1=compiler-rt/trunk/test/msan/rand_r.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/rand_r.cc (original)
+++ compiler-rt/trunk/test/msan/rand_r.cpp Thu Aug 1 23:07:05 2019
@@ -12,7 +12,7 @@ int main(void) {
#endif
int v = rand_r(&seed);
// CHECK: MemorySanitizer: use-of-uninitialized-value
- // CHECK: in main{{.*}}rand_r.cc:[[@LINE-2]]
+ // CHECK: in main{{.*}}rand_r.cpp:[[@LINE-2]]
if (v) printf(".\n");
return 0;
}
Removed: compiler-rt/trunk/test/msan/readdir64.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/readdir64.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/readdir64.cc (original)
+++ compiler-rt/trunk/test/msan/readdir64.cc (removed)
@@ -1,27 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-// RUN: %clangxx_msan -O1 %s -o %t && %run %t
-// RUN: %clangxx_msan -O2 %s -o %t && %run %t
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t
-
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t
-// RUN: %clangxx_msan -O1 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t
-// RUN: %clangxx_msan -O2 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t
-// RUN: %clangxx_msan -O3 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t
-
-// Test that readdir64 is intercepted as well as readdir.
-
-#include <sys/types.h>
-#include <dirent.h>
-#include <stdlib.h>
-
-
-int main(void) {
- DIR *dir = opendir(".");
- struct dirent *d = readdir(dir);
- if (d->d_name[0]) {
- closedir(dir);
- exit(0);
- }
- closedir(dir);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/readdir64.cpp (from r367652, compiler-rt/trunk/test/msan/readdir64.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/readdir64.cpp?p2=compiler-rt/trunk/test/msan/readdir64.cpp&p1=compiler-rt/trunk/test/msan/readdir64.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/realloc-large-origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/realloc-large-origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/realloc-large-origin.cc (original)
+++ compiler-rt/trunk/test/msan/realloc-large-origin.cc (removed)
@@ -1,31 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck --check-prefix=CHECK --check-prefix=CHECK-%short-stack %s < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck --check-prefix=CHECK --check-prefix=CHECK-%short-stack %s < %t.out
-
-// This is a regression test: there used to be broken "stored to memory at"
-// stacks with
-// in __msan_memcpy
-// in __msan::MsanReallocate
-// and nothing below that.
-
-#include <stdlib.h>
-int main(int argc, char **argv) {
- char *p = (char *)malloc(100);
- p = (char *)realloc(p, 10000);
- char x = p[50];
- free(p);
- return x;
-
-// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: {{#0 0x.* in main .*realloc-large-origin.cc:}}[[@LINE-3]]
-
-// CHECK: Uninitialized value was stored to memory at
-// CHECK-FULL-STACK: {{#0 0x.* in .*realloc}}
-// CHECK-FULL-STACK: {{#1 0x.* in main .*realloc-large-origin.cc:}}[[@LINE-10]]
-// CHECK-SHORT-STACK: {{#0 0x.* in .*realloc}}
-
-// CHECK: Uninitialized value was created by a heap allocation
-// CHECK: {{#0 0x.* in .*malloc}}
-// CHECK: {{#1 0x.* in main .*realloc-large-origin.cc:}}[[@LINE-16]]
-}
Copied: compiler-rt/trunk/test/msan/realloc-large-origin.cpp (from r367652, compiler-rt/trunk/test/msan/realloc-large-origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/realloc-large-origin.cpp?p2=compiler-rt/trunk/test/msan/realloc-large-origin.cpp&p1=compiler-rt/trunk/test/msan/realloc-large-origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/realloc-large-origin.cc (original)
+++ compiler-rt/trunk/test/msan/realloc-large-origin.cpp Thu Aug 1 23:07:05 2019
@@ -18,14 +18,14 @@ int main(int argc, char **argv) {
return x;
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: {{#0 0x.* in main .*realloc-large-origin.cc:}}[[@LINE-3]]
+// CHECK: {{#0 0x.* in main .*realloc-large-origin.cpp:}}[[@LINE-3]]
// CHECK: Uninitialized value was stored to memory at
// CHECK-FULL-STACK: {{#0 0x.* in .*realloc}}
-// CHECK-FULL-STACK: {{#1 0x.* in main .*realloc-large-origin.cc:}}[[@LINE-10]]
+// CHECK-FULL-STACK: {{#1 0x.* in main .*realloc-large-origin.cpp:}}[[@LINE-10]]
// CHECK-SHORT-STACK: {{#0 0x.* in .*realloc}}
// CHECK: Uninitialized value was created by a heap allocation
// CHECK: {{#0 0x.* in .*malloc}}
-// CHECK: {{#1 0x.* in main .*realloc-large-origin.cc:}}[[@LINE-16]]
+// CHECK: {{#1 0x.* in main .*realloc-large-origin.cpp:}}[[@LINE-16]]
}
Removed: compiler-rt/trunk/test/msan/realloc-origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/realloc-origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/realloc-origin.cc (original)
+++ compiler-rt/trunk/test/msan/realloc-origin.cc (removed)
@@ -1,21 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// This test relies on realloc from 100 to 101 being done in-place.
-
-#include <stdlib.h>
-int main(int argc, char **argv) {
- char *p = (char *)malloc(100);
- p = (char *)realloc(p, 101);
- char x = p[100];
- free(p);
- return x;
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*realloc-origin.cc:}}[[@LINE-2]]
-
- // CHECK: Uninitialized value was created by a heap allocation
- // CHECK: {{#0 0x.* in .*realloc}}
- // CHECK: {{#1 0x.* in main .*realloc-origin.cc:}}[[@LINE-9]]
-}
Copied: compiler-rt/trunk/test/msan/realloc-origin.cpp (from r367652, compiler-rt/trunk/test/msan/realloc-origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/realloc-origin.cpp?p2=compiler-rt/trunk/test/msan/realloc-origin.cpp&p1=compiler-rt/trunk/test/msan/realloc-origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/realloc-origin.cc (original)
+++ compiler-rt/trunk/test/msan/realloc-origin.cpp Thu Aug 1 23:07:05 2019
@@ -13,9 +13,9 @@ int main(int argc, char **argv) {
free(p);
return x;
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*realloc-origin.cc:}}[[@LINE-2]]
+ // CHECK: {{#0 0x.* in main .*realloc-origin.cpp:}}[[@LINE-2]]
// CHECK: Uninitialized value was created by a heap allocation
// CHECK: {{#0 0x.* in .*realloc}}
- // CHECK: {{#1 0x.* in main .*realloc-origin.cc:}}[[@LINE-9]]
+ // CHECK: {{#1 0x.* in main .*realloc-origin.cpp:}}[[@LINE-9]]
}
Removed: compiler-rt/trunk/test/msan/recover-dso.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/recover-dso.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/recover-dso.cc (original)
+++ compiler-rt/trunk/test/msan/recover-dso.cc (removed)
@@ -1,39 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-// RUN: %clangxx_msan -O0 %s -o %t && MSAN_OPTIONS=keep_going=0 not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-// RUN: %clangxx_msan -O0 %s -o %t && MSAN_OPTIONS=keep_going=1 not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-
-// Test how -fsanitize-recover=memory and MSAN_OPTIONS=keep_going affect reports
-// from interceptors.
-// -fsanitize-recover=memory provides the default value of keep_going flag, but is
-// always overwritten by MSAN_OPTIONS
-
-// RUN: %clangxx_msan -fsanitize-recover=memory -O0 %s -o %t && not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-// RUN: %clangxx_msan -fsanitize-recover=memory -O0 %s -o %t && MSAN_OPTIONS=keep_going=0 not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-// RUN: %clangxx_msan -fsanitize-recover=memory -O0 %s -o %t && MSAN_OPTIONS=keep_going=1 not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-
-// Test how legacy -mllvm -msan-keep-going and MSAN_OPTIONS=keep_going affect
-// reports from interceptors.
-
-// RUN: %clangxx_msan -mllvm -msan-keep-going=1 -O0 %s -o %t && not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int main(int argc, char **argv) {
- char *volatile x = (char*)malloc(5 * sizeof(char));
- x[4] = 0;
- if (strlen(x) < 3)
- exit(0);
- fprintf(stderr, "Done\n");
- // CHECK-NOT: Done
- // CHECK-RECOVER: Done
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/recover-dso.cpp (from r367652, compiler-rt/trunk/test/msan/recover-dso.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/recover-dso.cpp?p2=compiler-rt/trunk/test/msan/recover-dso.cpp&p1=compiler-rt/trunk/test/msan/recover-dso.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/recover.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/recover.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/recover.cc (original)
+++ compiler-rt/trunk/test/msan/recover.cc (removed)
@@ -1,41 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-// RUN: %clangxx_msan -O0 %s -o %t && MSAN_OPTIONS=keep_going=0 not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-// RUN: %clangxx_msan -O0 %s -o %t && MSAN_OPTIONS=keep_going=1 not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-
-// Test behavior of -fsanitize-recover=memory and MSAN_OPTIONS=keep_going.
-// -fsanitize-recover=memory provides the default value of keep_going flag; value
-// of 1 can be overwritten by MSAN_OPTIONS, value of 0 can not.
-
-// RUN: %clangxx_msan -fsanitize-recover=memory -O0 %s -o %t && not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-// RUN: %clangxx_msan -fsanitize-recover=memory -O0 %s -o %t && MSAN_OPTIONS=keep_going=0 not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-// RUN: %clangxx_msan -fsanitize-recover=memory -O0 %s -o %t && MSAN_OPTIONS=keep_going=1 not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-// RUN: %clangxx_msan -fsanitize-recover=memory -O0 %s -o %t && MSAN_OPTIONS=halt_on_error=1 not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-// RUN: %clangxx_msan -fsanitize-recover=memory -O0 %s -o %t && MSAN_OPTIONS=halt_on_error=0 not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-
-// Basic test of legacy -mllvm -msan-keep-going and MSAN_OPTIONS=keep_going.
-
-// RUN: %clangxx_msan -mllvm -msan-keep-going=1 -O0 %s -o %t && not %run %t >%t.out 2>&1
-// FileCheck --check-prefix=CHECK-RECOVER %s <%t.out
-// RUN: %clangxx_msan -mllvm -msan-keep-going=1 -O0 %s -o %t && MSAN_OPTIONS=keep_going=0 not %run %t >%t.out 2>&1
-// FileCheck %s <%t.out
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int main(int argc, char **argv) {
- char *volatile x = (char*)malloc(5 * sizeof(char));
- if (x[0])
- exit(0);
- fprintf(stderr, "Done\n");
- // CHECK-NOT: Done
- // CHECK-RECOVER: Done
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/recover.cpp (from r367652, compiler-rt/trunk/test/msan/recover.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/recover.cpp?p2=compiler-rt/trunk/test/msan/recover.cpp&p1=compiler-rt/trunk/test/msan/recover.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/report-demangling.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/report-demangling.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/report-demangling.cc (original)
+++ compiler-rt/trunk/test/msan/report-demangling.cc (removed)
@@ -1,19 +0,0 @@
-// Test that function name is mangled in the "created by an allocation" line,
-// and demangled in the single-frame "stack trace" that follows.
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s < %t.out
-
-__attribute__((noinline))
-int f() {
- int x;
- int *volatile p = &x;
- return *p;
-}
-
-int main(int argc, char **argv) {
- return f();
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: Uninitialized value was created by an allocation of 'x' in the stack frame of function '_Z1fv'
- // CHECK: #0 {{.*}} in f{{.*}} {{.*}}report-demangling.cc:[[@LINE-10]]
-}
Copied: compiler-rt/trunk/test/msan/report-demangling.cpp (from r367652, compiler-rt/trunk/test/msan/report-demangling.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/report-demangling.cpp?p2=compiler-rt/trunk/test/msan/report-demangling.cpp&p1=compiler-rt/trunk/test/msan/report-demangling.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/report-demangling.cc (original)
+++ compiler-rt/trunk/test/msan/report-demangling.cpp Thu Aug 1 23:07:05 2019
@@ -15,5 +15,5 @@ int main(int argc, char **argv) {
return f();
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
// CHECK: Uninitialized value was created by an allocation of 'x' in the stack frame of function '_Z1fv'
- // CHECK: #0 {{.*}} in f{{.*}} {{.*}}report-demangling.cc:[[@LINE-10]]
+ // CHECK: #0 {{.*}} in f{{.*}} {{.*}}report-demangling.cpp:[[@LINE-10]]
}
Removed: compiler-rt/trunk/test/msan/scandir.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/scandir.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/scandir.cc (original)
+++ compiler-rt/trunk/test/msan/scandir.cc (removed)
@@ -1,56 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t %p
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t %p
-
-#include <assert.h>
-#include <glob.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <unistd.h>
-
-#include <sanitizer/msan_interface.h>
-
-
-static int my_filter(const struct dirent *a) {
- assert(__msan_test_shadow(&a, sizeof(a)) == (size_t)-1);
- printf("%s\n", a->d_name);
- __msan_print_shadow(a, a->d_reclen);
- assert(__msan_test_shadow(a, a->d_reclen) == (size_t)-1);
- printf("%s\n", a->d_name);
- return strlen(a->d_name) == 3 && a->d_name[2] == 'b';
-}
-
-static int my_compar(const struct dirent **a, const struct dirent **b) {
- assert(__msan_test_shadow(a, sizeof(*a)) == (size_t)-1);
- assert(__msan_test_shadow(*a, (*a)->d_reclen) == (size_t)-1);
- assert(__msan_test_shadow(b, sizeof(*b)) == (size_t)-1);
- assert(__msan_test_shadow(*b, (*b)->d_reclen) == (size_t)-1);
- if ((*a)->d_name[1] == (*b)->d_name[1])
- return 0;
- return ((*a)->d_name[1] < (*b)->d_name[1]) ? 1 : -1;
-}
-
-int main(int argc, char *argv[]) {
- assert(argc == 2);
- char buf[1024];
- snprintf(buf, sizeof(buf), "%s/%s", argv[1], "scandir_test_root/");
-
- struct dirent **d;
- int res = scandir(buf, &d, my_filter, my_compar);
- assert(res == 2);
- assert(__msan_test_shadow(&d, sizeof(*d)) == (size_t)-1);
- for (int i = 0; i < res; ++i) {
- assert(__msan_test_shadow(&d[i], sizeof(d[i])) == (size_t)-1);
- assert(__msan_test_shadow(d[i], d[i]->d_reclen) == (size_t)-1);
- }
-
- assert(strcmp(d[0]->d_name, "bbb") == 0);
- assert(strcmp(d[1]->d_name, "aab") == 0);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/scandir.cpp (from r367652, compiler-rt/trunk/test/msan/scandir.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/scandir.cpp?p2=compiler-rt/trunk/test/msan/scandir.cpp&p1=compiler-rt/trunk/test/msan/scandir.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/scandir_null.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/scandir_null.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/scandir_null.cc (original)
+++ compiler-rt/trunk/test/msan/scandir_null.cc (removed)
@@ -1,34 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t %p
-// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t %p
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t %p
-
-#include <assert.h>
-#include <glob.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <unistd.h>
-
-#include <sanitizer/msan_interface.h>
-
-
-int main(int argc, char *argv[]) {
- assert(argc == 2);
- char buf[1024];
- snprintf(buf, sizeof(buf), "%s/%s", argv[1], "scandir_test_root/");
-
- struct dirent **d;
- int res = scandir(buf, &d, NULL, NULL);
- assert(res >= 3);
- assert(__msan_test_shadow(&d, sizeof(*d)) == (size_t)-1);
- for (int i = 0; i < res; ++i) {
- assert(__msan_test_shadow(&d[i], sizeof(d[i])) == (size_t)-1);
- assert(__msan_test_shadow(d[i], d[i]->d_reclen) == (size_t)-1);
- }
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/scandir_null.cpp (from r367652, compiler-rt/trunk/test/msan/scandir_null.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/scandir_null.cpp?p2=compiler-rt/trunk/test/msan/scandir_null.cpp&p1=compiler-rt/trunk/test/msan/scandir_null.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/scoped-interceptors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/scoped-interceptors.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/scoped-interceptors.cc (original)
+++ compiler-rt/trunk/test/msan/scoped-interceptors.cc (removed)
@@ -1,52 +0,0 @@
-// RUN: %clangxx_msan %s -o %t
-// RUN: %run %t --disable-checks 0 2>&1 | FileCheck --check-prefix=DISABLED --allow-empty %s
-// RUN: %run %t --disable-checks 1 2>&1 | FileCheck --check-prefix=DISABLED --allow-empty %s
-// RUN: %run %t --disable-checks 2 2>&1 | FileCheck --check-prefix=DISABLED --allow-empty %s
-// RUN: %run %t --disable-checks 3 2>&1 | FileCheck --check-prefix=DISABLED --allow-empty %s
-// RUN: not %run %t --reenable-checks 0 2>&1 | FileCheck --check-prefix=CASE-0 %s
-// RUN: not %run %t --reenable-checks 1 2>&1 | FileCheck --check-prefix=CASE-1 %s
-// RUN: not %run %t --reenable-checks 2 2>&1 | FileCheck --check-prefix=CASE-2 %s
-// RUN: not %run %t --reenable-checks 3 2>&1 | FileCheck --check-prefix=CASE-3 %s
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char *argv[]) {
- assert(argc == 3);
- __msan_scoped_disable_interceptor_checks();
- if (strcmp(argv[1], "--reenable-checks") == 0)
- __msan_scoped_enable_interceptor_checks();
-
- char uninit[7];
- switch (argv[2][0]) {
- case '0': {
- char *copy = strndup(uninit, sizeof(uninit)); // BOOM
- free(copy);
- break;
- // CASE-0: Uninitialized bytes in __interceptor_strndup
- }
- case '1': {
- puts(uninit); // BOOM
- puts(uninit); // Ensure previous call did not enable interceptor checks.
- break;
- // CASE-1: Uninitialized bytes in __interceptor_puts
- }
- case '2': {
- int cmp = memcmp(uninit, uninit, sizeof(uninit)); // BOOM
- break;
- // CASE-2: Uninitialized bytes in MemcmpInterceptorCommon
- }
- case '3': {
- size_t len = strlen(uninit); // BOOM
- break;
- // CASE-3: Uninitialized bytes in __interceptor_strlen
- }
- default: assert(0);
- }
- // DISABLED-NOT: Uninitialized bytes
- return 0;
-}
-
Copied: compiler-rt/trunk/test/msan/scoped-interceptors.cpp (from r367652, compiler-rt/trunk/test/msan/scoped-interceptors.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/scoped-interceptors.cpp?p2=compiler-rt/trunk/test/msan/scoped-interceptors.cpp&p1=compiler-rt/trunk/test/msan/scoped-interceptors.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/select.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/select.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/select.cc (original)
+++ compiler-rt/trunk/test/msan/select.cc (removed)
@@ -1,22 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-#include <stdlib.h>
-int main(int argc, char **argv) {
- int x;
- int *volatile p = &x;
- int z = *p ? 1 : 0;
- if (z)
- exit(0);
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*select.cc:}}[[@LINE-3]]
-
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*select.cc:.* main}}
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/select.cpp (from r367652, compiler-rt/trunk/test/msan/select.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/select.cpp?p2=compiler-rt/trunk/test/msan/select.cpp&p1=compiler-rt/trunk/test/msan/select.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/select.cc (original)
+++ compiler-rt/trunk/test/msan/select.cpp Thu Aug 1 23:07:05 2019
@@ -15,8 +15,8 @@ int main(int argc, char **argv) {
if (z)
exit(0);
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*select.cc:}}[[@LINE-3]]
+ // CHECK: {{#0 0x.* in main .*select.cpp:}}[[@LINE-3]]
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*select.cc:.* main}}
+ // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*select.cpp:.* main}}
return 0;
}
Removed: compiler-rt/trunk/test/msan/select_float_origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/select_float_origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/select_float_origin.cc (original)
+++ compiler-rt/trunk/test/msan/select_float_origin.cc (removed)
@@ -1,24 +0,0 @@
-// Regression test for origin propagation in "select i1, float, float".
-// https://code.google.com/p/memory-sanitizer/issues/detail?id=78
-
-// RUN: %clangxx_msan -O2 -fsanitize-memory-track-origins %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -O2 -fsanitize-memory-track-origins=2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-#include <stdio.h>
-#include <sanitizer/msan_interface.h>
-
-int main() {
- volatile bool b = true;
- float x, y;
- __msan_allocated_memory(&x, sizeof(x));
- __msan_allocated_memory(&y, sizeof(y));
- float z = b ? x : y;
- if (z > 0) printf(".\n");
- // CHECK: Memory was marked as uninitialized
- // CHECK: {{#0 0x.* in .*__msan_allocated_memory}}
- // CHECK: {{#1 0x.* in main .*select_float_origin.cc:}}[[@LINE-6]]
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/select_float_origin.cpp (from r367652, compiler-rt/trunk/test/msan/select_float_origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/select_float_origin.cpp?p2=compiler-rt/trunk/test/msan/select_float_origin.cpp&p1=compiler-rt/trunk/test/msan/select_float_origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/select_float_origin.cc (original)
+++ compiler-rt/trunk/test/msan/select_float_origin.cpp Thu Aug 1 23:07:05 2019
@@ -19,6 +19,6 @@ int main() {
if (z > 0) printf(".\n");
// CHECK: Memory was marked as uninitialized
// CHECK: {{#0 0x.* in .*__msan_allocated_memory}}
- // CHECK: {{#1 0x.* in main .*select_float_origin.cc:}}[[@LINE-6]]
+ // CHECK: {{#1 0x.* in main .*select_float_origin.cpp:}}[[@LINE-6]]
return 0;
}
Removed: compiler-rt/trunk/test/msan/select_origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/select_origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/select_origin.cc (original)
+++ compiler-rt/trunk/test/msan/select_origin.cc (removed)
@@ -1,22 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O1 %s -o %t && not %run %t 2>&1 | FileCheck %s
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O2 %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-// Test condition origin propagation through "select" IR instruction.
-
-#include <stdio.h>
-#include <stdint.h>
-
-__attribute__((noinline))
-int *max_by_ptr(int *a, int *b) {
- return *a < *b ? b : a;
-}
-
-int main(void) {
- int x;
- int *volatile px = &x;
- int y = 43;
- int *p = max_by_ptr(px, &y);
- // CHECK: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'main'
- return *p;
-}
Copied: compiler-rt/trunk/test/msan/select_origin.cpp (from r367652, compiler-rt/trunk/test/msan/select_origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/select_origin.cpp?p2=compiler-rt/trunk/test/msan/select_origin.cpp&p1=compiler-rt/trunk/test/msan/select_origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/sem_getvalue.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sem_getvalue.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/sem_getvalue.cc (original)
+++ compiler-rt/trunk/test/msan/sem_getvalue.cc (removed)
@@ -1,22 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <sanitizer/msan_interface.h>
-#include <semaphore.h>
-
-int main(void) {
- sem_t sem;
- int res = sem_init(&sem, 0, 42);
- assert(res == 0);
-
- int v;
- res = sem_getvalue(&sem, &v);
- assert(res == 0);
- __msan_check_mem_is_initialized(&v, sizeof(v));
- assert(v == 42);
-
- res = sem_destroy(&sem);
- assert(res == 0);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/sem_getvalue.cpp (from r367652, compiler-rt/trunk/test/msan/sem_getvalue.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sem_getvalue.cpp?p2=compiler-rt/trunk/test/msan/sem_getvalue.cpp&p1=compiler-rt/trunk/test/msan/sem_getvalue.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/setlocale.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/setlocale.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/setlocale.cc (original)
+++ compiler-rt/trunk/test/msan/setlocale.cc (removed)
@@ -1,13 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <assert.h>
-#include <locale.h>
-#include <stdlib.h>
-
-int main(void) {
- char *locale = setlocale (LC_ALL, "");
- assert(locale);
- if (locale[0])
- exit(0);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/setlocale.cpp (from r367652, compiler-rt/trunk/test/msan/setlocale.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/setlocale.cpp?p2=compiler-rt/trunk/test/msan/setlocale.cpp&p1=compiler-rt/trunk/test/msan/setlocale.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/sigaction.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sigaction.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/sigaction.cc (original)
+++ compiler-rt/trunk/test/msan/sigaction.cc (removed)
@@ -1,47 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 -g %s -o %t
-// RUN: %run %t __
-// RUN: not %run %t A_ 2>&1 | FileCheck %s
-// RUN: not %run %t AH 2>&1 | FileCheck %s
-// RUN: not %run %t B_ 2>&1 | FileCheck %s
-// RUN: not %run %t BH 2>&1 | FileCheck %s
-// RUN: not %run %t C_ 2>&1 | FileCheck %s
-// RUN: not %run %t CH 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <signal.h>
-#include <string.h>
-#include <sys/time.h>
-#include <unistd.h>
-
-#include <sanitizer/msan_interface.h>
-
-void handler(int) {}
-void action(int, siginfo_t *, void *) {}
-
-int main(int argc, char **argv) {
- char T = argv[1][0];
- char H = argv[1][1];
- struct sigaction sa;
- memset(&sa, 0, sizeof(sa));
- if (H == 'H') {
- sa.sa_handler = handler;
- } else {
- sa.sa_sigaction = action;
- sa.sa_flags = SA_SIGINFO;
- }
-
- if (T == 'A') {
- if (H == 'H')
- __msan_poison(&sa.sa_handler, sizeof(sa.sa_handler));
- else
- __msan_poison(&sa.sa_sigaction, sizeof(sa.sa_sigaction));
- }
- if (T == 'B')
- __msan_poison(&sa.sa_flags, sizeof(sa.sa_flags));
- if (T == 'C')
- __msan_poison(&sa.sa_mask, sizeof(sa.sa_mask));
- // CHECK: use-of-uninitialized-value
- int res = sigaction(SIGUSR1, &sa, nullptr);
- assert(res == 0);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/sigaction.cpp (from r367652, compiler-rt/trunk/test/msan/sigaction.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sigaction.cpp?p2=compiler-rt/trunk/test/msan/sigaction.cpp&p1=compiler-rt/trunk/test/msan/sigaction.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/signal_stress_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/signal_stress_test.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/signal_stress_test.cc (original)
+++ compiler-rt/trunk/test/msan/signal_stress_test.cc (removed)
@@ -1,74 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 %s -o %t && %run %t
-//
-// Test that va_arg shadow from a signal handler does not leak outside.
-
-// Reported deadly signal due to stack-overflow
-// XFAIL: netbsd
-
-#include <signal.h>
-#include <stdarg.h>
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-#include <sys/time.h>
-#include <stdio.h>
-
-const int kSigCnt = 200;
-
-void f(bool poisoned, int n, ...) {
- va_list vl;
- va_start(vl, n);
- for (int i = 0; i < n; ++i) {
- void *p = va_arg(vl, void *);
- if (!poisoned)
- assert(__msan_test_shadow(&p, sizeof(p)) == -1);
- }
- va_end(vl);
-}
-
-int sigcnt;
-
-void SignalHandler(int signo) {
- assert(signo == SIGPROF);
- void *p;
- void **volatile q = &p;
- f(true, 10,
- *q, *q, *q, *q, *q,
- *q, *q, *q, *q, *q);
- ++sigcnt;
-}
-
-int main() {
- signal(SIGPROF, SignalHandler);
-
- itimerval itv;
- itv.it_interval.tv_sec = 0;
- itv.it_interval.tv_usec = 100;
- itv.it_value.tv_sec = 0;
- itv.it_value.tv_usec = 100;
- setitimer(ITIMER_PROF, &itv, NULL);
-
- void *p;
- void **volatile q = &p;
-
- do {
- f(false, 20,
- nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr);
- f(true, 20,
- *q, *q, *q, *q, *q,
- *q, *q, *q, *q, *q,
- *q, *q, *q, *q, *q,
- *q, *q, *q, *q, *q);
- } while (sigcnt < kSigCnt);
-
- itv.it_interval.tv_sec = 0;
- itv.it_interval.tv_usec = 0;
- itv.it_value.tv_sec = 0;
- itv.it_value.tv_usec = 0;
- setitimer(ITIMER_PROF, &itv, NULL);
-
- signal(SIGPROF, SIG_DFL);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/signal_stress_test.cpp (from r367652, compiler-rt/trunk/test/msan/signal_stress_test.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/signal_stress_test.cpp?p2=compiler-rt/trunk/test/msan/signal_stress_test.cpp&p1=compiler-rt/trunk/test/msan/signal_stress_test.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/sigwait.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sigwait.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/sigwait.cc (original)
+++ compiler-rt/trunk/test/msan/sigwait.cc (removed)
@@ -1,35 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 -g %s -o %t && %run %t
-// RUN: %clangxx_msan -DPOSITIVE -std=c++11 -O0 -g %s -o %t && not %run %t 2>&1 | FileCheck %s
-
-#include <assert.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <unistd.h>
-
-#include <sanitizer/msan_interface.h>
-
-void test_sigwait() {
- sigset_t s;
-#ifndef POSITIVE
- sigemptyset(&s);
- sigaddset(&s, SIGUSR1);
-#endif
- sigprocmask(SIG_BLOCK, &s, 0);
- // CHECK: MemorySanitizer: use-of-uninitialized-value
-
- if (pid_t pid = fork()) {
- kill(pid, SIGUSR1);
- _exit(0);
- } else {
- int sig;
- int res = sigwait(&s, &sig);
- assert(!res);
- // The following checks that sig is initialized.
- assert(sig == SIGUSR1);
- }
-}
-
-int main(void) {
- test_sigwait();
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/sigwait.cpp (from r367652, compiler-rt/trunk/test/msan/sigwait.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sigwait.cpp?p2=compiler-rt/trunk/test/msan/sigwait.cpp&p1=compiler-rt/trunk/test/msan/sigwait.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/sigwaitinfo.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sigwaitinfo.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/sigwaitinfo.cc (original)
+++ compiler-rt/trunk/test/msan/sigwaitinfo.cc (removed)
@@ -1,31 +0,0 @@
-// RUN: %clangxx_msan -std=c++11 -O0 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <sanitizer/msan_interface.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <unistd.h>
-
-void test_sigwaitinfo() {
- sigset_t s;
- sigemptyset(&s);
- sigaddset(&s, SIGUSR1);
- sigprocmask(SIG_BLOCK, &s, 0);
-
- if (pid_t pid = fork()) {
- kill(pid, SIGUSR1);
- _exit(0);
- } else {
- siginfo_t info;
- int res = sigwaitinfo(&s, &info);
- assert(!res);
- // The following checks that sig is initialized.
- assert(info.si_signo == SIGUSR1);
- assert(-1 == __msan_test_shadow(&info, sizeof(info)));
- }
-}
-
-int main(void) {
- test_sigwaitinfo();
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/sigwaitinfo.cpp (from r367652, compiler-rt/trunk/test/msan/sigwaitinfo.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sigwaitinfo.cpp?p2=compiler-rt/trunk/test/msan/sigwaitinfo.cpp&p1=compiler-rt/trunk/test/msan/sigwaitinfo.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/stack-origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/stack-origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/stack-origin.cc (original)
+++ compiler-rt/trunk/test/msan/stack-origin.cc (removed)
@@ -1,31 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-
-#include <stdlib.h>
-int main(int argc, char **argv) {
- int x;
- int *volatile p = &x;
- return *p;
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*stack-origin.cc:}}[[@LINE-2]]
-
- // CHECK-ORIGINS: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'main'
- // CHECK-ORIGINS: {{#0 0x.* in main .*stack-origin.cc:}}[[@LINE-8]]
-
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*stack-origin.cc:.* main}}
-}
Copied: compiler-rt/trunk/test/msan/stack-origin.cpp (from r367652, compiler-rt/trunk/test/msan/stack-origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/stack-origin.cpp?p2=compiler-rt/trunk/test/msan/stack-origin.cpp&p1=compiler-rt/trunk/test/msan/stack-origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/stack-origin.cc (original)
+++ compiler-rt/trunk/test/msan/stack-origin.cpp Thu Aug 1 23:07:05 2019
@@ -22,10 +22,10 @@ int main(int argc, char **argv) {
int *volatile p = &x;
return *p;
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*stack-origin.cc:}}[[@LINE-2]]
+ // CHECK: {{#0 0x.* in main .*stack-origin.cpp:}}[[@LINE-2]]
// CHECK-ORIGINS: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'main'
- // CHECK-ORIGINS: {{#0 0x.* in main .*stack-origin.cc:}}[[@LINE-8]]
+ // CHECK-ORIGINS: {{#0 0x.* in main .*stack-origin.cpp:}}[[@LINE-8]]
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*stack-origin.cc:.* main}}
+ // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*stack-origin.cpp:.* main}}
}
Removed: compiler-rt/trunk/test/msan/stack-origin2.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/stack-origin2.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/stack-origin2.cc (original)
+++ compiler-rt/trunk/test/msan/stack-origin2.cc (removed)
@@ -1,41 +0,0 @@
-// Test that on the second entry to a function the origins are still right.
-
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-
-#include <stdlib.h>
-
-extern "C"
-int f(int depth) {
- if (depth) return f(depth - 1);
-
- int x;
- int *volatile p = &x;
- return *p;
-}
-
-int main(int argc, char **argv) {
- return f(1);
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*stack-origin2.cc:}}[[@LINE-2]]
-
- // CHECK-ORIGINS: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'f'
- // CHECK-ORIGINS: {{#0 0x.* in f .*stack-origin2.cc:}}[[@LINE-14]]
-
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*stack-origin2.cc:.* main}}
-}
Copied: compiler-rt/trunk/test/msan/stack-origin2.cpp (from r367652, compiler-rt/trunk/test/msan/stack-origin2.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/stack-origin2.cpp?p2=compiler-rt/trunk/test/msan/stack-origin2.cpp&p1=compiler-rt/trunk/test/msan/stack-origin2.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/stack-origin2.cc (original)
+++ compiler-rt/trunk/test/msan/stack-origin2.cpp Thu Aug 1 23:07:05 2019
@@ -32,10 +32,10 @@ int f(int depth) {
int main(int argc, char **argv) {
return f(1);
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*stack-origin2.cc:}}[[@LINE-2]]
+ // CHECK: {{#0 0x.* in main .*stack-origin2.cpp:}}[[@LINE-2]]
// CHECK-ORIGINS: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'f'
- // CHECK-ORIGINS: {{#0 0x.* in f .*stack-origin2.cc:}}[[@LINE-14]]
+ // CHECK-ORIGINS: {{#0 0x.* in f .*stack-origin2.cpp:}}[[@LINE-14]]
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*stack-origin2.cc:.* main}}
+ // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*stack-origin2.cpp:.* main}}
}
Removed: compiler-rt/trunk/test/msan/strlen_of_shadow.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/strlen_of_shadow.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/strlen_of_shadow.cc (original)
+++ compiler-rt/trunk/test/msan/strlen_of_shadow.cc (removed)
@@ -1,38 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-// Check that strlen() and similar intercepted functions can be called on shadow
-// memory.
-// The mem_to_shadow's part might need rework
-// XFAIL: freebsd
-
-#include <assert.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include "test.h"
-
-const char *mem_to_shadow(const char *p) {
-#if defined(__x86_64__)
- return (char *)((uintptr_t)p ^ 0x500000000000ULL);
-#elif defined (__mips64)
- return (char *)((uintptr_t)p ^ 0x8000000000ULL);
-#elif defined(__powerpc64__)
-#define LINEARIZE_MEM(mem) \
- (((uintptr_t)(mem) & ~0x200000000000ULL) ^ 0x100000000000ULL)
- return (char *)(LINEARIZE_MEM(p) + 0x080000000000ULL);
-#elif defined(__aarch64__)
- return (char *)((uintptr_t)p ^ 0x6000000000ULL);
-#endif
-}
-
-int main(void) {
- const char *s = "abcdef";
- assert(strlen(s) == 6);
- assert(strlen(mem_to_shadow(s)) == 0);
-
- char *t = new char[42];
- t[41] = 0;
- assert(strlen(mem_to_shadow(t)) == 41);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/strlen_of_shadow.cpp (from r367652, compiler-rt/trunk/test/msan/strlen_of_shadow.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/strlen_of_shadow.cpp?p2=compiler-rt/trunk/test/msan/strlen_of_shadow.cpp&p1=compiler-rt/trunk/test/msan/strlen_of_shadow.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/strndup.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/strndup.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/strndup.cc (original)
+++ compiler-rt/trunk/test/msan/strndup.cc (removed)
@@ -1,28 +0,0 @@
-// RUN: %clangxx_msan %s -o %t && not %run %t 2>&1 | FileCheck --check-prefix=ON %s
-// RUN: %clangxx_msan %s -o %t && MSAN_OPTIONS=intercept_strndup=0 %run %t 2>&1 | FileCheck --check-prefix=OFF --allow-empty %s
-
-// When built as C on Linux, strndup is transformed to __strndup.
-// RUN: %clangxx_msan -O3 -xc %s -o %t && not %run %t 2>&1 | FileCheck --check-prefix=ON %s
-
-// UNSUPPORTED: windows-msvc
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char **argv) {
- char kString[4] = "abc";
- __msan_poison(kString + 2, 1);
- char *copy = strndup(kString, 4); // BOOM
- assert(__msan_test_shadow(copy, 4) == 2); // Poisoning is preserved.
- free(copy);
- return 0;
- // ON: Uninitialized bytes in __interceptor_{{(__)?}}strndup at offset 2 inside [{{.*}}, 4)
- // ON: MemorySanitizer: use-of-uninitialized-value
- // ON: #0 {{.*}}main {{.*}}strndup.cc:[[@LINE-6]]
- // ON-LABEL: SUMMARY
- // ON: {{.*}}strndup.cc:[[@LINE-8]]
- // OFF-NOT: MemorySanitizer
-}
-
Copied: compiler-rt/trunk/test/msan/strndup.cpp (from r367652, compiler-rt/trunk/test/msan/strndup.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/strndup.cpp?p2=compiler-rt/trunk/test/msan/strndup.cpp&p1=compiler-rt/trunk/test/msan/strndup.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/strndup.cc (original)
+++ compiler-rt/trunk/test/msan/strndup.cpp Thu Aug 1 23:07:05 2019
@@ -20,9 +20,9 @@ int main(int argc, char **argv) {
return 0;
// ON: Uninitialized bytes in __interceptor_{{(__)?}}strndup at offset 2 inside [{{.*}}, 4)
// ON: MemorySanitizer: use-of-uninitialized-value
- // ON: #0 {{.*}}main {{.*}}strndup.cc:[[@LINE-6]]
+ // ON: #0 {{.*}}main {{.*}}strndup.cpp:[[@LINE-6]]
// ON-LABEL: SUMMARY
- // ON: {{.*}}strndup.cc:[[@LINE-8]]
+ // ON: {{.*}}strndup.cpp:[[@LINE-8]]
// OFF-NOT: MemorySanitizer
}
Removed: compiler-rt/trunk/test/msan/strxfrm.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/strxfrm.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/strxfrm.cc (original)
+++ compiler-rt/trunk/test/msan/strxfrm.cc (removed)
@@ -1,22 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <locale.h>
-#include <sanitizer/msan_interface.h>
-#include <stdlib.h>
-#include <string.h>
-
-int main(void) {
- char q[10];
- size_t n = strxfrm(q, "abcdef", sizeof(q));
- assert(n < sizeof(q));
- __msan_check_mem_is_initialized(q, n + 1);
-
- locale_t loc = newlocale(LC_ALL_MASK, "", (locale_t)0);
-
- __msan_poison(&q, sizeof(q));
- n = strxfrm_l(q, "qwerty", sizeof(q), loc);
- assert(n < sizeof(q));
- __msan_check_mem_is_initialized(q, n + 1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/strxfrm.cpp (from r367652, compiler-rt/trunk/test/msan/strxfrm.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/strxfrm.cpp?p2=compiler-rt/trunk/test/msan/strxfrm.cpp&p1=compiler-rt/trunk/test/msan/strxfrm.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/sync_lock_set_and_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sync_lock_set_and_test.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/sync_lock_set_and_test.cc (original)
+++ compiler-rt/trunk/test/msan/sync_lock_set_and_test.cc (removed)
@@ -1,7 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-int main(void) {
- int i;
- __sync_lock_test_and_set(&i, 0);
- return i;
-}
Copied: compiler-rt/trunk/test/msan/sync_lock_set_and_test.cpp (from r367652, compiler-rt/trunk/test/msan/sync_lock_set_and_test.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/sync_lock_set_and_test.cpp?p2=compiler-rt/trunk/test/msan/sync_lock_set_and_test.cpp&p1=compiler-rt/trunk/test/msan/sync_lock_set_and_test.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/textdomain.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/textdomain.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/textdomain.cc (original)
+++ compiler-rt/trunk/test/msan/textdomain.cc (removed)
@@ -1,14 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-// textdomain() is not a part of libc on FreeBSD and NetBSD.
-// UNSUPPORTED: netbsd, freebsd
-
-#include <libintl.h>
-#include <stdio.h>
-
-int main() {
- const char *td = textdomain("abcd");
- if (td[0] == 0) {
- printf("Try read");
- }
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/textdomain.cpp (from r367652, compiler-rt/trunk/test/msan/textdomain.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/textdomain.cpp?p2=compiler-rt/trunk/test/msan/textdomain.cpp&p1=compiler-rt/trunk/test/msan/textdomain.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/times.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/times.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/times.cc (original)
+++ compiler-rt/trunk/test/msan/times.cc (removed)
@@ -1,20 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/times.h>
-
-
-int main(void) {
- struct tms t;
- clock_t res = times(&t);
- assert(res != (clock_t)-1);
-
- if (t.tms_utime) printf("1\n");
- if (t.tms_stime) printf("2\n");
- if (t.tms_cutime) printf("3\n");
- if (t.tms_cstime) printf("4\n");
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/times.cpp (from r367652, compiler-rt/trunk/test/msan/times.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/times.cpp?p2=compiler-rt/trunk/test/msan/times.cpp&p1=compiler-rt/trunk/test/msan/times.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/tls_reuse.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/tls_reuse.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/tls_reuse.cc (original)
+++ compiler-rt/trunk/test/msan/tls_reuse.cc (removed)
@@ -1,26 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-// Check that when TLS block is reused between threads, its shadow is cleaned.
-
-#include <pthread.h>
-#include <stdio.h>
-
-int __thread x;
-
-void *ThreadFn(void *) {
- if (!x)
- printf("zzz\n");
- int y;
- int * volatile p = &y;
- x = *p;
- return 0;
-}
-
-int main(void) {
- pthread_t t;
- for (int i = 0; i < 100; ++i) {
- pthread_create(&t, 0, ThreadFn, 0);
- pthread_join(t, 0);
- }
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/tls_reuse.cpp (from r367652, compiler-rt/trunk/test/msan/tls_reuse.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/tls_reuse.cpp?p2=compiler-rt/trunk/test/msan/tls_reuse.cpp&p1=compiler-rt/trunk/test/msan/tls_reuse.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/tsearch.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/tsearch.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/tsearch.cc (original)
+++ compiler-rt/trunk/test/msan/tsearch.cc (removed)
@@ -1,39 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t
-
-// tdestroy is a GNU extension
-// UNSUPPORTED: netbsd, freebsd
-
-#include <assert.h>
-#include <search.h>
-#include <stdlib.h>
-
-int compare(const void *pa, const void *pb) {
- int a = *(const int *)pa;
- int b = *(const int *)pb;
- if (a < b)
- return -1;
- else if (a > b)
- return 1;
- else
- return 0;
-}
-
-void myfreenode(void *p) {
- delete (int *)p;
-}
-
-int main(void) {
- void *root = NULL;
- for (int i = 0; i < 5; ++i) {
- int *p = new int(i);
- void *q = tsearch(p, &root, compare);
- if (q == NULL)
- exit(1);
- if (*(int **)q != p)
- delete p;
- }
-
- tdestroy(root, myfreenode);
-
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/tsearch.cpp (from r367652, compiler-rt/trunk/test/msan/tsearch.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/tsearch.cpp?p2=compiler-rt/trunk/test/msan/tsearch.cpp&p1=compiler-rt/trunk/test/msan/tsearch.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/tzset.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/tzset.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/tzset.cc (original)
+++ compiler-rt/trunk/test/msan/tzset.cc (removed)
@@ -1,16 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-extern char *tzname[2];
-
-int main(void) {
- if (!strlen(tzname[0]) || !strlen(tzname[1]))
- exit(1);
- tzset();
- if (!strlen(tzname[0]) || !strlen(tzname[1]))
- exit(1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/tzset.cpp (from r367652, compiler-rt/trunk/test/msan/tzset.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/tzset.cpp?p2=compiler-rt/trunk/test/msan/tzset.cpp&p1=compiler-rt/trunk/test/msan/tzset.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/unaligned_read_origin.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/unaligned_read_origin.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/unaligned_read_origin.cc (original)
+++ compiler-rt/trunk/test/msan/unaligned_read_origin.cc (removed)
@@ -1,16 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s < %t.out
-
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char **argv) {
- int x;
- int *volatile p = &x;
- return __sanitizer_unaligned_load32(p);
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*unaligned_read_origin.cc:}}[[@LINE-2]]
- // CHECK: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'main'
- // CHECK: {{#0 0x.* in main .*unaligned_read_origin.cc:}}[[@LINE-7]]
-}
Copied: compiler-rt/trunk/test/msan/unaligned_read_origin.cpp (from r367652, compiler-rt/trunk/test/msan/unaligned_read_origin.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/unaligned_read_origin.cpp?p2=compiler-rt/trunk/test/msan/unaligned_read_origin.cpp&p1=compiler-rt/trunk/test/msan/unaligned_read_origin.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/unaligned_read_origin.cc (original)
+++ compiler-rt/trunk/test/msan/unaligned_read_origin.cpp Thu Aug 1 23:07:05 2019
@@ -10,7 +10,7 @@ int main(int argc, char **argv) {
int *volatile p = &x;
return __sanitizer_unaligned_load32(p);
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*unaligned_read_origin.cc:}}[[@LINE-2]]
+ // CHECK: {{#0 0x.* in main .*unaligned_read_origin.cpp:}}[[@LINE-2]]
// CHECK: Uninitialized value was created by an allocation of 'x' in the stack frame of function 'main'
- // CHECK: {{#0 0x.* in main .*unaligned_read_origin.cc:}}[[@LINE-7]]
+ // CHECK: {{#0 0x.* in main .*unaligned_read_origin.cpp:}}[[@LINE-7]]
}
Removed: compiler-rt/trunk/test/msan/unpoison_param.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/unpoison_param.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/unpoison_param.cc (original)
+++ compiler-rt/trunk/test/msan/unpoison_param.cc (removed)
@@ -1,51 +0,0 @@
-// Tests that __msan_unpoison_param() works as specified. To prevent MSan
-// instrumentation from modifying parameter shadow before each call to foo(), we
-// compile main() without MSan.
-
-// RUN: %clangxx_msan -fno-sanitize=memory -c %s -o %t-main.o
-// RUN: %clangxx_msan %t-main.o %s -o %t
-// RUN: %run %t
-
-#include <assert.h>
-#include <sanitizer/msan_interface.h>
-
-#if __has_feature(memory_sanitizer)
-
-__attribute__((noinline)) int bar(int a, int b) {
- volatile int zero = 0;
- return zero;
-}
-
-int foo(int a, int b, int unpoisoned_params) {
- if (unpoisoned_params == 0) {
- assert(__msan_test_shadow(&a, sizeof(a)) == 0);
- assert(__msan_test_shadow(&b, sizeof(b)) == 0);
- } else if (unpoisoned_params == 1) {
- assert(__msan_test_shadow(&a, sizeof(a)) == -1);
- assert(__msan_test_shadow(&b, sizeof(b)) == 0);
- } else if (unpoisoned_params == 2) {
- assert(__msan_test_shadow(&a, sizeof(a)) == -1);
- assert(__msan_test_shadow(&b, sizeof(b)) == -1);
- }
-
- // Poisons parameter shadow in TLS so that the next call from uninstrumented
- // main has params 1 and 2 poisoned no matter what.
- int x, y;
- return bar(x, y);
-}
-
-#else
-
-int foo(int, int, int);
-
-int main() {
- foo(0, 0, 2); // Poison parameters for next call.
- foo(0, 0, 0); // Check that both params are poisoned.
- __msan_unpoison_param(1);
- foo(0, 0, 1); // Check that only first param is unpoisoned.
- __msan_unpoison_param(2);
- foo(0, 0, 2); // Check that first and second params are unpoisoned.
- return 0;
-}
-
-#endif
Copied: compiler-rt/trunk/test/msan/unpoison_param.cpp (from r367652, compiler-rt/trunk/test/msan/unpoison_param.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/unpoison_param.cpp?p2=compiler-rt/trunk/test/msan/unpoison_param.cpp&p1=compiler-rt/trunk/test/msan/unpoison_param.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/unpoison_string.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/unpoison_string.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/unpoison_string.cc (original)
+++ compiler-rt/trunk/test/msan/unpoison_string.cc (removed)
@@ -1,16 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t
-// RUN: %run %t
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O3 %s -o %t
-// RUN: %run %t
-
-#include <assert.h>
-#include <string.h>
-#include <sanitizer/msan_interface.h>
-
-int main(int argc, char **argv) {
- char s[20] = "string";
- __msan_poison(s, sizeof(s));
- __msan_unpoison_string(s);
- assert(__msan_test_shadow(s, sizeof(s)) == strlen("string") + 1);
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/unpoison_string.cpp (from r367652, compiler-rt/trunk/test/msan/unpoison_string.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/unpoison_string.cpp?p2=compiler-rt/trunk/test/msan/unpoison_string.cpp&p1=compiler-rt/trunk/test/msan/unpoison_string.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/use-after-dtor.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/use-after-dtor.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/use-after-dtor.cc (original)
+++ compiler-rt/trunk/test/msan/use-after-dtor.cc (removed)
@@ -1,50 +0,0 @@
-// RUN: %clangxx_msan %s -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-UAD < %t.out
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-UAD < %t.out
-
-// RUN: %clangxx_msan %s -O2 -fsanitize=memory -fsanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-UAD < %t.out
-
-// RUN: %clangxx_msan %s -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -fsanitize-memory-track-origins -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t >%t.out 2>&1
-// RUN: FileCheck %s --check-prefixes=CHECK-UAD,CHECK-ORIGINS < %t.out
-
-// RUN: %clangxx_msan %s -fno-sanitize-memory-use-after-dtor -o %t && MSAN_OPTIONS=poison_in_dtor=1 not %run %t > %t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK-UAD-OFF < %t.out
-
-#include <sanitizer/msan_interface.h>
-#include <assert.h>
-#include <stdio.h>
-#include <new>
-
-struct Simple {
- int x_;
- Simple() {
- x_ = 5;
- }
- ~Simple() {
- x_ += 1;
- }
-};
-
-int main() {
- unsigned long buf[1];
- assert(sizeof(Simple) <= sizeof(buf));
-
- Simple *s = new(&buf) Simple();
- s->~Simple();
-
- fprintf(stderr, "\n"); // Need output to parse for CHECK-UAD-OFF case
- return s->x_;
-
- // CHECK-UAD: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK-UAD: {{#0 0x.* in main.*use-after-dtor.cc:}}[[@LINE-3]]
-
- // CHECK-ORIGINS: Memory was marked as uninitialized
- // CHECK-ORIGINS: {{#0 0x.* in __sanitizer_dtor_callback}}
- // CHECK-ORIGINS: {{#1 0x.* in Simple::~Simple}}
-
- // CHECK-UAD: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*main}}
- // CHECK-UAD-OFF-NOT: SUMMARY: MemorySanitizer: use-of-uninitialized-value
-}
Copied: compiler-rt/trunk/test/msan/use-after-dtor.cpp (from r367652, compiler-rt/trunk/test/msan/use-after-dtor.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/use-after-dtor.cpp?p2=compiler-rt/trunk/test/msan/use-after-dtor.cpp&p1=compiler-rt/trunk/test/msan/use-after-dtor.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/use-after-dtor.cc (original)
+++ compiler-rt/trunk/test/msan/use-after-dtor.cpp Thu Aug 1 23:07:05 2019
@@ -39,7 +39,7 @@ int main() {
return s->x_;
// CHECK-UAD: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK-UAD: {{#0 0x.* in main.*use-after-dtor.cc:}}[[@LINE-3]]
+ // CHECK-UAD: {{#0 0x.* in main.*use-after-dtor.cpp:}}[[@LINE-3]]
// CHECK-ORIGINS: Memory was marked as uninitialized
// CHECK-ORIGINS: {{#0 0x.* in __sanitizer_dtor_callback}}
Removed: compiler-rt/trunk/test/msan/use-after-free.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/use-after-free.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/use-after-free.cc (original)
+++ compiler-rt/trunk/test/msan/use-after-free.cc (removed)
@@ -1,34 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-// RUN: %clangxx_msan -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O1 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O2 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O3 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s --check-prefix=CHECK-ORIGINS < %t.out
-
-#include <stdlib.h>
-int main(int argc, char **argv) {
- int *volatile p = (int *)malloc(sizeof(int));
- *p = 42;
- free(p);
-
- if (*p)
- exit(0);
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*use-after-free.cc:}}[[@LINE-3]]
-
- // CHECK-ORIGINS: Uninitialized value was created by a heap deallocation
- // CHECK-ORIGINS: {{#0 0x.* in .*free}}
- // CHECK-ORIGINS: {{#1 0x.* in main .*use-after-free.cc:}}[[@LINE-9]]
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/use-after-free.cpp (from r367652, compiler-rt/trunk/test/msan/use-after-free.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/use-after-free.cpp?p2=compiler-rt/trunk/test/msan/use-after-free.cpp&p1=compiler-rt/trunk/test/msan/use-after-free.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/use-after-free.cc (original)
+++ compiler-rt/trunk/test/msan/use-after-free.cpp Thu Aug 1 23:07:05 2019
@@ -25,10 +25,10 @@ int main(int argc, char **argv) {
if (*p)
exit(0);
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in main .*use-after-free.cc:}}[[@LINE-3]]
+ // CHECK: {{#0 0x.* in main .*use-after-free.cpp:}}[[@LINE-3]]
// CHECK-ORIGINS: Uninitialized value was created by a heap deallocation
// CHECK-ORIGINS: {{#0 0x.* in .*free}}
- // CHECK-ORIGINS: {{#1 0x.* in main .*use-after-free.cc:}}[[@LINE-9]]
+ // CHECK-ORIGINS: {{#1 0x.* in main .*use-after-free.cpp:}}[[@LINE-9]]
return 0;
}
Removed: compiler-rt/trunk/test/msan/vararg.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/vararg.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/vararg.cc (original)
+++ compiler-rt/trunk/test/msan/vararg.cc (removed)
@@ -1,60 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=0 -O3 %s -o %t && \
-// RUN: not %run %t va_arg_tls >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=0 -O3 %s -o %t && \
-// RUN: not %run %t overflow >%t.out 2>&1
-// RUN: FileCheck %s --check-prefix=CHECK < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O3 %s -o %t && \
-// RUN: not %run %t va_arg_tls >%t.out 2>&1
-// RUN: FileCheck %s --check-prefixes=CHECK,CHECK-ORIGIN < %t.out
-
-// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O3 %s -o %t && \
-// RUN: not %run %t overflow >%t.out 2>&1
-// RUN: FileCheck %s --check-prefixes=CHECK,CHECK-ORIGIN < %t.out
-
-// Check that shadow and origin are passed through va_args.
-
-// Copying origins on AArch64, MIPS and PowerPC isn't supported yet.
-// XFAIL: aarch64
-// XFAIL: mips
-// XFAIL: powerpc64
-
-#include <stdarg.h>
-#include <string.h>
-
-__attribute__((noinline))
-int sum(int n, ...) {
- va_list args;
- int i, sum = 0, arg;
- volatile int temp;
- va_start(args, n);
- for (i = 0; i < n; i++) {
- arg = va_arg(args, int);
- sum += arg;
- }
- va_end(args);
- return sum;
-}
-
-int main(int argc, char *argv[]) {
- volatile int uninit;
- volatile int a = 1, b = 2;
- if (argc == 2) {
- // Shadow/origin will be passed via va_arg_tls/va_arg_origin_tls.
- if (strcmp(argv[1], "va_arg_tls") == 0) {
- return sum(3, uninit, a, b);
- }
- // Shadow/origin of |uninit| will be passed via overflow area.
- if (strcmp(argv[1], "overflow") == 0) {
- return sum(7,
- a, a, a, a, a, a, uninit
- );
- }
- }
- return 0;
-}
-
-// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK-ORIGIN: Uninitialized value was created by an allocation of 'uninit' in the stack frame of function 'main'
Copied: compiler-rt/trunk/test/msan/vararg.cpp (from r367652, compiler-rt/trunk/test/msan/vararg.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/vararg.cpp?p2=compiler-rt/trunk/test/msan/vararg.cpp&p1=compiler-rt/trunk/test/msan/vararg.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/vector_cvt.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/vector_cvt.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/vector_cvt.cc (original)
+++ compiler-rt/trunk/test/msan/vector_cvt.cc (removed)
@@ -1,24 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-// RUN: %clangxx_msan -DPOSITIVE -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s
-// REQUIRES: x86_64-target-arch
-
-#include <emmintrin.h>
-
-int to_int(double v) {
- __m128d t = _mm_set_sd(v);
- int x = _mm_cvtsd_si32(t);
- return x;
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #{{.*}} in to_int{{.*}}vector_cvt.cc:[[@LINE-3]]
-}
-
-int main() {
-#ifdef POSITIVE
- double v;
-#else
- double v = 1.1;
-#endif
- double* volatile p = &v;
- int x = to_int(*p);
- return !x;
-}
Copied: compiler-rt/trunk/test/msan/vector_cvt.cpp (from r367652, compiler-rt/trunk/test/msan/vector_cvt.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/vector_cvt.cpp?p2=compiler-rt/trunk/test/msan/vector_cvt.cpp&p1=compiler-rt/trunk/test/msan/vector_cvt.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/vector_cvt.cc (original)
+++ compiler-rt/trunk/test/msan/vector_cvt.cpp Thu Aug 1 23:07:05 2019
@@ -9,7 +9,7 @@ int to_int(double v) {
int x = _mm_cvtsd_si32(t);
return x;
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: #{{.*}} in to_int{{.*}}vector_cvt.cc:[[@LINE-3]]
+ // CHECK: #{{.*}} in to_int{{.*}}vector_cvt.cpp:[[@LINE-3]]
}
int main() {
Removed: compiler-rt/trunk/test/msan/vector_div.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/vector_div.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/vector_div.cc (original)
+++ compiler-rt/trunk/test/msan/vector_div.cc (removed)
@@ -1,17 +0,0 @@
-// Regression test for https://bugs.llvm.org/show_bug.cgi?id=37523
-
-// RUN: %clangxx_msan -O0 %s -o %t && %run %t
-// RUN: %clangxx_msan -O3 %s -o %t && %run %t
-// REQUIRES: x86_64-target-arch
-
-#include <assert.h>
-#include <emmintrin.h>
-
-int main() {
- volatile int scale = 5;
- volatile auto zz = _mm_div_ps(_mm_set1_ps(255), _mm_set1_ps(scale));
- assert(zz[0] == 51);
- assert(zz[1] == 51);
- assert(zz[2] == 51);
- assert(zz[3] == 51);
-}
Copied: compiler-rt/trunk/test/msan/vector_div.cpp (from r367652, compiler-rt/trunk/test/msan/vector_div.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/vector_div.cpp?p2=compiler-rt/trunk/test/msan/vector_div.cpp&p1=compiler-rt/trunk/test/msan/vector_div.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/vector_select.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/vector_select.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/vector_select.cc (original)
+++ compiler-rt/trunk/test/msan/vector_select.cc (removed)
@@ -1,21 +0,0 @@
-// RUN: %clangxx_msan -O0 %s -c -o %t
-// RUN: %clangxx_msan -O3 %s -c -o %t
-
-// Regression test for MemorySanitizer instrumentation of a select instruction
-// with vector arguments.
-
-#if defined(__x86_64__)
-#include <emmintrin.h>
-
-__m128d select(bool b, __m128d c, __m128d d)
-{
- return b ? c : d;
-}
-#elif defined (__mips64) || defined (__powerpc64__)
-typedef double __w64d __attribute__ ((vector_size(16)));
-
-__w64d select(bool b, __w64d c, __w64d d)
-{
- return b ? c : d;
-}
-#endif
Copied: compiler-rt/trunk/test/msan/vector_select.cpp (from r367652, compiler-rt/trunk/test/msan/vector_select.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/vector_select.cpp?p2=compiler-rt/trunk/test/msan/vector_select.cpp&p1=compiler-rt/trunk/test/msan/vector_select.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
(empty)
Removed: compiler-rt/trunk/test/msan/wcsncpy.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/wcsncpy.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/wcsncpy.cc (original)
+++ compiler-rt/trunk/test/msan/wcsncpy.cc (removed)
@@ -1,40 +0,0 @@
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && not %run %t >%t.out 2>&1
-// RUN: FileCheck %s < %t.out && FileCheck %s < %t.out
-
-// XFAIL: mips
-
-#include <assert.h>
-#include <wchar.h>
-
-#include <sanitizer/msan_interface.h>
-
-int main() {
- const wchar_t *s = L"abc";
- assert(wcslen(s) == 3);
-
- wchar_t s2[5];
- assert(wcsncpy(s2, s, 3) == s2);
- assert(__msan_test_shadow(&s2, 5 * sizeof(wchar_t)) == 3 * sizeof(wchar_t));
- assert(wcsncpy(s2, s, 5) == s2);
- assert(__msan_test_shadow(&s2, 5 * sizeof(wchar_t)) == -1);
-
- wchar_t s3[5];
- assert(wcsncpy(s3, s, 2) == s3);
- assert(__msan_test_shadow(&s3, 5 * sizeof(wchar_t)) == 2 * sizeof(wchar_t));
-
- __msan_allocated_memory(&s2[1], sizeof(wchar_t));
- wchar_t s4[5];
- assert(wcsncpy(s4, s2, 3) == s4);
- __msan_check_mem_is_initialized(&s4, sizeof(s4));
-}
-// CHECK: Uninitialized bytes in __msan_check_mem_is_initialized
-// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: in main {{.*}}wcsncpy.cc:28
-
-// CHECK: Uninitialized value was stored to memory at
-// CHECK: in {{[^\s]*}}wcsncpy
-// CHECK: in main {{.*}}wcsncpy.cc:27
-
-// CHECK: Memory was marked as uninitialized
-// CHECK: in __msan_allocated_memory
-// CHECK: in main {{.*}}wcsncpy.cc:25
Copied: compiler-rt/trunk/test/msan/wcsncpy.cpp (from r367652, compiler-rt/trunk/test/msan/wcsncpy.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/wcsncpy.cpp?p2=compiler-rt/trunk/test/msan/wcsncpy.cpp&p1=compiler-rt/trunk/test/msan/wcsncpy.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/wcsncpy.cc (original)
+++ compiler-rt/trunk/test/msan/wcsncpy.cpp Thu Aug 1 23:07:05 2019
@@ -29,12 +29,12 @@ int main() {
}
// CHECK: Uninitialized bytes in __msan_check_mem_is_initialized
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
-// CHECK: in main {{.*}}wcsncpy.cc:28
+// CHECK: in main {{.*}}wcsncpy.cpp:28
// CHECK: Uninitialized value was stored to memory at
// CHECK: in {{[^\s]*}}wcsncpy
-// CHECK: in main {{.*}}wcsncpy.cc:27
+// CHECK: in main {{.*}}wcsncpy.cpp:27
// CHECK: Memory was marked as uninitialized
// CHECK: in __msan_allocated_memory
-// CHECK: in main {{.*}}wcsncpy.cc:25
+// CHECK: in main {{.*}}wcsncpy.cpp:25
Removed: compiler-rt/trunk/test/msan/wcsxfrm.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/wcsxfrm.cc?rev=367652&view=auto
==============================================================================
--- compiler-rt/trunk/test/msan/wcsxfrm.cc (original)
+++ compiler-rt/trunk/test/msan/wcsxfrm.cc (removed)
@@ -1,30 +0,0 @@
-// RUN: %clangxx_msan -O0 -g %s -o %t && not %run %t
-
-#include <assert.h>
-#include <locale.h>
-#include <sanitizer/msan_interface.h>
-#include <stdlib.h>
-#include <wchar.h>
-
-int main(void) {
- wchar_t q[10];
- size_t n = wcsxfrm(q, L"abcdef", sizeof(q) / sizeof(wchar_t));
- assert(n < sizeof(q));
- __msan_check_mem_is_initialized(q, (n + 1) * sizeof(wchar_t));
-
- locale_t loc = newlocale(LC_ALL_MASK, "", (locale_t)0);
-
- __msan_poison(&q, sizeof(q));
- n = wcsxfrm_l(q, L"qwerty", sizeof(q) / sizeof(wchar_t), loc);
- assert(n < sizeof(q));
- __msan_check_mem_is_initialized(q, (n + 1) * sizeof(wchar_t));
-
- q[0] = 'A';
- q[1] = '\x00';
- __msan_poison(&q, sizeof(q));
- wcsxfrm(NULL, q, 0);
-
- // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: in main {{.*}}wcsxfrm.cc:25
- return 0;
-}
Copied: compiler-rt/trunk/test/msan/wcsxfrm.cpp (from r367652, compiler-rt/trunk/test/msan/wcsxfrm.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/wcsxfrm.cpp?p2=compiler-rt/trunk/test/msan/wcsxfrm.cpp&p1=compiler-rt/trunk/test/msan/wcsxfrm.cc&r1=367652&r2=367653&rev=367653&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/wcsxfrm.cc (original)
+++ compiler-rt/trunk/test/msan/wcsxfrm.cpp Thu Aug 1 23:07:05 2019
@@ -25,6 +25,6 @@ int main(void) {
wcsxfrm(NULL, q, 0);
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: in main {{.*}}wcsxfrm.cc:25
+ // CHECK: in main {{.*}}wcsxfrm.cpp:25
return 0;
}
More information about the llvm-commits
mailing list