[cfe-dev] Why is "..." printed 'After' the arg name in TypePrinter?

Vassil Vassilev vasil.georgiev.vasilev at cern.ch
Mon Sep 15 02:45:38 PDT 2014


On 08/01/2014 03:58 PM, Aaron Ballman wrote:
> On Fri, Aug 1, 2014 at 9:34 AM, Aaron Ballman <aaron at aaronballman.com> wrote:
>> On Fri, Aug 1, 2014 at 9:26 AM, Vassil Vassilev
>> <vasil.georgiev.vasilev at cern.ch> wrote:
>>> Hi,
>>>    Thanks for fixing this issue:
>>>    There seem to be another issue with recent clang when printing:
>>>    cat T.h
>>>    typedef struct { } __pthread_unwind_buf_t __attribute__ ((__aligned__));
>>>
>>>    clang -cc1  -x c++ -fsyntax-only T.h -ast-print
>>> struct {
>>> } typedef __pthread_unwind_buf_t __attribute__((aligned(clang:
>>> /home/vvassilev/workspace/llvm-github/obj/tools/clang/lib/AST/../../include/clang/AST/AttrImpl.inc:294:
>>> virtual void clang::AlignedAttr::printPretty(llvm::raw_ostream &, const
>>> clang::PrintingPolicy &) const: Assertion `isalignmentExpr && alignmentExpr
>>> != nullptr' failed.
>> This is a problem with the way we tablegen attribute helper methods.
>> I'll look into it, thank you for bringing it to my attention!
> This should be resolved in r214513.
(Sorry for reusing the thread)
template<typename, unsigned = 0>
struct __attribute__((type_visibility("default"))) extent;

gets printed as:

template<typename, unsigned = 0>
struct __attribute__((type_visibility(0))) extent;

(and it doesn't compiler because a string is expected) Is that by design 
or a bug?
Vassil
>
> ~Aaron




More information about the cfe-dev mailing list