Преглед на файлове

server-mode: Fix per-source COMPILE_FLAGS genex evaluation

Logic added by commit 1e4bb358 (Add generator expression support to
per-source COMPILE_FLAGS, 2016-10-25) accidentally frees memory before
finishing with it.  Revise the logic to hold the memory long enough.
Tobias Hunger преди 9 години
родител
ревизия
5dec0a2328
променени са 1 файла, в които са добавени 2 реда и са изтрити 1 реда
  1. 2 1
      Source/cmServerProtocol.cxx

+ 2 - 1
Source/cmServerProtocol.cxx

@@ -688,8 +688,9 @@ static Json::Value DumpSourceFilesList(
       std::string compileFlags = ld.Flags;
       if (const char* cflags = file->GetProperty("COMPILE_FLAGS")) {
         cmGeneratorExpression ge;
+        auto cge = ge.Parse(cflags);
         const char* processed =
-          ge.Parse(cflags)->Evaluate(target->GetLocalGenerator(), config);
+          cge->Evaluate(target->GetLocalGenerator(), config);
         lg->AppendFlags(compileFlags, processed);
       }
       fileData.Flags = compileFlags;