[Cmake-commits] CMake branch, next, updated. v3.8.0-rc2-553-ged2a6b4

Kitware Robot kwrobot at kitware.com
Wed Mar 22 08:45:04 EDT 2017


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
  discards  cc58090bb01be9c687ae307201040e4d9f27ca23 (commit)
  discards  77e5b3b683470c27f3cfef73c0b5c777383ef3d9 (commit)
  discards  64601c441f5ea323ba2b16fd351760cb4dce6120 (commit)
  discards  8d241e1d1ff431e289681e3701ebe372f46725e4 (commit)
  discards  34f0e30ba3330a641c90e8e9b4121c00d98b8b1e (commit)
  discards  90bd013cadfd642c046183a29b88d2c20d822347 (commit)
  discards  6b2b25256d6a91c19984c57a44705f988b874cd0 (commit)
  discards  9d56545bf15fe9a22f8468ea1a7263701577bdbf (commit)
  discards  e49f1273a98ff9fabadeab307d49e43e10960215 (commit)
  discards  ee1a83a7d5baa835174d9916aac5df9e11b2a2eb (commit)
  discards  93e18d8e1342f6533891c9e40ffac5542d61d2f8 (commit)
       via  ed2a6b4d93647fa6f997ecf8432aa065936d9da1 (commit)
       via  b3897c5f838e186e4ab665ee7edc588a788d0f2b (commit)
       via  bfa7ca02038fadd1c72e26c844d7cb2c16b8faf5 (commit)
       via  bb7a241f86c9235e97cb09a103c29bb5680dd354 (commit)
       via  38c9a42b6b0e8f3ef9d14448e6b01cf6b26771dc (commit)
       via  213cd05b5264eeaa48f3e8ddb0eac0359b412ae1 (commit)
       via  1d75187ea1f1519b0a390928e18e2e8158b72685 (commit)
       via  bb24b117d8fed6692207ac066ac6fc46867cec93 (commit)
       via  266820722c96de7e899a755429c970c1e393665b (commit)
       via  df189da83628ccad7819ab48574073c9dc3ecb2f (commit)
       via  edac95b955afdea2d129b32b029bf845dc29cb71 (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (cc58090bb01be9c687ae307201040e4d9f27ca23)
            \
             N -- N -- N (ed2a6b4d93647fa6f997ecf8432aa065936d9da1)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed2a6b4d93647fa6f997ecf8432aa065936d9da1
commit ed2a6b4d93647fa6f997ecf8432aa065936d9da1
Merge: b3897c5 edac95b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Mar 22 12:44:22 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:44:24 2017 -0400

    Stage topic '14335-duplicate-else'
    
    Topic-id: 23133
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/594


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b3897c5f838e186e4ab665ee7edc588a788d0f2b
commit b3897c5f838e186e4ab665ee7edc588a788d0f2b
Merge: bfa7ca0 ca2ece6
Author:     Gregor Jasny <gjasny at googlemail.com>
AuthorDate: Wed Mar 22 07:13:08 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:59 2017 -0400

    Stage topic '16624-blas-lapack-documentation'
    
    Topic-id: 23163
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/603


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bfa7ca02038fadd1c72e26c844d7cb2c16b8faf5
commit bfa7ca02038fadd1c72e26c844d7cb2c16b8faf5
Merge: bb7a241 805706b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 21 19:27:56 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:59 2017 -0400

    Stage topic 'ninja-fortran-depfile-fix'
    
    Topic-id: 23158
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/601


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bb7a241f86c9235e97cb09a103c29bb5680dd354
commit bb7a241f86c9235e97cb09a103c29bb5680dd354
Merge: 38c9a42 2c55c14
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 21 17:17:05 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:58 2017 -0400

    Stage topic 'FindHDF5-optional-no-config'
    
    Topic-id: 23148
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/599


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=38c9a42b6b0e8f3ef9d14448e6b01cf6b26771dc
commit 38c9a42b6b0e8f3ef9d14448e6b01cf6b26771dc
Merge: 213cd05 feaea06
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 21 15:16:33 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:58 2017 -0400

    Stage topic 'cuda_no_ninja_response_support'
    
    Topic-id: 23138
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/596


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=213cd05b5264eeaa48f3e8ddb0eac0359b412ae1
commit 213cd05b5264eeaa48f3e8ddb0eac0359b412ae1
Merge: 1d75187 18009aa
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 21 15:13:09 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:58 2017 -0400

    Stage topic 'libarchive-backport-rc4-crypto-rec'
    
    Topic-id: 23145
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/598


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1d75187ea1f1519b0a390928e18e2e8158b72685
commit 1d75187ea1f1519b0a390928e18e2e8158b72685
Merge: bb24b11 6c83267
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 21 14:43:44 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:58 2017 -0400

    Stage topic 'wip.ipo.module'
    
    Topic-id: 22904
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/558


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bb24b117d8fed6692207ac066ac6fc46867cec93
commit bb24b117d8fed6692207ac066ac6fc46867cec93
Merge: 2668207 2a826e3
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 21 14:33:00 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:57 2017 -0400

    Stage topic 'revert-cpack_nsis_sign_uninstaller'
    
    Topic-id: 23143
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/597


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=266820722c96de7e899a755429c970c1e393665b
commit 266820722c96de7e899a755429c970c1e393665b
Merge: df189da 075f6454
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 21 14:03:48 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:57 2017 -0400

    Stage topic 'module-def-and-WINDOWS_EXPORT_ALL_SYMBOLS'
    
    Topic-id: 23029
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/581


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=df189da83628ccad7819ab48574073c9dc3ecb2f
commit df189da83628ccad7819ab48574073c9dc3ecb2f
Merge: 7ebbe4f 5606622
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 21 13:10:48 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Mar 22 08:43:57 2017 -0400

    Stage topic 'cpack-rpm-debuginfo-multiple-files-fix'
    
    Topic-id: 23135
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/595


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=edac95b955afdea2d129b32b029bf845dc29cb71
commit edac95b955afdea2d129b32b029bf845dc29cb71
Author:     Gregor Jasny <gjasny at googlemail.com>
AuthorDate: Mon Mar 20 21:49:59 2017 +0100
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Mar 22 08:42:35 2017 -0400

    cmIfCommand: Reject duplicate else() and misplaced elseif()
    
    Closes: #14335

diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx
index a8fa4f9..421c3dd 100644
--- a/Source/cmIfCommand.cxx
+++ b/Source/cmIfCommand.cxx
@@ -57,8 +57,19 @@ bool cmIfFunctionBlocker::IsFunctionBlocked(const cmListFileFunction& lff,
         // watch for our state change
         if (scopeDepth == 0 &&
             !cmSystemTools::Strucmp(this->Functions[c].Name.c_str(), "else")) {
+
+          if (this->ElseSeen) {
+            cmListFileBacktrace bt = mf.GetBacktrace(this->Functions[c]);
+            mf.GetCMakeInstance()->IssueMessage(
+              cmake::FATAL_ERROR,
+              "A duplicate ELSE command was found inside an IF block.", bt);
+            cmSystemTools::SetFatalErrorOccured();
+            return true;
+          }
+
           this->IsBlocking = this->HasRun;
           this->HasRun = true;
+          this->ElseSeen = true;
 
           // if trace is enabled, print a (trivially) evaluated "else"
           // statement
@@ -68,6 +79,15 @@ bool cmIfFunctionBlocker::IsFunctionBlocked(const cmListFileFunction& lff,
         } else if (scopeDepth == 0 &&
                    !cmSystemTools::Strucmp(this->Functions[c].Name.c_str(),
                                            "elseif")) {
+          if (this->ElseSeen) {
+            cmListFileBacktrace bt = mf.GetBacktrace(this->Functions[c]);
+            mf.GetCMakeInstance()->IssueMessage(
+              cmake::FATAL_ERROR,
+              "An ELSEIF command was found after an ELSE command.", bt);
+            cmSystemTools::SetFatalErrorOccured();
+            return true;
+          }
+
           if (this->HasRun) {
             this->IsBlocking = true;
           } else {
diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h
index 56eef30..f81db67 100644
--- a/Source/cmIfCommand.h
+++ b/Source/cmIfCommand.h
@@ -21,6 +21,7 @@ public:
   cmIfFunctionBlocker()
   {
     this->HasRun = false;
+    this->ElseSeen = false;
     this->ScopeDepth = 0;
   }
   ~cmIfFunctionBlocker() CM_OVERRIDE {}
@@ -32,6 +33,7 @@ public:
   std::vector<cmListFileFunction> Functions;
   bool IsBlocking;
   bool HasRun;
+  bool ElseSeen;
   unsigned int ScopeDepth;
 };
 
diff --git a/Tests/RunCMake/if/RunCMakeTest.cmake b/Tests/RunCMake/if/RunCMakeTest.cmake
index 077d00a..f54edf7 100644
--- a/Tests/RunCMake/if/RunCMakeTest.cmake
+++ b/Tests/RunCMake/if/RunCMakeTest.cmake
@@ -3,7 +3,11 @@ include(RunCMake)
 run_cmake(InvalidArgument1)
 run_cmake(IsDirectory)
 run_cmake(IsDirectoryLong)
+run_cmake(duplicate-deep-else)
+run_cmake(duplicate-else)
+run_cmake(duplicate-else-after-elseif)
 run_cmake(elseif-message)
+run_cmake(misplaced-elseif)
 
 run_cmake(MatchesSelf)
 
diff --git a/Tests/RunCMake/if/duplicate-deep-else-result.txt b/Tests/RunCMake/if/duplicate-deep-else-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-deep-else-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/if/duplicate-deep-else-stderr.txt b/Tests/RunCMake/if/duplicate-deep-else-stderr.txt
new file mode 100644
index 0000000..ac2335c
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-deep-else-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at duplicate-deep-else.cmake:[0-9]+ \(else\):
+  A duplicate ELSE command was found inside an IF block.
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/if/duplicate-deep-else.cmake b/Tests/RunCMake/if/duplicate-deep-else.cmake
new file mode 100644
index 0000000..94f06de
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-deep-else.cmake
@@ -0,0 +1,7 @@
+if(0)
+else()
+  if(0)
+  else()
+  else()
+  endif()
+endif()
diff --git a/Tests/RunCMake/if/duplicate-else-after-elseif-result.txt b/Tests/RunCMake/if/duplicate-else-after-elseif-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-else-after-elseif-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/if/duplicate-else-after-elseif-stderr.txt b/Tests/RunCMake/if/duplicate-else-after-elseif-stderr.txt
new file mode 100644
index 0000000..ba6765c
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-else-after-elseif-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at duplicate-else-after-elseif.cmake:[0-9]+ \(else\):
+  A duplicate ELSE command was found inside an IF block.
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/if/duplicate-else-after-elseif.cmake b/Tests/RunCMake/if/duplicate-else-after-elseif.cmake
new file mode 100644
index 0000000..d1d4ac1
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-else-after-elseif.cmake
@@ -0,0 +1,5 @@
+if(0)
+elseif(0)
+else()
+else()
+endif()
diff --git a/Tests/RunCMake/if/duplicate-else-result.txt b/Tests/RunCMake/if/duplicate-else-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-else-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/if/duplicate-else-stderr.txt b/Tests/RunCMake/if/duplicate-else-stderr.txt
new file mode 100644
index 0000000..e0dd01f
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-else-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at duplicate-else.cmake:[0-9]+ \(else\):
+  A duplicate ELSE command was found inside an IF block.
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/if/duplicate-else.cmake b/Tests/RunCMake/if/duplicate-else.cmake
new file mode 100644
index 0000000..14a03ac
--- /dev/null
+++ b/Tests/RunCMake/if/duplicate-else.cmake
@@ -0,0 +1,4 @@
+if(0)
+else()
+else()
+endif()
diff --git a/Tests/RunCMake/if/misplaced-elseif-result.txt b/Tests/RunCMake/if/misplaced-elseif-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/if/misplaced-elseif-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/if/misplaced-elseif-stderr.txt b/Tests/RunCMake/if/misplaced-elseif-stderr.txt
new file mode 100644
index 0000000..c4b0266
--- /dev/null
+++ b/Tests/RunCMake/if/misplaced-elseif-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at misplaced-elseif.cmake:[0-9]+ \(elseif\):
+  An ELSEIF command was found after an ELSE command.
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/if/misplaced-elseif.cmake b/Tests/RunCMake/if/misplaced-elseif.cmake
new file mode 100644
index 0000000..d27f24e
--- /dev/null
+++ b/Tests/RunCMake/if/misplaced-elseif.cmake
@@ -0,0 +1,4 @@
+if(0)
+else()
+elseif(1)
+endif()

-----------------------------------------------------------------------

Summary of changes:
 Source/cmIfCommand.cxx |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list