Started 1 mo 12 days ago
Took 14 min

Success Build clang-r365413-t57810-b57810.tar.gz (Jul 8, 2019 7:57:20 PM)

Issues

No known issues detected

Build Log

Revision: 364448
Changes
  1. Let unaliased Args track which Alias they were created from, and use that in Arg::getAsString() for diagnostics

    With this, `clang-cl /source-charset:utf-16 test.cc` now prints `invalid
    value 'utf-16' in '/source-charset:utf-16'` instead of `invalid value
    'utf-16' in '-finput-charset=utf-16'` before, and several other clang-cl
    flags produce much less confusing output as well.

    Fixes PR29106.

    Since an arg and its alias can have different arg types (joined vs not)
    and different values (because of AliasArgs<>), I chose to give the Alias
    its own Arg object. For convenience, I just store the alias directly in
    the unaliased arg – there aren't many arg objects at runtime, so that
    seems ok.

    Finally, I changed Arg::getAsString() to use the alias's representation
    if it's present – that function was already documented as being the
    suitable function for diagnostics, and most callers already used it for
    diagnostics.

    Implementation-wise, Arg::accept() previously used to parse things as
    the unaliased option. The core of that switch is now extracted into a
    new function acceptInternal() which parses as the _aliased_ option, and
    the previously-intermingled unaliasing is now done as an explicit step
    afterwards.

    (This also changes one place in lld that didn't use getAsString() for
    diagnostics, so that that one place now also prints the flag as the user
    wrote it, not as it looks after it went through unaliasing.)

    Differential Revision: https://reviews.llvm.org/D64253 (detail)
    by nico
Revision: 364448
Changes
  1. Let unaliased Args track which Alias they were created from, and use that in Arg::getAsString() for diagnostics

    With this, `clang-cl /source-charset:utf-16 test.cc` now prints `invalid
    value 'utf-16' in '/source-charset:utf-16'` instead of `invalid value
    'utf-16' in '-finput-charset=utf-16'` before, and several other clang-cl
    flags produce much less confusing output as well.

    Fixes PR29106.

    Since an arg and its alias can have different arg types (joined vs not)
    and different values (because of AliasArgs<>), I chose to give the Alias
    its own Arg object. For convenience, I just store the alias directly in
    the unaliased arg – there aren't many arg objects at runtime, so that
    seems ok.

    Finally, I changed Arg::getAsString() to use the alias's representation
    if it's present – that function was already documented as being the
    suitable function for diagnostics, and most callers already used it for
    diagnostics.

    Implementation-wise, Arg::accept() previously used to parse things as
    the unaliased option. The core of that switch is now extracted into a
    new function acceptInternal() which parses as the _aliased_ option, and
    the previously-intermingled unaliasing is now done as an explicit step
    afterwards.

    (This also changes one place in lld that didn't use getAsString() for
    diagnostics, so that that one place now also prints the flag as the user
    wrote it, not as it looks after it went through unaliasing.)

    Differential Revision: https://reviews.llvm.org/D64253 (detail)
    by nico
  2. [X86][PPC] Support -mlong-double-64

    -mlong-double-64 is supported on some ports of gcc (i386, x86_64, and ppc{32,64}).
    On many other targets, there will be an error:

        error: unrecognized command line option '-mlong-double-64'

    This patch makes the driver option -mlong-double-64 available for x86
    and ppc. The CC1 option -mlong-double-64 is available on all targets for
    users to test on unsupported targets.

    LongDoubleSize is added as a VALUE_LANGOPT so that the option can be
    shared with -mlong-double-128 when we support it in clang.

    Also, make powerpc*-linux-musl default to use 64-bit long double. It is
    currently the only supported ABI on musl and is also how people
    configure powerpc*-linux-musl-gcc.

    Reviewed By: rnk

    Differential Revision: https://reviews.llvm.org/D64067 (detail)
    by maskray
  3. clang-cl: Port cl.exe's C4659 to clang-cl

    Differential Revision: https://reviews.llvm.org/D64349 (detail)
    by nico
  4. [analyzer] exploded-graph-rewriter: Implement a topology-only mode.

    In this mode the rewriter will only rewrite program points
    and omit program states. Useful for understanding
    the rough topology of the graph.

    Differential Revision: https://reviews.llvm.org/D64264 (detail)
    by dergachev
  5. [analyzer] exploded-graph-rewriter: Implement a single-path mode.

    Instead of rewriting the whole graph, rewrite the leftmost path in the
    graph. Useful for trimmed graphs that are still too large to display due
    to multiple equivalent reports mixed into them.

    Differential Revision: https://reviews.llvm.org/D64263 (detail)
    by dergachev
  6. [ObjC] Add a -Wtautological-compare warning for BOOL

    On macOS, BOOL is a typedef for signed char, but it should never hold a value
    that isn't 1 or 0. Any code that expects a different value in their BOOL should
    be fixed.

    rdar://51954400

    Differential revision: https://reviews.llvm.org/D63856 (detail)
    by epilk

Started by upstream project relay-lnt-ctmark build number 8764
originally caused by:

This run spent:

  • 4 min 57 sec waiting;
  • 14 min build duration;
  • 14 min total from scheduled to completion.