[clang] Switch builtin strings to use string tables (PR #118734)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Dec 8 20:56:18 PST 2024
dyung wrote:
> > > > > > LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-sie-win` running on `sie-win-worker` while building `clang` at step 7 "test-build-unified-tree-check-all".
> > > > > > Full details are available at: [lab.llvm.org/buildbot#/builders/46/builds/9169](https://lab.llvm.org/buildbot/#/builders/46/builds/9169)
> > > > >
> > > > >
> > > > > This is a Windows build bot with a version of MSVC '19.28.29924.0' -- that's not even one of the numbers listed here: [en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering](https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering)
> > > > > (edit because I can't count)
> > > > > Looks like it might be a build after 16.9.19 which is listed as 19.28.29923. Not sure what to do debug this... @zmodem maybe has some idea?
> > > > > It doesn't seem to be the issue I know about on older versions of MSVC as there are no errors on the long string literal. But somehow it seems to be miscompiling the string literals?
> > > >
> > > >
> > > > I manage this build bot, is there anything I can do to help you debug this problem? We use this build as our "blessed" build internally for building on Windows.
> > >
> > >
> > > Some indication of what's causing this? Or maybe whether there are any other versions of MSVC available with different results?
> > > I don't have a Windows machine to debug on at all, but the premerge windows build was successful, so it seems to work on some builders but not others. So far I don't have any other failures to look at to cross-compare...
> >
> >
> > I'll pull the machine offline and try to take a look. There appear to be two types of problems, 1 is an assertion failure in the pch related tests, the other use of an "unknown" builtin.
>
> I'm guessing they're the same issue, just a difference of whether hitting assert or a diagnostic first. Some strings for builtin names aren't coming back out of the tables correctly -- we fail to recognize it in one place, and hit an assert in the other.
>
> My best guess is something going wrong with the string literals generated by the macros in this PR, or something going wrong with `sizeof` computing offsets... I'll do some experiments with compiler explorer, and see if I can get lucky...
>
> If we need to revert the PR, totally understand, just a bit odd given only one compiler seems to be hitting the issue here.
Could the version of VC that we are using possibly have the issue with long strings that you mention? Is there a simple way to check that?
https://github.com/llvm/llvm-project/pull/118734
More information about the cfe-commits
mailing list