diff options
| author | Alp Toker <alp@nuanti.com> | 2014-05-17 04:53:25 +0000 |
|---|---|---|
| committer | Alp Toker <alp@nuanti.com> | 2014-05-17 04:53:25 +0000 |
| commit | 2d57cea25688fc3372467ee97505ed07d8474d48 (patch) | |
| tree | efe2fab72e9981b40469865ef663b56ae7cb8db8 /clang/lib/Lex/ModuleMap.cpp | |
| parent | ec2748a8ad62769ff1a76d6ba2e57c17e888ded7 (diff) | |
| download | bcm5719-llvm-2d57cea25688fc3372467ee97505ed07d8474d48.tar.gz bcm5719-llvm-2d57cea25688fc3372467ee97505ed07d8474d48.zip | |
Provide and use a safe Token::getRawIdentifier() accessor
llvm-svn: 209061
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
| -rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index ce2c4f02e39..bdf71b5f4a1 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -1055,10 +1055,11 @@ retry: L.LexFromRawLexer(LToken); Tok.Location = LToken.getLocation().getRawEncoding(); switch (LToken.getKind()) { - case tok::raw_identifier: - Tok.StringData = LToken.getRawIdentifierData(); - Tok.StringLength = LToken.getLength(); - Tok.Kind = llvm::StringSwitch<MMToken::TokenKind>(Tok.getString()) + case tok::raw_identifier: { + StringRef RI = LToken.getRawIdentifier(); + Tok.StringData = RI.data(); + Tok.StringLength = RI.size(); + Tok.Kind = llvm::StringSwitch<MMToken::TokenKind>(RI) .Case("config_macros", MMToken::ConfigMacros) .Case("conflict", MMToken::Conflict) .Case("exclude", MMToken::ExcludeKeyword) @@ -1075,6 +1076,7 @@ retry: .Case("use", MMToken::UseKeyword) .Default(MMToken::Identifier); break; + } case tok::comma: Tok.Kind = MMToken::Comma; |

