If a global variable has an initializer with side effects, it can never be deferred (even if it's in an anonymous namespace).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94525 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/anonymous-namespaces.cpp b/test/CodeGenCXX/anonymous-namespaces.cpp
index 7689c94..695f8f5 100644
--- a/test/CodeGenCXX/anonymous-namespaces.cpp
+++ b/test/CodeGenCXX/anonymous-namespaces.cpp
@@ -1,9 +1,25 @@
 // RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
 
+
+int f();
+
 namespace {
+  // CHECK: @_ZN12_GLOBAL__N_11bE = internal global i32 0
+  // CHECK: @_ZN12_GLOBAL__N_1L1cE = internal global i32 0
+  // CHECK: @_ZN12_GLOBAL__N_11D1dE = internal global i32 0
   // CHECK: @_ZN12_GLOBAL__N_11aE = internal global i32 0
   int a = 0;
 
+  int b = f();
+
+  static int c = f();
+
+  class D {
+    static int d;
+  };
+  
+  int D::d = f();
+
   // CHECK: define internal i32 @_ZN12_GLOBAL__N_13fooEv()
   int foo() {
     return 32;