Roll clang + fix warnings

Change-Id: Idad827db453fd72ac7c73a85a551c47fc88b8f4c
Bug: https://github.com/google/perfetto/issues/58
diff --git a/buildtools/BUILD.gn b/buildtools/BUILD.gn
index e75f35a..c13aeb1 100644
--- a/buildtools/BUILD.gn
+++ b/buildtools/BUILD.gn
@@ -45,6 +45,8 @@
       "-Wno-unused-member-function",
       "-Wno-zero-as-null-pointer-constant",
       "-Wno-weak-vtables",
+      "-Wno-suggest-override",
+      "-Wno-suggest-destructor-override",
     ]
   } else {
     cflags = [
diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn
index b7916b7..a2ce0af 100644
--- a/gn/standalone/BUILD.gn
+++ b/gn/standalone/BUILD.gn
@@ -47,6 +47,8 @@
       "-Wno-padded",
       "-Wno-reserved-id-macro",
       "-Wno-unknown-sanitizers",
+      "-Wno-unknown-warning-option",
+      "-Wno-poison-system-directories",
     ]
   }
 
diff --git a/src/trace_processor/importers/json/json_tracker.h b/src/trace_processor/importers/json/json_tracker.h
index ac24083..d786bf1 100644
--- a/src/trace_processor/importers/json/json_tracker.h
+++ b/src/trace_processor/importers/json/json_tracker.h
@@ -33,7 +33,7 @@
   JsonTracker(const JsonTracker&) = delete;
   JsonTracker& operator=(const JsonTracker&) = delete;
   explicit JsonTracker(TraceProcessorContext*);
-  virtual ~JsonTracker();
+  ~JsonTracker() override;
 
   static JsonTracker* GetOrCreate(TraceProcessorContext* context) {
     if (!context->json_tracker) {
diff --git a/src/trace_processor/importers/syscalls/syscall_tracker.h b/src/trace_processor/importers/syscalls/syscall_tracker.h
index c31ffe8..666a220 100644
--- a/src/trace_processor/importers/syscalls/syscall_tracker.h
+++ b/src/trace_processor/importers/syscalls/syscall_tracker.h
@@ -45,7 +45,7 @@
  public:
   SyscallTracker(const SyscallTracker&) = delete;
   SyscallTracker& operator=(const SyscallTracker&) = delete;
-  virtual ~SyscallTracker();
+  ~SyscallTracker() override;
   static SyscallTracker* GetOrCreate(TraceProcessorContext* context) {
     if (!context->syscall_tracker) {
       context->syscall_tracker.reset(new SyscallTracker(context));
diff --git a/src/trace_processor/sqlite/sqlite_raw_table.h b/src/trace_processor/sqlite/sqlite_raw_table.h
index 2e6d774..3722d9b 100644
--- a/src/trace_processor/sqlite/sqlite_raw_table.h
+++ b/src/trace_processor/sqlite/sqlite_raw_table.h
@@ -53,7 +53,7 @@
   };
 
   SqliteRawTable(sqlite3*, Context);
-  virtual ~SqliteRawTable();
+  ~SqliteRawTable() override;
 
   static void RegisterTable(sqlite3* db, QueryCache*, TraceProcessorContext*);
 
diff --git a/src/traced/probes/filesystem/inode_file_data_source.cc b/src/traced/probes/filesystem/inode_file_data_source.cc
index bbe38e0..5029675 100644
--- a/src/traced/probes/filesystem/inode_file_data_source.cc
+++ b/src/traced/probes/filesystem/inode_file_data_source.cc
@@ -60,20 +60,20 @@
   StaticMapDelegate(
       std::map<BlockDeviceID, std::unordered_map<Inode, InodeMapValue>>* map)
       : map_(map) {}
-  ~StaticMapDelegate() {}
+  ~StaticMapDelegate() override {}
 
  private:
   bool OnInodeFound(BlockDeviceID block_device_id,
                     Inode inode_number,
                     const std::string& path,
-                    InodeFileMap_Entry_Type type) {
+                    InodeFileMap_Entry_Type type) override {
     std::unordered_map<Inode, InodeMapValue>& inode_map =
         (*map_)[block_device_id];
     inode_map[inode_number].SetType(type);
     inode_map[inode_number].AddPath(path);
     return true;
   }
-  void OnInodeScanDone() {}
+  void OnInodeScanDone() override {}
   std::map<BlockDeviceID, std::unordered_map<Inode, InodeMapValue>>* map_;
 };
 
diff --git a/tools/ftrace_proto_gen/proto_gen_utils.h b/tools/ftrace_proto_gen/proto_gen_utils.h
index 805c402..4d24161 100644
--- a/tools/ftrace_proto_gen/proto_gen_utils.h
+++ b/tools/ftrace_proto_gen/proto_gen_utils.h
@@ -32,7 +32,7 @@
 class VerifyStream : public std::ostringstream {
  public:
   VerifyStream(std::string filename);
-  virtual ~VerifyStream();
+  ~VerifyStream() override;
 
  private:
   std::string filename_;
diff --git a/tools/install-build-deps b/tools/install-build-deps
index 73a537a..4decb4d 100755
--- a/tools/install-build-deps
+++ b/tools/install-build-deps
@@ -107,8 +107,8 @@
     # tools/clang/scripts/update.py.
     Dependency(
         'buildtools/clang.tgz',
-        'https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-n332890-c2443155-2.tgz',
-        'd6501ffdb5dbb0ffe8a4b873cc092a9929e661ec', 'linux'),
+        'https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-n362116-1bd7046e-2.tgz',
+        '7c028bced1243c7430509e90f94b23c1cbeccb85', 'linux'),
 
     # Keep in sync with chromium DEPS.
     Dependency(