On Tue, May 15, 2018 at 7:30 PM, Joel E. Denny <jdenny.o...@gmail.com> wrote: > Hi Hans, > > On Tue, May 15, 2018 at 6:23 AM, Hans Wennborg <h...@chromium.org> wrote: >> >> This broke the ast-print-record-decl.c test on Windows, see for >> example >> http://lab.llvm.org:8011/builders/clang-with-thin-lto-windows/builds/9066 >> >> One way to reproduce the failure on Linux is to pass a Windows triple >> to this ast-print command: >> >> --- a/test/Misc/ast-print-record-decl.c >> +++ b/test/Misc/ast-print-record-decl.c >> @@ -54,7 +54,7 @@ >> // RUN: -DKW=struct -DBASES=' : B' -o - -xc++ %s \ >> // RUN: | FileCheck --check-prefixes=CHECK,LLVM %s >> // >> -// RUN: %clang_cc1 -verify -ast-print -DKW=struct -DBASES=' : B' -xc++ >> %s \ >> +// RUN: %clang_cc1 -verify -triple i686-pc-win32 -ast-print >> -DKW=struct -DBASES=' : B' -xc++ %s \ >> // RUN: > %t.cpp >> // RUN: FileCheck --check-prefixes=CHECK,PRINT,PRINT-CXX -DKW=struct \ >> // RUN: -DBASES=' : B' %s --input-file %t.cpp >> >> What's happening is that on Windows, "__single_inheritance(1)" is >> printed before T1. But if I change the test to allow that in the >> output, it still doesn't pass as Clang doesn't seem able to parse it. > > > The underlying bug is present at least as far back as 4.0.1. The bug is > revealed by an earlier patch, r332281, simply because it introduces this > test. > > There are two parts to this bug. First, implicit attributes shouldn't print > as that's not faithful to the original source. I'm addressing that at > > https://reviews.llvm.org/D46894 > > Second, when this attribute is explicit, the "(1)" shouldn't print as it's > not part of the accepted syntax. I'll address that in another patch.
Great! Thanks for digging into this and fixing. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits