This revision was automatically updated to reflect the committed changes.
Closed by commit rL254338: Fix hang in global static initialization (authored 
by amccarth).

Changed prior to commit:
  http://reviews.llvm.org/D15092?vs=41433&id=41435#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D15092

Files:
  
lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp

Index: 
lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
===================================================================
--- 
lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
+++ 
lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
@@ -182,7 +182,7 @@
     empirical_type<uint32_t> array_size;                 // Number of items in 
array, only needed for strucrs
     ConstString type_name;                               // Name of type, only 
needed for structs
 
-    static const ConstString FallbackStructName;         // Print this as the 
type name of a struct Element
+    static const ConstString &GetFallbackStructName();   // Print this as the 
type name of a struct Element
                                                          // If we can't 
resolve the actual struct name
 };
 
@@ -250,7 +250,13 @@
     }
 };
 
-const ConstString RenderScriptRuntime::Element::FallbackStructName("struct");
+
+const ConstString &
+RenderScriptRuntime::Element::GetFallbackStructName()
+{
+    static const ConstString FallbackStructName("struct");
+    return FallbackStructName;
+}
 
 unsigned int RenderScriptRuntime::AllocationDetails::ID = 1;
 
@@ -1629,7 +1635,7 @@
     if (!elem.type_name.IsEmpty()) // Name already set
         return;
     else
-        elem.type_name = Element::FallbackStructName; // Default type name if 
we don't succeed
+        elem.type_name = Element::GetFallbackStructName(); // Default type 
name if we don't succeed
 
     // Find all the global variables from the script rs modules
     VariableList variable_list;
@@ -2428,7 +2434,7 @@
             {
                 strm.Printf("\n(%u, %u, %u) = ", x, y, z);
                 if ((type == Element::RS_TYPE_NONE) && 
(alloc->element.children.size() > 0) &&
-                    (alloc->element.type_name != Element::FallbackStructName))
+                    (alloc->element.type_name != 
Element::GetFallbackStructName()))
                 {
                     // Here we are dumping an Element of struct type.
                     // This is done using expression evaluation with the name 
of the struct type and pointer to element.


Index: lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
===================================================================
--- lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
+++ lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
@@ -182,7 +182,7 @@
     empirical_type<uint32_t> array_size;                 // Number of items in array, only needed for strucrs
     ConstString type_name;                               // Name of type, only needed for structs
 
-    static const ConstString FallbackStructName;         // Print this as the type name of a struct Element
+    static const ConstString &GetFallbackStructName();   // Print this as the type name of a struct Element
                                                          // If we can't resolve the actual struct name
 };
 
@@ -250,7 +250,13 @@
     }
 };
 
-const ConstString RenderScriptRuntime::Element::FallbackStructName("struct");
+
+const ConstString &
+RenderScriptRuntime::Element::GetFallbackStructName()
+{
+    static const ConstString FallbackStructName("struct");
+    return FallbackStructName;
+}
 
 unsigned int RenderScriptRuntime::AllocationDetails::ID = 1;
 
@@ -1629,7 +1635,7 @@
     if (!elem.type_name.IsEmpty()) // Name already set
         return;
     else
-        elem.type_name = Element::FallbackStructName; // Default type name if we don't succeed
+        elem.type_name = Element::GetFallbackStructName(); // Default type name if we don't succeed
 
     // Find all the global variables from the script rs modules
     VariableList variable_list;
@@ -2428,7 +2434,7 @@
             {
                 strm.Printf("\n(%u, %u, %u) = ", x, y, z);
                 if ((type == Element::RS_TYPE_NONE) && (alloc->element.children.size() > 0) &&
-                    (alloc->element.type_name != Element::FallbackStructName))
+                    (alloc->element.type_name != Element::GetFallbackStructName()))
                 {
                     // Here we are dumping an Element of struct type.
                     // This is done using expression evaluation with the name of the struct type and pointer to element.
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to