SuccessChanges

Summary

  1. [ms] [llvm-ml] Add support for line continuations in MASM (details)
  2. [IRGen] Fix an assert when __attribute__((used)) is used on an ObjC method (details)
  3. Make -fvisibility-inlines-hidden apply to static local variables in inline functions on Darwin (details)
  4. [libc++] Re-apply the workaround for timespec_get not always being available in Apple SDKs (details)
  5. [libc++] Fix incorrect usage of __STDC_HOSTED__ (details)
  6. [libc++] Remove definition of _LIBCPP_ALIGNOF for GCC in C++03 mode (details)
  7. [flang] Make -fget-symbols-sources output deterministic (details)
  8. [AMDGPU][MC] Corrected parser to avoid generation of excessive error messages (details)
Commit ddd48cdba690fdeefc6ad02a912b63bdb66401b4 by epastor
[ms] [llvm-ml] Add support for line continuations in MASM

Add support for line continuations (the "backslash operator") in MASM by modifying the Parser's Lex method.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D83347
The file was addedllvm/test/tools/llvm-ml/line_continuations.test
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp (diff)
Commit 8ff44e644bb70dfb8decc397a42679df6e6f8ba1 by erik.pilkington
[IRGen] Fix an assert when __attribute__((used)) is used on an ObjC method

This assert doesn't really make sense for functions in general, since they
start life as declarations, and there isn't really any reason to require them
to be defined before attributes are applied to them.

rdar://67895846
The file was addedclang/test/CodeGenObjC/attr-used-on-method.m
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp (diff)
Commit d46f2c51e4c849683434bb5a0fb6164957474b8f by erik.pilkington
Make -fvisibility-inlines-hidden apply to static local variables in inline functions on Darwin

This effectively disables r340386 on Darwin, and provides a command line flag
to opt into/out of this behaviour. This change is needed to compile certain
Apple headers correctly.

rdar://47688592

Differential revision: https://reviews.llvm.org/D86881
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/test/Driver/darwin-objc-options.m (diff)
The file was modifiedclang/include/clang/Basic/LangOptions.def (diff)
The file was modifiedclang/lib/AST/Decl.cpp (diff)
The file was addedclang/test/CodeGenCXX/visibility-inlines-hidden-static-local-var.cpp
Commit 5201b962e8956b75dffd2167e278b8627981c90b by Louis Dionne
[libc++] Re-apply the workaround for timespec_get not always being available in Apple SDKs

This commit re-applies 99f3b231cb21, which was reverted in 814242572731
because it broke the modules build. The modules failure was a circular
dependency between the Darwin module and __config. Specifically, the
issue was that if <__config> includes a system header, the std_config
module depends on the Darwin module. However, the Darwin module already
depends on the std_config header because some of its headers include
libc++ headers like <ctype.h> (they mean to include the C <ctype.h>,
but libc++ headers are first in the header search path).

This is fixed by moving the workaround to <ctime> only.

https://llvm.org/PR47208
rdar://68157284
The file was modifiedlibcxx/include/ctime (diff)
The file was addedlibcxx/test/libcxx/language.support/timespec_get.xopen.compile.pass.cpp
Commit 44cc78da056fbda2693f0489275f8e0ff1f590a1 by Louis Dionne
[libc++] Fix incorrect usage of __STDC_HOSTED__

D56913 introduced the _LIBCPP_FREESTANDING macro and guarded its
definition by:

#ifndef __STDC_HOSTED__
#  define _LIBCPP_FREESTANDING
#endif

However, __STDC_HOSTED__ is defined as 0 in freestanding implementations
instead of undefined, which means that _LIBCPP_FREESTANDING would never
get defined. This patch corrects the above as:

#if __STDC_HOSTED__ == 0
#  define _LIBCPP_FREESTANDING
#endif

Differential Revision: https://reviews.llvm.org/D86055
The file was addedlibcxx/test/libcxx/libcpp_freestanding.sh.cpp
The file was modifiedlibcxx/include/__config (diff)
Commit 4f57a126c4e763e3041c04f0b22e91200506dcc6 by Louis Dionne
[libc++] Remove definition of _LIBCPP_ALIGNOF for GCC in C++03 mode

That definition is known to be potentially incorrect, and we don't support
GCC in C++03 mode anyway.
The file was modifiedlibcxx/include/__config (diff)
Commit f80866bd4a2a4e8b650aef1f9a88870dd336e20f by pklausler
[flang] Make -fget-symbols-sources output deterministic

The DumpSymbolsSources() routine ordered its output by the addresses
of the names of the symbols, and was susceptible to variation across
environments.  Fixed by using a multimap using the values of the names.

Differential Revision: https://reviews.llvm.org/D87035
The file was modifiedflang/lib/Semantics/semantics.cpp (diff)
The file was modifiedflang/test/Semantics/getsymbols05.f90 (diff)
The file was modifiedflang/test/Semantics/getsymbols01.f90 (diff)
The file was modifiedflang/test/Semantics/getsymbols04.f90 (diff)
The file was modifiedflang/test/Semantics/getsymbols02.f90 (diff)
The file was modifiedflang/test/Semantics/getsymbols03-a.f90 (diff)
Commit ecde200209f82b7362277ea59ad84df66c42dd3b by dmitry.preobrazhensky
[AMDGPU][MC] Corrected parser to avoid generation of excessive error messages

Summary of changes:
- Changed parser to eliminate generation of excessive error messages;
- Corrected lit tests to match all expected error messages;
- Corrected lit tests to guard against unwanted extra messages (added option "--implicit-check-not=error:");
- Added missing checks and fixed some typos in tests.

See bug 46907: https://bugs.llvm.org/show_bug.cgi?id=46907

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D86940
The file was modifiedllvm/test/MC/AMDGPU/gfx9_asm_all.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop3-convert.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sop1.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/flat-gfx9.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_dpp8.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop-err.s (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp (diff)
The file was modifiedllvm/test/MC/AMDGPU/sopk-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sop2.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop2.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/smrd.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_dpp16.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/xdl-insts-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sopk.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/literal16-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/xnack-mask.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop1-gfx9.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/dpp-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mimg.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/regression/bug28538.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sopp-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vintrp-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mtbuf.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mubuf-gfx9.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mubuf.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/reg-syntax-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/flat.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sopp.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vopc-vi.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mad-mix.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mai-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mtbuf-gfx10.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/ds-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/expressions-gfx9.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx10-constant-bus.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/exp-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/ds-gfx9.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/smrd-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop1-gfx9-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/flat-gfx10.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop3-gfx9.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/reg-syntax-extra.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop3-literal.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/expressions-gfx10.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sopc-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/trap.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/atomic-fadd-insts.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/smem-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/exp-gfx10.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/dl-insts-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/lds_direct-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/add-sub-no-carry.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop2-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/buf-fmt-d16-packed.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/lds_direct-gfx10.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop1.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_all.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop3-errs.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/flat-global.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sop1-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop3-modifiers-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIDefines.h (diff)
The file was modifiedllvm/test/MC/AMDGPU/fma-mix.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx9-asm-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/expressions.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/flat-scratch-instructions.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx8_asm_all.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mai.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/literalv216.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/buf-fmt-d16-unpacked.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop3p-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/smem.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sop2-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/literalv216-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop3.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/invalid-instructions-spellcheck.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx1011_err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop_sdwa.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/ds.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vopc-errs.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/literals.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/flat-scratch.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/sopc.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop_dpp.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/wave32.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/out-of-range-registers.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/mimg-err.s (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx9-vop2be-literal.s (diff)