Changes

Summary

  1. [clang][Driver] Update/cleanup LTO logic to ensure that the last lto argument is honored (details)
  2. Revert "[clang][Driver] Update/cleanup LTO logic to ensure that the last lto argument is honored" (details)
  3. [clang][Fuchsia] Remove COMPILER_RT_CAN_EXECUTE_TESTS (details)
  4. [clang][Driver] Update/cleanup LTO logic to ensure that the last lto argument is honored (details)
  5. [APInt.h] Clean up the APInt interface. NFC. (details)
  6. FileError: Support zero-length file names (details)
  7. FileError: Provide a way to retrieve the underlying error string without the file name (details)
  8. Error: Improve unit test by using gtest equality rather than explicit string compare calls (details)
  9. [APInt.h] don't privatize "needsCleanup"; it is used by Clang APValue (details)
Commit d2d2e5ea480feb09dc0edeac2eb14310de74b372 by mnadeem
[clang][Driver] Update/cleanup LTO logic to ensure that the last lto argument is honored

- Make flto an alias of flto=full.
- Make foffload-lto an alias of foffload-lto=full.
- Make flto_EQ_jobserver, flto_EQ_auto aliases of flto=full,
  since they are being treated as full lto right now.
- Clean up the code for parseLTOMode and setLTOMode.
- Replace uses of OPT_flto with OPT_flto_EQ since they alias now.

Change-Id: Iea5338c20cb800b43529b20745e92600e2cfd2b1
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Driver/lto.c
The file was modifiedclang/test/Driver/amdgpu-toolchain.c
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 54612a037aff42150e4c605e90a530fe1cc34c64 by mnadeem
Revert "[clang][Driver] Update/cleanup LTO logic to ensure that the last lto argument is honored"

This reverts commit d2d2e5ea480feb09dc0edeac2eb14310de74b372.
The file was modifiedclang/test/Driver/amdgpu-toolchain.c
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/lto.c
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 78f7ad5a83c3b7f37b5331486c289eba1040d56a by leonardchan
[clang][Fuchsia] Remove COMPILER_RT_CAN_EXECUTE_TESTS

I forgot that we run `check-runtimes-x86_64-unknown-linux-gnu`, which
will run all compiler-rt tests also even though we are currently not in
a state where we can run them all yet. Remove this for now to fix our CI
builders.
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit 0a9d740c232e1e4b71fcbbaf844211d70b06d873 by mnadeem
[clang][Driver] Update/cleanup LTO logic to ensure that the last lto argument is honored

- Make flto an alias of flto=full.
- Make foffload-lto an alias of foffload-lto=full.
- Make flto_EQ_jobserver, flto_EQ_auto aliases of flto=full,
  since they are being treated as full lto right now.
- Clean up the code for parseLTOMode and setLTOMode.
- Replace uses of OPT_flto with OPT_flto_EQ since they alias now.

Differential Revision: https://reviews.llvm.org/D108881

Change-Id: I5d867db83a680434fba5c8d85c9a83135d3b81ee
The file was modifiedclang/test/Driver/amdgpu-toolchain.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/Driver/lto.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
Commit a024d35b3885490221e78b835b087a830cc3c325 by clattner
[APInt.h] Clean up the APInt interface. NFC.

This moves all the private implementation details to the bottom of
the header, and pushes all the "make an APInt" stuff up to the top.
This is in prep for making other changes to spiff up APInt a bit.
The file was modifiedllvm/include/llvm/ADT/APInt.h
Commit 0c502507f4627f72eeecbb5e78c2f9c1cb8f9219 by dblaikie
FileError: Support zero-length file names

It's a common error in an API - to try to open an empty file, so it
seems like a reasonable FileError to produce "hey, you tried to open an
empty file" and to handle it the same way as any other file error.
The file was modifiedllvm/include/llvm/Support/Error.h
The file was modifiedllvm/unittests/Support/ErrorTest.cpp
Commit f03689ace598b2c5f8263bbc5afbc4e5bc33ac43 by dblaikie
FileError: Provide a way to retrieve the underlying error string without the file name

For use with APIs that want to report the file name in a different
syntactic form, have other knowledge of the filename, etc.
The file was modifiedllvm/unittests/Support/ErrorTest.cpp
The file was modifiedllvm/include/llvm/Support/Error.h
Commit d18083c6dcb6fb646dbccdfe0954c3dd751f4b8c by dblaikie
Error: Improve unit test by using gtest equality rather than explicit string compare calls

This ensures error messages from gtest includes the raw text of both
sides of the comparison - otherwise all gtest can report is the text of
the expression source, without any information about the values or how
they differ.
The file was modifiedllvm/unittests/Support/ErrorTest.cpp
Commit 717ed1c31052c89f3e26192342eed5ef6e8d0a8e by clattner
[APInt.h] don't privatize "needsCleanup"; it is used by Clang APValue
The file was modifiedllvm/include/llvm/ADT/APInt.h