@@ -39,18 +39,19 @@ class ParseHLSLRootSignatureTest : public ::testing::Test {
3939 Target = TargetInfo::CreateTargetInfo (Diags, TargetOpts);
4040 }
4141
42- Preprocessor *CreatePP (StringRef Source, TrivialModuleLoader &ModLoader) {
42+ std::unique_ptr<Preprocessor> CreatePP (StringRef Source,
43+ TrivialModuleLoader &ModLoader) {
4344 std::unique_ptr<llvm::MemoryBuffer> Buf =
4445 llvm::MemoryBuffer::getMemBuffer (Source);
4546 SourceMgr.setMainFileID (SourceMgr.createFileID (std::move (Buf)));
4647
4748 HeaderSearch HeaderInfo (std::make_shared<HeaderSearchOptions>(), SourceMgr,
4849 Diags, LangOpts, Target.get ());
49- Preprocessor * PP =
50- new Preprocessor ( std::make_shared<PreprocessorOptions>(), Diags,
51- LangOpts, SourceMgr, HeaderInfo, ModLoader,
52- /* IILookup =*/ nullptr ,
53- /* OwnsHeaderSearch =*/ false );
50+ std::unique_ptr< Preprocessor> PP = std::make_unique<Preprocessor>(
51+ std::make_shared<PreprocessorOptions>(), Diags, LangOpts, SourceMgr ,
52+ HeaderInfo, ModLoader,
53+ /* IILookup =*/ nullptr ,
54+ /* OwnsHeaderSearch =*/ false );
5455 PP->Initialize (*Target);
5556 PP->EnterMainSourceFile ();
5657 return PP;
@@ -107,7 +108,7 @@ TEST_F(ParseHLSLRootSignatureTest, LexValidTokensTest) {
107108 )cc" ;
108109
109110 TrivialModuleLoader ModLoader;
110- Preprocessor * PP = CreatePP (Source, ModLoader);
111+ auto PP = CreatePP (Source, ModLoader);
111112 auto TokLoc = SourceLocation ();
112113
113114 RootSignatureLexer Lexer (Source, TokLoc, *PP);
@@ -123,8 +124,6 @@ TEST_F(ParseHLSLRootSignatureTest, LexValidTokensTest) {
123124 };
124125
125126 CheckTokens (Tokens, Expected);
126-
127- delete PP;
128127}
129128
130129} // anonymous namespace
0 commit comments