================
@@ -0,0 +1,181 @@
+//===- TUSummaryExtractorFrontendAction.cpp 
-------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h"
+#include "clang/AST/ASTConsumer.h"
+#include "clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h"
+#include "clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h"
+#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h"
+#include "clang/Analysis/Scalable/TUSummary/TUSummaryExtractor.h"
+#include "clang/Basic/DiagnosticFrontend.h"
+#include "clang/Frontend/MultiplexConsumer.h"
----------------
steakhal wrote:

I see this as two separate concerns.
1) You argue we still have a circular dependency.
2) We should put this library to a different directory.

---

1) As I understand what I have now, it does not have a circular dependency. 
I've asked cmake to generate the dependency graph, and it doesn't seem to have 
a circle.
```
xcrun cmake --graphviz=dependencies.dot -B build -S llvm
acyclic dependencies.dot.clang > /dev/null 2>&1
echo $? # acyclic returns 0 if the graph is acyclic
```

2) I'm open for suggestions, but my intention was to bundle tests for the 
custom SSAF-specific FrontendAction. That is tested in the attached gtest. This 
is highly specific to the SSAF framework, so I figured I'd keep it under the 
same directory structure.

I don't think it's unprecedented, as the `clangStaticAnalyzerFrontend` already 
does exactly this - presumably for the same or similar reasons as I'm 
struggling with this here.

So my question is this: did bazel complain about circular dependencies?
What would you or anyone on this thread recommend to structure the code? (I 
tried my best, but if there is room for improvement, I'm happy to adapt it)

https://github.com/llvm/llvm-project/pull/185656
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to