Announcement

Collapse
No announcement yet.

LLVM Clang 10 Can Build Over 95% Of The Debian Package Archive

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • CommunityMember
    replied
    Originally posted by mgadelha View Post
    Several FILE_NOT_FOUND errors are due to x11 headers relying on non-standard behaviour from gcc
    This issue has been known for many years: https://gitlab.freedesktop.org/xorg/util/imake/issues/1

    Leave a comment:


  • re:fi.64
    replied
    Originally posted by mgadelha View Post
    Several FILE_NOT_FOUND errors are due to x11 headers relying on non-standard behaviour from gcc:

    https://clang.debian.net/status.php?...FILE_NOT_FOUND

    All the x11.rules errors happen because gcc removes /**/ when pre-processing, while clang replaces it with one space character ' ', as defined in the standard:

    C17 5.1.1.2p3: "Each comment is replaced by one space character. "
    C++17 [lex.phases]p3: "Each comment is replaced by one space character."
    ...what on earth. This is kinda terrible code and also has a really easy way to accomplish the same behavior in a standard compliant way (using multiple levels of indirection in the macros).

    Leave a comment:


  • mgadelha
    replied
    Several FILE_NOT_FOUND errors are due to x11 headers relying on non-standard behaviour from gcc:

    https://clang.debian.net/status.php?...FILE_NOT_FOUND

    All the x11.rules errors happen because gcc removes /**/ when pre-processing, while clang replaces it with one space character ' ', as defined in the standard:

    C17 5.1.1.2p3: "Each comment is replaced by one space character. "
    C++17 [lex.phases]p3: "Each comment is replaced by one space character."

    Leave a comment:


  • NotMine999
    replied
    Grammar torture from article...

    With newly posted results, LLVM Clang 10.0-RC2 can rebuilding 95.5% of the archive with failures on some 4.5% of the 31k+ packages.

    Leave a comment:


  • ssokolow
    replied
    Originally posted by kpedersen View Post
    I would go for a more generic term for that such as POSIX or Unix-like (of which Linux is a decent clone).
    If I meant POSIX or Unixy, I'd say POSIX or Unixy.

    When I refer to Linux, I refer to something less specific than GNU/Linux, but still depending on Linux-specific stuff, such as kernel-mode drivers not ported to the BSDs or subsystems like cgroups.

    Leave a comment:


  • CochainComplex
    replied
    Thats great - building up some competition between gcc and clang - this will hopefully increase overall qualitycode generation and performance

    Leave a comment:


  • andyprough
    replied
    Originally posted by ssokolow View Post
    Always nice to see how the compiler side of giving the finger to "You said Linux. You meant GNU/Linux." people is coming.

    (No, when I say "Linux", I mean "Everything that, when built from source, looks sufficiently like GNU/Linux... including stacks like BusyBox/musl/Linux.")
    The important thing is that the more redundant the systems are and the more workable options exist, the more that the long-term viability of the entire ecosystem is assured. Whether or not you want to give the middle finger to a phrase that RMS successfully popularized is irrelevant.

    Leave a comment:


  • kpedersen
    replied
    Originally posted by ssokolow View Post
    (No, when I say "Linux", I mean "Everything that, when built from source, looks sufficiently like GNU/Linux... including stacks like BusyBox/musl/Linux.")
    I would go for a more generic term for that such as POSIX or Unix-like (of which Linux is a decent clone).

    But yes, it is a cool feeling of "correctness" when different compilers can be used. When a few of the BSDs migrated to clang and away from the old gcc v4, it really was quite a historical day haha.

    It is impressive to see Clang build so much of the repo. It must have some pretty good compatibility with gcc's quirks.

    Imagine on Windows, how impossible it would be to achieve similar. Many projects fail to build even if Visual C++ is a single version out. It is a completely different mindset to the open-source world.

    "Oh the code doesn't compile with this version, perhaps something is wrong with *my* code and I should fix it".

    vs

    "I only care about the very latest that Microsoft tells me is cool. Screw maintenance and preservation. Everyone else should update!"
    Last edited by kpedersen; 09 March 2020, 09:18 AM.

    Leave a comment:


  • pyler
    replied
    Is busybox ubsan and asan free?

    Leave a comment:


  • Eero
    replied
    Busybox package was one of the failing cases, it seems to be segfaults galore:
    Code:
    $ wget https://clang.debian.net/logs/2020-02-24-10rc2/busybox_1.30.1-4_unstable_clang10.log
    $ grep --text "^Segmentation fault$" busybox_1.30.1-4_unstable_clang10.log | wc -l
    4655

    Leave a comment:

Working...
X