[llvm-commits] [llvm] r132504 - in /llvm/trunk/test: FrontendC++/unnamed-addr.cpp FrontendC/unnamed-addr.c

Bill Wendling isanbard at gmail.com
Thu Jun 2 15:26:15 PDT 2011


Author: void
Date: Thu Jun  2 17:26:15 2011
New Revision: 132504

URL: http://llvm.org/viewvc/llvm-project?rev=132504&view=rev
Log:
This should have been a C++ testcase.

Added:
    llvm/trunk/test/FrontendC++/unnamed-addr.cpp
      - copied, changed from r132495, llvm/trunk/test/FrontendC/unnamed-addr.c
Removed:
    llvm/trunk/test/FrontendC/unnamed-addr.c

Copied: llvm/trunk/test/FrontendC++/unnamed-addr.cpp (from r132495, llvm/trunk/test/FrontendC/unnamed-addr.c)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/FrontendC%2B%2B/unnamed-addr.cpp?p2=llvm/trunk/test/FrontendC%2B%2B/unnamed-addr.cpp&p1=llvm/trunk/test/FrontendC/unnamed-addr.c&r1=132495&r2=132504&rev=132504&view=diff
==============================================================================
--- llvm/trunk/test/FrontendC/unnamed-addr.c (original)
+++ llvm/trunk/test/FrontendC++/unnamed-addr.cpp Thu Jun  2 17:26:15 2011
@@ -1,5 +1,6 @@
-// RUN: %llvmgcc -S %s -o - | FileCheck %s
+// RUN: %llvmgxx -S %s -o - | FileCheck %s
 // <rdar://problem/9402870>
+extern "C" {
 typedef struct __TestResult TestResult;
 typedef struct __TestResult* TestResultRef;
 
@@ -57,6 +58,7 @@
 };
 
 extern const TestImplement TestCallerImplement;
+}
 
 void PassToFunction(const TestImplement*);
 
@@ -81,7 +83,7 @@
   return self->numberOfFixtuers;
 }
 
-// CHECK: @C.0.1526 = internal unnamed_addr constant
+// CHECK: @_ZZ14TestCaller_runP12__TestCallerP12__TestResultE3C.0 = internal unnamed_addr constant
 // CHECK-NOT: @TestCaseImplement = external unnamed_addr constant %struct.TestImplement
 // CHECK: @TestCaseImplement = external constant %struct.TestImplement
 const TestImplement TestCallerImplement = {

Removed: llvm/trunk/test/FrontendC/unnamed-addr.c
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/FrontendC/unnamed-addr.c?rev=132503&view=auto
==============================================================================
--- llvm/trunk/test/FrontendC/unnamed-addr.c (original)
+++ llvm/trunk/test/FrontendC/unnamed-addr.c (removed)
@@ -1,91 +0,0 @@
-// RUN: %llvmgcc -S %s -o - | FileCheck %s
-// <rdar://problem/9402870>
-typedef struct __TestResult TestResult;
-typedef struct __TestResult* TestResultRef;
-
-typedef struct __TestImplement TestImplement;
-typedef struct __TestImplement* TestImplementRef;
-
-typedef char*(*TestNameFunction)(void*);
-typedef void(*TestRunFunction)(void*,TestResult*);
-typedef int(*TestCountTestCasesFunction)(void*);
-
-struct __TestImplement {
-    TestNameFunction name;
-    TestRunFunction run;
-    TestCountTestCasesFunction countTestCases;
-};
-
-typedef struct __Test Test;
-typedef struct __Test* TestRef;
-
-struct __Test {
-    TestImplement* isa;
-};
-
-typedef struct __TestCase TestCase;
-typedef struct __TestCase* TestCaseRef;
-
-struct __TestCase {
-    TestImplement* isa;
-    const char *name;
-    void(*setUp)(void);
-    void(*tearDown)(void);
-    void(*runTest)(void);
-};
-
-extern const TestImplement TestCaseImplement;
-
-typedef struct __TestFixture TestFixture;
-typedef struct __TestFixture* TestFixtureRef;
-
-struct __TestFixture {
-    const char *name;
-    void(*test)(void);
-};
-
-typedef struct __TestCaller TestCaller;
-typedef struct __TestCaller* TestCallerRef;
-
-struct __TestCaller {
-    TestImplement* isa;
-    const char *name;
-    void(*setUp)(void);
-    void(*tearDown)(void);
-    int numberOfFixtuers;
-    TestFixture *fixtuers;
-};
-
-extern const TestImplement TestCallerImplement;
-
-void PassToFunction(const TestImplement*);
-
-const char* TestCaller_name(TestCaller* self) {
-  return self->name;
-}
-
-void TestCaller_run(TestCaller* self,TestResult* result) {
-  TestCase cs = { (TestImplement*)&TestCaseImplement, 0, 0, 0, 0, };
-  int i;
-  cs.setUp = self->setUp;
-  cs.tearDown = self->tearDown;
-  for (i=0; i<self->numberOfFixtuers; i++) {
-    cs.name = self->fixtuers[i].name;
-    cs.runTest = self->fixtuers[i].test;
-    ((Test*)(void *)&cs)->isa->run((void *)&cs,result);
-  }
-}
-
-int TestCaller_countTestCases(TestCaller* self) {
-  PassToFunction(&TestCallerImplement);
-  return self->numberOfFixtuers;
-}
-
-// CHECK: @C.0.1526 = internal unnamed_addr constant
-// CHECK-NOT: @TestCaseImplement = external unnamed_addr constant %struct.TestImplement
-// CHECK: @TestCaseImplement = external constant %struct.TestImplement
-const TestImplement TestCallerImplement = {
-  (TestNameFunction)TestCaller_name,
-  (TestRunFunction)TestCaller_run,
-  (TestCountTestCasesFunction)TestCaller_countTestCases,
-};





More information about the llvm-commits mailing list