Index: source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
===================================================================
--- source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp	(revision 108841)
+++ source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp	(working copy)
@@ -2878,17 +2878,17 @@
                         {
                             // This is a class and all members that didn't have
                             // their access specified are private.
-                            type_list->GetClangASTContext().SetDefaultAccessForRecordFields (clang_type, clang::AS_private, member_accessibilities.data(), member_accessibilities.size());
+                            type_list->GetClangASTContext().SetDefaultAccessForRecordFields (clang_type, clang::AS_private, &member_accessibilities.front(), member_accessibilities.size());
                         }
 
                         if (!base_classes.empty())
                         {
-                            type_list->GetClangASTContext().SetBaseClassesForClassType (clang_type, base_classes.data(), base_classes.size());
+                            type_list->GetClangASTContext().SetBaseClassesForClassType (clang_type, &base_classes.front(), base_classes.size());
                         }
                         
                         // Clang will copy each CXXBaseSpecifier in "base_classes"
                         // so we have to free them all.
-                        ClangASTContext::DeleteBaseClassSpecifiers (base_classes.data(), base_classes.size());
+                        ClangASTContext::DeleteBaseClassSpecifiers (&base_classes.front(), base_classes.size());
                     }
                     type_list->GetClangASTContext().CompleteTagDeclarationDefinition (clang_type);
                 }
@@ -3069,7 +3069,7 @@
                             assert (function_decl);
                             m_die_to_decl_ctx[die] = function_decl;
                             if (!function_param_decls.empty())
-                                type_list->GetClangASTContext().SetFunctionParameters (function_decl, function_param_decls.data(), function_param_decls.size());
+                                type_list->GetClangASTContext().SetFunctionParameters (function_decl, &function_param_decls.front(), function_param_decls.size());
                         }
                         type_sp.reset( new Type(die->GetOffset(), this, type_name_dbstr, 0, NULL, LLDB_INVALID_UID, Type::eIsTypeWithUID, &decl, clang_type));
 
Index: source/Target/ObjCObjectPrinter.cpp
===================================================================
--- source/Target/ObjCObjectPrinter.cpp	(revision 108841)
+++ source/Target/ObjCObjectPrinter.cpp	(working copy)
@@ -86,7 +86,7 @@
     
     if (!desc.empty())
     {
-        str.SetCString(desc.data());
+        str.SetCString(&desc.front());
         return true;
     }
     return false;
Index: source/Target/Process.cpp
===================================================================
--- source/Target/Process.cpp	(revision 108841)
+++ source/Target/Process.cpp	(working copy)
@@ -989,7 +989,7 @@
                 exec_path_plus_argv.push_back(NULL);
 
                 // Now launch using these arguments.
-                error = DoLaunch (exe_module, exec_path_plus_argv.data(), envp, stdin_path, stdout_path, stderr_path);
+                error = DoLaunch (exe_module, &exec_path_plus_argv.front(), envp, stdin_path, stdout_path, stderr_path);
 
                 if (error.Fail())
                 {
Index: source/Core/ValueObject.cpp
===================================================================
--- source/Core/ValueObject.cpp	(revision 108841)
+++ source/Core/ValueObject.cpp	(working copy)
@@ -395,8 +395,8 @@
                             // Resize the formatted buffer in case every character
                             // uses the "\xXX" format and one extra byte for a NULL
                             cstr_buffer.resize(data_buffer.size() * 4 + 1);
-                            data.SetData (data_buffer.data(), data_buffer.size(), eByteOrderHost);
-                            bytes_read = process->ReadMemory (cstr_address, data_buffer.data(), fixed_length, error);
+                            data.SetData (&data_buffer.front(), data_buffer.size(), eByteOrderHost);
+                            bytes_read = process->ReadMemory (cstr_address, &data_buffer.front(), fixed_length, error);
                             if (bytes_read > 0)
                             {
                                 sstr << '"';
@@ -423,11 +423,11 @@
                             // "\xXX" format and one extra byte for a NULL
                             cstr_buffer.resize (k_max_buf_size * 4 + 1);
 
-                            data.SetData (data_buffer.data(), data_buffer.size(), eByteOrderHost);
+                            data.SetData (&data_buffer.front(), data_buffer.size(), eByteOrderHost);
                             size_t total_cstr_len = 0;
-                            while ((bytes_read = process->ReadMemory (cstr_address, data_buffer.data(), k_max_buf_size, error)) > 0)
+                            while ((bytes_read = process->ReadMemory (cstr_address, &data_buffer.front(), k_max_buf_size, error)) > 0)
                             {
-                                size_t len = strlen(data_buffer.data());
+                                size_t len = strlen(&data_buffer.front());
                                 if (len == 0)
                                     break;
                                 if (len > bytes_read)
Index: source/Core/RegularExpression.cpp
===================================================================
--- source/Core/RegularExpression.cpp	(revision 108841)
+++ source/Core/RegularExpression.cpp	(working copy)
@@ -100,7 +100,7 @@
         match_result = ::regexec (&m_preg,
                                   s,
                                   m_matches.size(),
-                                  const_cast<regmatch_t *>(m_matches.data()),
+                                  const_cast<regmatch_t *>(&m_matches.front()),
                                   execute_flags);
     }
     return match_result == 0;
Index: source/Core/Address.cpp
===================================================================
--- source/Core/Address.cpp	(revision 108841)
+++ source/Core/Address.cpp	(working copy)
@@ -177,7 +177,7 @@
         uint32_t addr_size = 0;
         if (GetByteOrderAndAddressSize (exe_scope, address, byte_order, addr_size))
         {
-            DataExtractor data (buf.data(), buf.size(), byte_order, addr_size);
+            DataExtractor data (&buf.front(), buf.size(), byte_order, addr_size);
 
             data.Dump (strm,
                        0,                 // Start offset in "data"
Index: source/Core/ValueObjectChild.cpp
===================================================================
--- source/Core/ValueObjectChild.cpp	(revision 108841)
+++ source/Core/ValueObjectChild.cpp	(working copy)
@@ -112,8 +112,8 @@
                 if (clang_type_name)
                 {
                     std::vector<char> bitfield_type_name (strlen(clang_type_name) + 32, 0);
-                    ::snprintf (bitfield_type_name.data(), bitfield_type_name.size(), "%s:%u", clang_type_name, m_bitfield_bit_size);
-                    m_type_name.SetCString(bitfield_type_name.data());
+                    ::snprintf (&bitfield_type_name.front(), bitfield_type_name.size(), "%s:%u", clang_type_name, m_bitfield_bit_size);
+                    m_type_name.SetCString(&bitfield_type_name.front());
                 }
             }
         }
Index: source/Expression/ClangFunction.cpp
===================================================================
--- source/Expression/ClangFunction.cpp	(revision 108841)
+++ source/Expression/ClangFunction.cpp	(working copy)
@@ -358,8 +358,8 @@
         buffer.resize(byte_size);
         DataExtractor value_data;
         arg_scalar.GetData (value_data);
-        value_data.ExtractBytes(0, byte_size, process->GetByteOrder(), buffer.data());
-        process->WriteMemory(args_addr_ref + offset, buffer.data(), byte_size, error);
+        value_data.ExtractBytes(0, byte_size, process->GetByteOrder(), &buffer.front());
+        process->WriteMemory(args_addr_ref + offset, &buffer.front(), byte_size, error);
     }
 
     return true;
@@ -417,7 +417,7 @@
     data_buffer.resize(m_return_size);
     Process *process = exc_context.process;
     Error error;
-    size_t bytes_read = process->ReadMemory(args_addr + m_return_offset/8, data_buffer.data(), m_return_size, error);
+    size_t bytes_read = process->ReadMemory(args_addr + m_return_offset/8, &data_buffer.front(), m_return_size, error);
 
     if (bytes_read == 0)
     {
@@ -427,7 +427,7 @@
     if (bytes_read < m_return_size)
         return false;
 
-    DataExtractor data(data_buffer.data(), m_return_size, process->GetByteOrder(), process->GetAddressByteSize());
+    DataExtractor data(&data_buffer.front(), m_return_size, process->GetByteOrder(), process->GetAddressByteSize());
     // FIXME: Assuming an integer scalar for now:
     
     uint32_t offset = 0;
Index: source/Commands/CommandObjectThread.cpp
===================================================================
--- source/Commands/CommandObjectThread.cpp	(revision 108841)
+++ source/Commands/CommandObjectThread.cpp	(working copy)
@@ -1028,7 +1028,7 @@
                     index_ptr++;
                 }
 
-                new_plan = thread->QueueThreadPlanForStepUntil (abort_other_plans, address_list.data(), address_list.size(), m_options.m_stop_others);
+                new_plan = thread->QueueThreadPlanForStepUntil (abort_other_plans, &address_list.front(), address_list.size(), m_options.m_stop_others);
                 new_plan->SetOkayToDiscard(false);
             }
             else
Index: source/Interpreter/Options.cpp
===================================================================
--- source/Interpreter/Options.cpp	(revision 108841)
+++ source/Interpreter/Options.cpp	(working copy)
@@ -285,7 +285,7 @@
         m_getopt_table[j].val     = 0;
     }
 
-    return m_getopt_table.data();
+    return &m_getopt_table.front();
 }
 
 
Index: source/Interpreter/Args.cpp
===================================================================
--- source/Interpreter/Args.cpp	(revision 108841)
+++ source/Interpreter/Args.cpp	(working copy)
@@ -317,7 +317,7 @@
 Args::GetArgumentVector()
 {
     if (!m_argv.empty())
-        return (char **)&m_argv[0];
+        return (char**) &m_argv[0];
     return NULL;
 }
 
@@ -1008,7 +1008,7 @@
         int long_options_index = -1;
         
         val = ::getopt_long (dummy_vec.size() - 1,
-                             (char *const *) dummy_vec.data(), 
+                             (char *const *) &dummy_vec.front(), 
                              sstr.GetData(), 
                              long_options,
                              &long_options_index);
Index: source/Symbol/Symtab.cpp
===================================================================
--- source/Symbol/Symtab.cpp	(revision 108841)
+++ source/Symbol/Symtab.cpp	(working copy)
@@ -504,7 +504,7 @@
 Symtab::CalculateSymbolSize (Symbol *symbol)
 {
     // Make sure this symbol is from this symbol table...
-    if (symbol < m_symbols.data() && symbol >= m_symbols.data() + m_symbols.size())
+    if (symbol < &m_symbols.front() || symbol > &m_symbols.back())
         return 0;
 
     // See if this symbol already has a byte size?
@@ -523,7 +523,7 @@
         if (m_addr_indexes.empty())
             InitAddressIndexes();
         const size_t num_addr_indexes = m_addr_indexes.size();
-        SymbolSearchInfo info = FindIndexPtrForSymbolContainingAddress(this, symbol->GetAddressRangePtr()->GetBaseAddress().GetFileAddress(), m_addr_indexes.data(), num_addr_indexes);
+        SymbolSearchInfo info = FindIndexPtrForSymbolContainingAddress(this, symbol->GetAddressRangePtr()->GetBaseAddress().GetFileAddress(), &m_addr_indexes.front(), num_addr_indexes);
         if (info.match_index_ptr != NULL)
         {
             const lldb::addr_t curr_file_addr = symbol->GetAddressRangePtr()->GetBaseAddress().GetFileAddress();
@@ -531,7 +531,7 @@
             // last one by taking the delta between the current symbol and
             // the next symbol
 
-            for (uint32_t addr_index = info.match_index_ptr - m_addr_indexes.data() + 1;
+            for (uint32_t addr_index = info.match_index_ptr - &m_addr_indexes.front() + 1;
                  addr_index < num_addr_indexes;
                  ++addr_index)
             {
Index: source/Symbol/ClangASTContext.cpp
===================================================================
--- source/Symbol/ClangASTContext.cpp	(revision 108841)
+++ source/Symbol/ClangASTContext.cpp	(working copy)
@@ -1944,7 +1944,7 @@
 
     // TODO: Detect calling convention in DWARF?
     return ast_context->getFunctionType(QualType::getFromOpaquePtr(result_type),
-                                        qual_type_args.data(),
+                                        &qual_type_args.front(),
                                         qual_type_args.size(),
                                         isVariadic,
                                         TypeQuals,
Index: source/Symbol/Type.cpp
===================================================================
--- source/Symbol/Type.cpp	(revision 108841)
+++ source/Symbol/Type.cpp	(working copy)
@@ -399,14 +399,14 @@
             else
                 buf.resize (256);
 
-            lldb_private::DataExtractor cstr_data(buf.data(), buf.size(), exe_ctx->process->GetByteOrder(), 4);
+            lldb_private::DataExtractor cstr_data(&buf.front(), buf.size(), exe_ctx->process->GetByteOrder(), 4);
             buf.back() = '\0';
             size_t bytes_read;
             size_t total_cstr_len = 0;
             Error error;
-            while ((bytes_read = exe_ctx->process->ReadMemory (pointer_addresss, buf.data(), buf.size(), error)) > 0)
+            while ((bytes_read = exe_ctx->process->ReadMemory (pointer_addresss, &buf.front(), buf.size(), error)) > 0)
             {
-                const size_t len = strlen((const char *)buf.data());
+                const size_t len = strlen((const char *)&buf.front());
                 if (len == 0)
                     break;
                 if (total_cstr_len == 0)
Index: include/lldb/Core/UniqueCStringMap.h
===================================================================
--- include/lldb/Core/UniqueCStringMap.h	(revision 108841)
+++ include/lldb/Core/UniqueCStringMap.h	(working copy)
@@ -157,7 +157,7 @@
     const Entry *
     FindNextValueForName (const char *unique_cstr, const Entry *entry_ptr) const
     {
-        const Entry *first_entry = m_map.data();
+        const Entry *first_entry = &m_map.front();
         const Entry *after_last_entry = first_entry + m_map.size();
         const Entry *next_entry = entry_ptr + 1;
         if (first_entry <= next_entry && next_entry < after_last_entry)
