static local variables with destructors don't require a global destructor
unless we're on a platform without __cxa_atexit (or use thereof has been
disabled).  This patch actually just disables the check completely for
static locals, but I've filed http://llvm.org/bugs/show_bug.cgi?id=8176 to
track the platform-specific fix.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114269 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaCXX/warn-global-constructors.cpp b/test/SemaCXX/warn-global-constructors.cpp
index 0391f5b..ad60954 100644
--- a/test/SemaCXX/warn-global-constructors.cpp
+++ b/test/SemaCXX/warn-global-constructors.cpp
@@ -72,7 +72,7 @@
   struct A { ~A(); };
 
   void f1() {
-    static A a; // expected-warning {{global destructor}}
+    static A a;
   }
   void f2() {
     static A& a = *new A;
@@ -84,8 +84,14 @@
     int x;
     Foo(int x1) : x(x1) {}
   };
-
-  void bar() {
+  void foo() {
     static Foo a(0);
   }
+
+  struct Bar {
+    ~Bar();
+  };
+  void bar() {
+    static Bar b;
+  }
 }