// RUN: %clang_cc1 -fsyntax-only -verify %s

// Various tests for -fno-exceptions

typedef __SIZE_TYPE__ size_t;

namespace test0 {
  // rdar://problem/7878149
  class Foo {
  public:
    void* operator new(size_t x);
  private:
    void operator delete(void *x);
  };

  void test() {
    // Under -fexceptions, this does access control for the associated
    // 'operator delete'.
    (void) new Foo();
  }
}

// RUN: %clang_cc1 -fsyntax-only -verify %s

// Various tests for -fno-exceptions

typedef __typeof(sizeof(int)) size_t;

namespace test0 {
  // rdar://problem/7878149
  class Foo {
  public:
    void* operator new(size_t x);
  private:
    void operator delete(void *x);
  };

  void test() {
    // Under -fexceptions, this does access control for the associated
    // 'operator delete'.
    (void) new Foo();
  }
}

--- 
+++ 
@@ -2,7 +2,7 @@
 
 // Various tests for -fno-exceptions
 
-typedef __typeof(sizeof(int)) size_t;
+typedef __SIZE_TYPE__ size_t;
 
 namespace test0 {
   // rdar://problem/7878149
Use __SIZE_TYPE__ as suggested by dgregor.



git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@101857 91177308-0d34-0410-b5e6-96231b3b80d8
