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
       via  500a2674a590d171994bcc4a4ec5ff93e8e95197 (commit)
       via  75f52e2c5f99dc20b054385c7bf99ce0b823dd9f (commit)
      from  c920002c6991ea1264011d4acf84e84130e36a68 (commit)

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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=500a2674a590d171994bcc4a4ec5ff93e8e95197
commit 500a2674a590d171994bcc4a4ec5ff93e8e95197
Merge: c920002 75f52e2
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Tue Jul 1 17:58:43 2014 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Jul 1 17:58:43 2014 -0400

    Merge topic 'fix-circular-transitive-properties-segfault' into next
    
    75f52e2c Remove backtrace from linking APIs.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=75f52e2c5f99dc20b054385c7bf99ce0b823dd9f
commit 75f52e2c5f99dc20b054385c7bf99ce0b823dd9f
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Tue Jul 1 23:53:02 2014 +0200
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Tue Jul 1 23:57:59 2014 +0200

    Remove backtrace from linking APIs.

diff --git a/Source/cmGeneratorExpressionEvaluator.cxx 
b/Source/cmGeneratorExpressionEvaluator.cxx
index c230ac6..b648eb2 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -1098,8 +1098,7 @@ static const struct TargetPropertyNode : public 
cmGeneratorExpressionNode
 
       std::vector<cmTarget const*> tgts;
       target->GetTransitivePropertyTargets(context->Config,
-                                           headTarget, tgts,
-                                           &context->Backtrace);
+                                                 headTarget, tgts);
       if (!tgts.empty())
         {
         linkedTargetsContent =
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 8e334ff..d27293a 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -3730,10 +3730,9 @@ void cmTarget::ExpandLinkItems(std::string const& prop,
                                std::string const& config,
                                cmTarget const* headTarget,
                                bool usage_requirements_only,
-                               std::vector<cmLinkItem>& items,
-                               cmListFileBacktrace *backtrace) const
+                               std::vector<cmLinkItem>& items) const
 {
-  cmGeneratorExpression ge(backtrace);
+  cmGeneratorExpression ge;
   cmGeneratorExpressionDAGChecker dagChecker(this->GetName(), prop, 0, 0);
   if(usage_requirements_only)
     {
@@ -6079,7 +6078,7 @@ cmTarget::LinkInterface const* cmTarget::GetLinkInterface(
   // Imported targets have their own link interface.
   if(this->IsImported())
     {
-    return this->GetImportLinkInterface(config, head, false, 0);
+    return this->GetImportLinkInterface(config, head, false);
     }
 
   // Link interfaces are not supported for executables that do not
@@ -6101,7 +6100,7 @@ cmTarget::LinkInterface const* cmTarget::GetLinkInterface(
     cmTargetInternals::OptionalLinkInterface iface;
     iface.ExplicitLibraries =
       this->ComputeLinkInterfaceLibraries(config, iface, head, false,
-                                          iface.Exists, 0);
+                                          iface.Exists);
     if (iface.Exists)
       {
       this->Internal->ComputeLinkInterface(this, config, iface,
@@ -6125,14 +6124,12 @@ cmTarget::LinkInterface const* 
cmTarget::GetLinkInterface(
 cmTarget::LinkInterface const*
 cmTarget::GetLinkInterfaceLibraries(const std::string& config,
                                     cmTarget const* head,
-                                    bool usage_requirements_only,
-                                    cmListFileBacktrace *backtrace) const
+                                    bool usage_requirements_only) const
 {
   // Imported targets have their own link interface.
   if(this->IsImported())
     {
-    return this->GetImportLinkInterface(config, head,
-                                        usage_requirements_only, backtrace);
+    return this->GetImportLinkInterface(config, head, usage_requirements_only);
     }
 
   // Link interfaces are not supported for executables that do not
@@ -6158,7 +6155,7 @@ cmTarget::GetLinkInterfaceLibraries(const std::string& 
config,
     iface.ExplicitLibraries =
       this->ComputeLinkInterfaceLibraries(config, iface, head,
                                           usage_requirements_only,
-                                          iface.Exists, backtrace);
+                                          iface.Exists);
 
     // Store the information for this configuration.
     cmTargetInternals::LinkInterfaceMapType::value_type entry(key, iface);
@@ -6172,8 +6169,7 @@ cmTarget::GetLinkInterfaceLibraries(const std::string& 
config,
 cmTarget::LinkInterface const*
 cmTarget::GetImportLinkInterface(const std::string& config,
                                  cmTarget const* headTarget,
-                                 bool usage_requirements_only,
-                                 cmListFileBacktrace *backtrace) const
+                                 bool usage_requirements_only) const
 {
   cmTarget::ImportInfo const* info = this->GetImportInfo(config);
   if(!info)
@@ -6195,7 +6191,7 @@ cmTarget::GetImportLinkInterface(const std::string& 
config,
     cmSystemTools::ExpandListArgument(info->Languages, iface.Languages);
     this->ExpandLinkItems(info->LibrariesProp, info->Libraries, config,
                           headTarget, usage_requirements_only,
-                          iface.Libraries, backtrace);
+                          iface.Libraries);
     {
     std::vector<std::string> deps;
     cmSystemTools::ExpandListArgument(info->SharedDeps, deps);
@@ -6220,7 +6216,7 @@ void processILibs(const std::string& config,
     {
     tgts.push_back(item.Target);
     if(cmTarget::LinkInterface const* iface =
-       item.Target->GetLinkInterfaceLibraries(config, headTarget, false, 0))
+       item.Target->GetLinkInterfaceLibraries(config, headTarget, false))
       {
       for(std::vector<cmLinkItem>::const_iterator
             it = iface->Libraries.begin();
@@ -6258,8 +6254,7 @@ cmTarget::GetLinkImplementationClosure(const std::string& 
config) const
 //----------------------------------------------------------------------------
 void cmTarget::GetTransitivePropertyTargets(const std::string& config,
                                       cmTarget const* headTarget,
-                                      std::vector<cmTarget const*> &tgts,
-                                      cmListFileBacktrace *backtrace) const
+                                      std::vector<cmTarget const*> &tgts) const
 {
   // The $<LINK_ONLY> expression may be in a link interface to specify private
   // link dependencies that are otherwise excluded from usage requirements.
@@ -6272,7 +6267,7 @@ void cmTarget::GetTransitivePropertyTargets(const 
std::string& config,
     this->GetPolicyStatusCMP0022() != cmPolicies::OLD;
   if(cmTarget::LinkInterface const* iface =
      this->GetLinkInterfaceLibraries(config, headTarget,
-                                     usage_requirements_only, backtrace))
+                                     usage_requirements_only))
     {
     for(std::vector<cmLinkItem>::const_iterator it = iface->Libraries.begin();
         it != iface->Libraries.end(); ++it)
@@ -6287,11 +6282,10 @@ void cmTarget::GetTransitivePropertyTargets(const 
std::string& config,
 
 //----------------------------------------------------------------------------
 const char* cmTarget::ComputeLinkInterfaceLibraries(const std::string& config,
-                                        LinkInterface& iface,
-                                        cmTarget const* headTarget,
-                                        bool usage_requirements_only,
-                                        bool &exists,
-                                        cmListFileBacktrace *backtrace) const
+                                           LinkInterface& iface,
+                                           cmTarget const* headTarget,
+                                           bool usage_requirements_only,
+                                           bool &exists) const
 {
   // Construct the property name suffix for this configuration.
   std::string suffix = "_";
@@ -6377,7 +6371,7 @@ const char* cmTarget::ComputeLinkInterfaceLibraries(const 
std::string& config,
     // The interface libraries have been explicitly set.
     this->ExpandLinkItems(linkIfaceProp, explicitLibraries, config,
                           headTarget, usage_requirements_only,
-                          iface.Libraries, backtrace);
+                          iface.Libraries);
     }
   else if (this->PolicyStatusCMP0022 == cmPolicies::WARN
         || this->PolicyStatusCMP0022 == cmPolicies::OLD)
@@ -6401,7 +6395,7 @@ const char* cmTarget::ComputeLinkInterfaceLibraries(const 
std::string& config,
         {
         this->ExpandLinkItems(newProp, newExplicitLibraries, config,
                               headTarget, usage_requirements_only,
-                              ifaceLibs, backtrace);
+                              ifaceLibs);
         }
       if (ifaceLibs != impl->Libraries)
         {
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 8b18cb7..9d1f966 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -281,12 +281,10 @@ public:
                                         cmTarget const* headTarget) const;
   LinkInterface const* GetLinkInterfaceLibraries(const std::string& config,
                                         cmTarget const* headTarget,
-                                        bool usage_requirements_only,
-                                        cmListFileBacktrace *backtrace) const;
+                                        bool usage_requirements_only) const;
   void GetTransitivePropertyTargets(const std::string& config,
                                     cmTarget const* headTarget,
-                                    std::vector<cmTarget const*> &libs,
-                                    cmListFileBacktrace *backtrace = 0) const;
+                                    std::vector<cmTarget const*> &libs) const;
   std::vector<cmTarget const*> const&
     GetLinkImplementationClosure(const std::string& config) const;
 
@@ -760,15 +758,13 @@ private:
 
   LinkInterface const*
     GetImportLinkInterface(const std::string& config, cmTarget const* head,
-                           bool usage_requirements_only,
-                           cmListFileBacktrace *backtrace) const;
+                           bool usage_requirements_only) const;
 
   const char* ComputeLinkInterfaceLibraries(const std::string& config,
-                                        LinkInterface& iface,
-                                        cmTarget const* head,
-                                        bool usage_requirements_only,
-                                        bool &exists,
-                                        cmListFileBacktrace* backtrace) const;
+                                            LinkInterface& iface,
+                                            cmTarget const* head,
+                                            bool usage_requirements_only,
+                                            bool &exists) const;
 
   LinkImplementation const*
     GetLinkImplementationLibrariesInternal(const std::string& config,
@@ -784,8 +780,7 @@ private:
   void ExpandLinkItems(std::string const& prop, std::string const& value,
                        std::string const& config, cmTarget const* headTarget,
                        bool usage_requirements_only,
-                       std::vector<cmLinkItem>& items,
-                       cmListFileBacktrace *backtrace) const;
+                       std::vector<cmLinkItem>& items) const;
   void LookupLinkItems(std::vector<std::string> const& names,
                        std::vector<cmLinkItem>& items) const;
 
diff --git 
a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle4-stderr.txt
 
b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle4-stderr.txt
index 3d1da50..5cfeb0a 100644
--- 
a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle4-stderr.txt
+++ 
b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle4-stderr.txt
@@ -1,4 +1,4 @@
-CMake Error at LinkImplementationCycle4.cmake:14 \(target_link_libraries\):
+CMake Error:
   Error evaluating generator expression:
 
     \$<TARGET_PROPERTY:INTERFACE_INCLUDE_DIRECTORIES>
@@ -6,5 +6,3 @@ CMake Error at LinkImplementationCycle4.cmake:14 
\(target_link_libraries\):
   \$<TARGET_PROPERTY:...> expression in link libraries evaluation depends on
   target property which is transitive over the link libraries, creating a
   recursion.
-Call Stack \(most recent call first\):
-  CMakeLists.txt:8 \(include\)
diff --git 
a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-stderr.txt
 
b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-stderr.txt
index 28bbc12..5cfeb0a 100644
--- 
a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-stderr.txt
+++ 
b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-stderr.txt
@@ -1,4 +1,4 @@
-CMake Error at LinkImplementationCycle5.cmake:10 \(target_link_libraries\):
+CMake Error:
   Error evaluating generator expression:
 
     \$<TARGET_PROPERTY:INTERFACE_INCLUDE_DIRECTORIES>
@@ -6,5 +6,3 @@ CMake Error at LinkImplementationCycle5.cmake:10 
\(target_link_libraries\):
   \$<TARGET_PROPERTY:...> expression in link libraries evaluation depends on
   target property which is transitive over the link libraries, creating a
   recursion.
-Call Stack \(most recent call first\):
-  CMakeLists.txt:8 \(include\)
diff --git 
a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle6-stderr.txt
 
b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle6-stderr.txt
index 1ea624d..5cfeb0a 100644
--- 
a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle6-stderr.txt
+++ 
b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle6-stderr.txt
@@ -1,4 +1,4 @@
-CMake Error at LinkImplementationCycle6.cmake:14 \(target_link_libraries\):
+CMake Error:
   Error evaluating generator expression:
 
     \$<TARGET_PROPERTY:INTERFACE_INCLUDE_DIRECTORIES>
@@ -6,5 +6,3 @@ CMake Error at LinkImplementationCycle6.cmake:14 
\(target_link_libraries\):
   \$<TARGET_PROPERTY:...> expression in link libraries evaluation depends on
   target property which is transitive over the link libraries, creating a
   recursion.
-Call Stack \(most recent call first\):
-  CMakeLists.txt:8 \(include\)

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

Summary of changes:
 Source/cmGeneratorExpressionEvaluator.cxx          |    3 +-
 Source/cmTarget.cxx                                |   42 +++++++++-----------
 Source/cmTarget.h                                  |   21 ++++------
 .../LinkImplementationCycle4-stderr.txt            |    4 +-
 .../LinkImplementationCycle5-stderr.txt            |    4 +-
 .../LinkImplementationCycle6-stderr.txt            |    4 +-
 6 files changed, 30 insertions(+), 48 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to