<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 2, 2016 at 11:11 AM, Rafael Espíndola <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Out of curiosity, what technique were you using to find out if the<br>
headers were self-contained? Just "clang -c foo.h"?<br></blockquote><div><br></div><div>Building LLVM & Clang with C++ modules enabled</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br>
Rafael<br>
<br>
<br>
On 2 February 2016 at 09:24, Benjamin Kramer via cfe-commits<br>
<div class="HOEnZb"><div class="h5"><<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br>
> Author: d0k<br>
> Date: Tue Feb  2 08:24:21 2016<br>
> New Revision: 259507<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=259507&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=259507&view=rev</a><br>
> Log:<br>
> Make the remaining headers self-contained.<br>
><br>
> Modified:<br>
>     cfe/trunk/include/clang/AST/BaseSubobject.h<br>
>     cfe/trunk/include/clang/AST/DeclOpenMP.h<br>
>     cfe/trunk/include/clang/AST/Mangle.h<br>
>     cfe/trunk/include/clang/AST/TemplateName.h<br>
>     cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h<br>
>     cfe/trunk/include/clang/Sema/ObjCMethodList.h<br>
>     cfe/trunk/include/clang/Sema/Ownership.h<br>
>     cfe/trunk/include/clang/Sema/Scope.h<br>
>     cfe/trunk/include/clang/Sema/SemaLambda.h<br>
>     cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h<br>
>     cfe/trunk/lib/CodeGen/CodeGenTBAA.h<br>
><br>
> Modified: cfe/trunk/include/clang/AST/BaseSubobject.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/BaseSubobject.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/BaseSubobject.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/AST/BaseSubobject.h (original)<br>
> +++ cfe/trunk/include/clang/AST/BaseSubobject.h Tue Feb  2 08:24:21 2016<br>
> @@ -15,13 +15,12 @@<br>
>  #define LLVM_CLANG_AST_BASESUBOBJECT_H<br>
><br>
>  #include "clang/AST/CharUnits.h"<br>
> +#include "clang/AST/DeclCXX.h"<br>
>  #include "llvm/ADT/DenseMap.h"<br>
>  #include "llvm/Support/DataTypes.h"<br>
>  #include "llvm/Support/type_traits.h"<br>
><br>
>  namespace clang {<br>
> -  class CXXRecordDecl;<br>
> -<br>
>  // BaseSubobject - Uniquely identifies a direct or indirect base class.<br>
>  // Stores both the base class decl and the offset from the most derived class to<br>
>  // the base class. Used for vtable and VTT generation.<br>
><br>
> Modified: cfe/trunk/include/clang/AST/DeclOpenMP.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclOpenMP.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclOpenMP.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/AST/DeclOpenMP.h (original)<br>
> +++ cfe/trunk/include/clang/AST/DeclOpenMP.h Tue Feb  2 08:24:21 2016<br>
> @@ -17,6 +17,7 @@<br>
><br>
>  #include "clang/AST/DeclBase.h"<br>
>  #include "llvm/ADT/ArrayRef.h"<br>
> +#include "llvm/Support/TrailingObjects.h"<br>
><br>
>  namespace clang {<br>
>  class Expr;<br>
><br>
> Modified: cfe/trunk/include/clang/AST/Mangle.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Mangle.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Mangle.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/AST/Mangle.h (original)<br>
> +++ cfe/trunk/include/clang/AST/Mangle.h Tue Feb  2 08:24:21 2016<br>
> @@ -14,6 +14,7 @@<br>
>  #ifndef LLVM_CLANG_AST_MANGLE_H<br>
>  #define LLVM_CLANG_AST_MANGLE_H<br>
><br>
> +#include "clang/AST/Decl.h"<br>
>  #include "clang/AST/Type.h"<br>
>  #include "clang/Basic/ABI.h"<br>
>  #include "llvm/ADT/DenseMap.h"<br>
><br>
> Modified: cfe/trunk/include/clang/AST/TemplateName.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/TemplateName.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/TemplateName.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/AST/TemplateName.h (original)<br>
> +++ cfe/trunk/include/clang/AST/TemplateName.h Tue Feb  2 08:24:21 2016<br>
> @@ -14,6 +14,7 @@<br>
>  #ifndef LLVM_CLANG_AST_TEMPLATENAME_H<br>
>  #define LLVM_CLANG_AST_TEMPLATENAME_H<br>
><br>
> +#include "clang/AST/NestedNameSpecifier.h"<br>
>  #include "clang/Basic/LLVM.h"<br>
>  #include "llvm/ADT/FoldingSet.h"<br>
>  #include "llvm/ADT/PointerUnion.h"<br>
><br>
> Modified: cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h (original)<br>
> +++ cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h Tue Feb  2 08:24:21 2016<br>
> @@ -15,6 +15,7 @@<br>
><br>
>  #include "clang-c/Index.h"<br>
>  #include "clang/AST/CanonicalType.h"<br>
> +#include "clang/AST/DeclBase.h"<br>
>  #include "clang/AST/Type.h"<br>
>  #include "clang/Sema/CodeCompleteOptions.h"<br>
>  #include "llvm/ADT/DenseMap.h"<br>
><br>
> Modified: cfe/trunk/include/clang/Sema/ObjCMethodList.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/ObjCMethodList.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/ObjCMethodList.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/Sema/ObjCMethodList.h (original)<br>
> +++ cfe/trunk/include/clang/Sema/ObjCMethodList.h Tue Feb  2 08:24:21 2016<br>
> @@ -14,6 +14,7 @@<br>
>  #ifndef LLVM_CLANG_SEMA_OBJCMETHODLIST_H<br>
>  #define LLVM_CLANG_SEMA_OBJCMETHODLIST_H<br>
><br>
> +#include "clang/AST/DeclObjC.h"<br>
>  #include "llvm/ADT/PointerIntPair.h"<br>
><br>
>  namespace clang {<br>
><br>
> Modified: cfe/trunk/include/clang/Sema/Ownership.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Ownership.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Ownership.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/Sema/Ownership.h (original)<br>
> +++ cfe/trunk/include/clang/Sema/Ownership.h Tue Feb  2 08:24:21 2016<br>
> @@ -14,6 +14,7 @@<br>
>  #ifndef LLVM_CLANG_SEMA_OWNERSHIP_H<br>
>  #define LLVM_CLANG_SEMA_OWNERSHIP_H<br>
><br>
> +#include "clang/AST/Expr.h"<br>
>  #include "clang/Basic/LLVM.h"<br>
>  #include "llvm/ADT/ArrayRef.h"<br>
>  #include "llvm/ADT/PointerIntPair.h"<br>
><br>
> Modified: cfe/trunk/include/clang/Sema/Scope.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Scope.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Scope.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/Sema/Scope.h (original)<br>
> +++ cfe/trunk/include/clang/Sema/Scope.h Tue Feb  2 08:24:21 2016<br>
> @@ -14,6 +14,7 @@<br>
>  #ifndef LLVM_CLANG_SEMA_SCOPE_H<br>
>  #define LLVM_CLANG_SEMA_SCOPE_H<br>
><br>
> +#include "clang/AST/Decl.h"<br>
>  #include "clang/Basic/Diagnostic.h"<br>
>  #include "llvm/ADT/PointerIntPair.h"<br>
>  #include "llvm/ADT/SmallPtrSet.h"<br>
><br>
> Modified: cfe/trunk/include/clang/Sema/SemaLambda.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/SemaLambda.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/SemaLambda.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/Sema/SemaLambda.h (original)<br>
> +++ cfe/trunk/include/clang/Sema/SemaLambda.h Tue Feb  2 08:24:21 2016<br>
> @@ -18,7 +18,7 @@<br>
>  #include "clang/AST/ASTLambda.h"<br>
>  #include "clang/Sema/ScopeInfo.h"<br>
>  namespace clang {<br>
> -<br>
> +class Sema;<br>
><br>
>  /// \brief Examines the FunctionScopeInfo stack to determine the nearest<br>
>  /// enclosing lambda (to the current lambda) that is 'capture-capable' for<br>
><br>
> Modified: cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h (original)<br>
> +++ cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h Tue Feb  2 08:24:21 2016<br>
> @@ -18,14 +18,14 @@<br>
>  #include "clang/Basic/OpenMPKinds.h"<br>
>  #include "clang/Basic/SourceLocation.h"<br>
>  #include "llvm/ADT/DenseMap.h"<br>
> -#include "llvm/ADT/DenseSet.h"<br>
> +#include "llvm/ADT/SmallPtrSet.h"<br>
>  #include "llvm/ADT/StringMap.h"<br>
> +#include "llvm/IR/Function.h"<br>
>  #include "llvm/IR/ValueHandle.h"<br>
><br>
>  namespace llvm {<br>
>  class ArrayType;<br>
>  class Constant;<br>
> -class Function;<br>
>  class FunctionType;<br>
>  class GlobalVariable;<br>
>  class StructType;<br>
> @@ -530,7 +530,7 @@ private:<br>
>                                                const llvm::Twine &Name);<br>
><br>
>    /// \brief Set of threadprivate variables with the generated initializer.<br>
> -  llvm::DenseSet<const VarDecl *> ThreadPrivateWithDefinition;<br>
> +  llvm::SmallPtrSet<const VarDecl *, 4> ThreadPrivateWithDefinition;<br>
><br>
>    /// \brief Emits initialization code for the threadprivate variables.<br>
>    /// \param VDAddr Address of the global variable \a VD.<br>
><br>
> Modified: cfe/trunk/lib/CodeGen/CodeGenTBAA.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenTBAA.h?rev=259507&r1=259506&r2=259507&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenTBAA.h?rev=259507&r1=259506&r2=259507&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/CodeGen/CodeGenTBAA.h (original)<br>
> +++ cfe/trunk/lib/CodeGen/CodeGenTBAA.h Tue Feb  2 08:24:21 2016<br>
> @@ -15,14 +15,11 @@<br>
>  #ifndef LLVM_CLANG_LIB_CODEGEN_CODEGENTBAA_H<br>
>  #define LLVM_CLANG_LIB_CODEGEN_CODEGENTBAA_H<br>
><br>
> +#include "clang/AST/Type.h"<br>
>  #include "clang/Basic/LLVM.h"<br>
>  #include "llvm/ADT/DenseMap.h"<br>
>  #include "llvm/IR/MDBuilder.h"<br>
> -<br>
> -namespace llvm {<br>
> -  class LLVMContext;<br>
> -  class MDNode;<br>
> -}<br>
> +#include "llvm/IR/Metadata.h"<br>
><br>
>  namespace clang {<br>
>    class ASTContext;<br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div></div>