summaryrefslogtreecommitdiffstats
path: root/lib/Format
diff options
context:
space:
mode:
authorKrasimir Georgiev <krasimir@google.com>2017-07-05 12:24:01 +0000
committerKrasimir Georgiev <krasimir@google.com>2017-07-05 12:24:01 +0000
commit7b5f13bce7dd43d501c8344013bfbdd4906b123b (patch)
tree0d47d263c2fa01e2d8e64a58932d17fe404344ae /lib/Format
parentd424218cf7ef6d233819a6d9759f8ae0aa750b58 (diff)
[clang-format] Fix an uninitialized memory access
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307147 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Format')
-rw-r--r--lib/Format/FormatToken.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/Format/FormatToken.h b/lib/Format/FormatToken.h
index 4ea81baf59..00a0abd64b 100644
--- a/lib/Format/FormatToken.h
+++ b/lib/Format/FormatToken.h
@@ -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.