Added the address of operator for the "frame variable" command. 

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119100 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectFrame.cpp b/source/Commands/CommandObjectFrame.cpp
index 37cfbfa..1fecc88 100644
--- a/source/Commands/CommandObjectFrame.cpp
+++ b/source/Commands/CommandObjectFrame.cpp
@@ -586,12 +586,18 @@
                         }
                         else
                         {
+                            bool address_of = false;
                             // If first character is a '*', then show pointer contents
                             if (name_cstr[0] == '*')
                             {
                                 ++ptr_depth;
                                 name_cstr++; // Skip the '*'
                             }
+                            else if (name_cstr[0] == '&')
+                            {
+                                address_of = true;
+                                name_cstr++; // Skip the '&'
+                            }
 
                             std::string var_path (name_cstr);
                             size_t separator_idx = var_path.find_first_of(".-[");
@@ -724,18 +730,25 @@
                                     }
 
 
-                                    ValueObject::DumpValueObject (result.GetOutputStream(), 
-                                                                  exe_ctx.frame, 
-                                                                  valobj_sp.get(), 
-                                                                  valobj_sp->GetParent() ? name_cstr : NULL, 
-                                                                  ptr_depth, 
-                                                                  0, 
-                                                                  m_options.max_depth, 
-                                                                  m_options.show_types,
-                                                                  m_options.show_location,
-                                                                  m_options.use_objc, 
-                                                                  false,
-                                                                  m_options.flat_output);                                        
+                                    if (address_of)
+                                    {
+                                        s.Printf("&%s = %s\n", name_cstr, valobj_sp->GetLocationAsCString (exe_ctx.frame));
+                                    }
+                                    else
+                                    {
+                                        ValueObject::DumpValueObject (result.GetOutputStream(), 
+                                                                      exe_ctx.frame, 
+                                                                      valobj_sp.get(), 
+                                                                      valobj_sp->GetParent() ? name_cstr : NULL, 
+                                                                      ptr_depth, 
+                                                                      0, 
+                                                                      m_options.max_depth, 
+                                                                      m_options.show_types,
+                                                                      m_options.show_location,
+                                                                      m_options.use_objc, 
+                                                                      false,
+                                                                      m_options.flat_output);
+                                    }
                                 }
                             }
                             else