[llvm] r250459 - Replace a forward declaration with an #include.

Adrian Prantl via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 16 10:14:46 PDT 2015


> On Oct 16, 2015, at 9:56 AM, Eric Christopher <echristo at gmail.com> wrote:
> 
> Eh? Why?

The file forward-declares DebugLocStream and then uses the inner type (DebugLocStream::ListBuilder *) in an argument list. As noted in the commit message, clang complains about this when building with modules.

I’m unsure whether this is supposed to work or if I was just working around a bug in clang. If this is indeed a clang bug, we should fix it instead.

-- adrian

> 
> -eric
> 
> On Thu, Oct 15, 2015 at 2:00 PM Adrian Prantl via llvm-commits <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>> wrote:
> Author: adrian
> Date: Thu Oct 15 15:58:55 2015
> New Revision: 250459
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=250459&view=rev <http://llvm.org/viewvc/llvm-project?rev=250459&view=rev>
> Log:
> Replace a forward declaration with an #include.
> When building with modules the forward-declared inner class
> DebugLocStream::ListBuilder causes clang to fall over.
> 
> Modified:
>     llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h
> 
> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h?rev=250459&r1=250458&r2=250459&view=diff <http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h?rev=250459&r1=250458&r2=250459&view=diff>
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h (original)
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h Thu Oct 15 15:58:55 2015
> @@ -9,6 +9,8 @@
> 
>  #ifndef LLVM_LIB_CODEGEN_ASMPRINTER_DEBUGLOCENTRY_H
>  #define LLVM_LIB_CODEGEN_ASMPRINTER_DEBUGLOCENTRY_H
> +
> +#include "DebugLocStream.h"
>  #include "llvm/ADT/SmallString.h"
>  #include "llvm/IR/Constants.h"
>  #include "llvm/IR/DebugInfo.h"
> @@ -17,7 +19,6 @@
> 
>  namespace llvm {
>  class AsmPrinter;
> -class DebugLocStream;
> 
>  /// \brief This struct describes location entries emitted in the .debug_loc
>  /// section.
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151016/d13df78b/attachment.html>


More information about the llvm-commits mailing list