[compiler-rt] r299130 - Fixup for r299085: Keep the scribble.cc test on Darwin only, while I investigate why this test sometimes fails on Linux.
Kuba Mracek via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 30 16:34:45 PDT 2017
Author: kuba.brecka
Date: Thu Mar 30 18:34:44 2017
New Revision: 299130
URL: http://llvm.org/viewvc/llvm-project?rev=299130&view=rev
Log:
Fixup for r299085: Keep the scribble.cc test on Darwin only, while I investigate why this test sometimes fails on Linux.
Removed:
compiler-rt/trunk/test/asan/TestCases/scribble.cc
Removed: compiler-rt/trunk/test/asan/TestCases/scribble.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/scribble.cc?rev=299129&view=auto
==============================================================================
--- compiler-rt/trunk/test/asan/TestCases/scribble.cc (original)
+++ compiler-rt/trunk/test/asan/TestCases/scribble.cc (removed)
@@ -1,58 +0,0 @@
-// RUN: %clang_asan -O2 %s -o %t
-// RUN: %run %t 2>&1 | FileCheck --check-prefix=CHECK-NOSCRIBBLE %s
-// RUN: %env_asan_opts=max_free_fill_size=4096 %run %t 2>&1 | FileCheck --check-prefix=CHECK-SCRIBBLE %s
-
-// REQUIRES: stable-runtime
-
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-struct Isa {
- const char *class_name;
-};
-
-struct MyClass {
- long padding;
- Isa *isa;
- long data;
-
- void print_my_class_name();
-};
-
-__attribute__((no_sanitize("address")))
-void MyClass::print_my_class_name() {
- fprintf(stderr, "this = %p\n", this);
- fprintf(stderr, "padding = 0x%lx\n", this->padding);
- fprintf(stderr, "isa = %p\n", this->isa);
-
- if ((uint32_t)(uintptr_t)this->isa != 0x55555555) {
- fprintf(stderr, "class name: %s\n", this->isa->class_name);
- }
-}
-
-int main() {
- Isa *my_class_isa = (Isa *)malloc(sizeof(Isa));
- memset(my_class_isa, 0x77, sizeof(Isa));
- my_class_isa->class_name = "MyClass";
-
- MyClass *my_object = (MyClass *)malloc(sizeof(MyClass));
- memset(my_object, 0x88, sizeof(MyClass));
- my_object->isa = my_class_isa;
- my_object->data = 42;
-
- my_object->print_my_class_name();
- // CHECK-SCRIBBLE: class name: MyClass
- // CHECK-NOSCRIBBLE: class name: MyClass
-
- free(my_object);
-
- my_object->print_my_class_name();
- // CHECK-NOSCRIBBLE: class name: MyClass
- // CHECK-SCRIBBLE: isa = {{(0x)?}}{{5555555555555555|55555555}}
-
- fprintf(stderr, "okthxbai!\n");
- // CHECK-SCRIBBLE: okthxbai!
- // CHECK-NOSCRIBBLE: okthxbai!
-}
More information about the llvm-commits
mailing list