[PATCH] [PATCH] Fix to PR15826 - clang hits assert in clang::ASTContext::getASTRecordLayout

Serge Pavlov sepavloff at gmail.com
Mon Jul 1 05:48:12 PDT 2013


Friendly ping.

Thanks,
--Serge


2013/5/6 Serge Pavlov <sepavloff at gmail.com>

>   Added testcase.
>
> Hi doug.gregor,
>
> http://llvm-reviews.chandlerc.com/D749
>
> CHANGE SINCE LAST DIFF
>   http://llvm-reviews.chandlerc.com/D749?vs=1841&id=1846#toc
>
> Files:
>   lib/Sema/SemaDecl.cpp
>   test/Sema/PR15826.c
>
> Index: lib/Sema/SemaDecl.cpp
> ===================================================================
> --- lib/Sema/SemaDecl.cpp
> +++ lib/Sema/SemaDecl.cpp
> @@ -10295,7 +10295,8 @@
>      Tag->setTopLevelDeclInObjCContainer();
>
>    // Notify the consumer that we've defined a tag.
> -  Consumer.HandleTagDeclDefinition(Tag);
> +  if (!Tag->isInvalidDecl())
> +    Consumer.HandleTagDeclDefinition(Tag);
>  }
>
>  void Sema::ActOnObjCContainerFinishDefinition() {
> Index: test/Sema/PR15826.c
> ===================================================================
> --- /dev/null
> +++ test/Sema/PR15826.c
> @@ -0,0 +1,19 @@
> +// RUN: %clang_cc1 -verify -emit-obj -ffreestanding %s
> +
> +/* Testcase for PR15826 - clang hits assert in
> clang::ASTContext::getASTRecordLayout */
> +struct sysctl_req {
> +  struct aiocblist *p_aio;
> +};
> +
> +struct sysctl_oid {
> +  int (*oid_handler)(struct sysctl_req *req);
> +};
> +
> +static struct sysctl_oid sysctl___kern_features_aio;
> +
> +static void const *const __set_sysctl_set_sym_sysctl___kern_features_aio
> +    __attribute__((__used__)) = &sysctl___kern_features_aio;
> +
> +struct aiocblist {
> +  struct aiocb uaiocb; // expected-error {{field has incomplete type}}
> expected-note {{forward declaration}}
> +};
>



-- 
Thanks,
--Serge
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130701/3a03e352/attachment.html>


More information about the cfe-commits mailing list