[cfe-commits] Circular dependencies in headers

Jordan Rose jordan_rose at apple.com
Fri Oct 5 08:58:08 PDT 2012


On Oct 4, 2012, at 18:35 , Sean Silva <silvas at purdue.edu> wrote:

>> Sema depends on AST, and we don't allow circular dependencies. I guess it would be nice if we had a map of all our dependencies somewhere; bonus points if it's autogenerated. Double bonus points if the SVN server rejects commits that cause a circular dependency.
> 
> I guess the "would be nice" part if fulfilled by page 3 of
> <http://wiki.ifs.hsr.ch/SemProgAnTr/files/Clang_Architecture_-_ChristopherGuntli.pdf>..
> 
> It looks like Doxygen also has some information about dependencies on
> its "directory" pages. For example, there appears to be an alarming
> amount of circularity on
> <http://clang.llvm.org/doxygen/dir_36b800a3fe94cf7aedd3066cf4f06787.html>
> (primarily, it seems, related to libBasic). It looks like most are
> just strays, e.g. with 31 dependencies in one direction and 1 in the
> other.

Interesting! It looks like the offending header is AllDiagnostics.h, which doesn't actually seem to be a problem since the headers it includes just define the diagnostic enum values for each of the libraries. Perhaps we should just pull all those headers into Basic, like we do for the .td files.

Good catch, Sean.

Jordan



More information about the cfe-commits mailing list