]> granicus.if.org Git - clang/commitdiff
[clang-format] Fix an uninitialized memory access
authorKrasimir Georgiev <krasimir@google.com>
Wed, 5 Jul 2017 12:24:01 +0000 (12:24 +0000)
committerKrasimir Georgiev <krasimir@google.com>
Wed, 5 Jul 2017 12:24:01 +0000 (12:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307147 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/FormatToken.h

index 4ea81baf59d69065b389edc1085d46af92eba8b6..00a0abd64bd47b6a0f2875609a7d64cd099e483c 100644 (file)
@@ -646,13 +646,6 @@ struct AdditionalKeywords {
     kw_var = &IdentTable.get("var");
     kw_yield = &IdentTable.get("yield");
 
-    JsExtraKeywords = std::unordered_set<IdentifierInfo *>(
-        {kw_as, kw_async, kw_await, kw_declare, kw_finally, kw_from,
-         kw_function, kw_get, kw_import, kw_is, kw_let, kw_module, kw_set,
-         kw_type, kw_var, kw_yield,
-         // Keywords from the Java section.
-         kw_abstract, kw_extends, kw_implements, kw_instanceof, kw_interface});
-
     kw_abstract = &IdentTable.get("abstract");
     kw_assert = &IdentTable.get("assert");
     kw_extends = &IdentTable.get("extends");
@@ -680,6 +673,15 @@ struct AdditionalKeywords {
     kw_qsignals = &IdentTable.get("Q_SIGNALS");
     kw_slots = &IdentTable.get("slots");
     kw_qslots = &IdentTable.get("Q_SLOTS");
+
+    // Keep this at the end of the constructor to make sure everything here is
+    // already initialized.
+    JsExtraKeywords = std::unordered_set<IdentifierInfo *>(
+        {kw_as, kw_async, kw_await, kw_declare, kw_finally, kw_from,
+         kw_function, kw_get, kw_import, kw_is, kw_let, kw_module, kw_set,
+         kw_type, kw_var, kw_yield,
+         // Keywords from the Java section.
+         kw_abstract, kw_extends, kw_implements, kw_instanceof, kw_interface});
   }
 
   // Context sensitive keywords.