1# Release Notes 2 3## clang-r383902 4 5### Upstream Cherry-picks 6Patches with start_version: 383902 in https://android.googlesource.com/toolchain/llvm_android/+/master/patches/PATCHES.json. 7 8### Local Changes 9Revert 90c31b0f428f [X86] Custom lower ISD::FROUND with SSE4.1 to avoid a libcall. 10 11### Notes 12New Clang warnings encountered: 13- -Wdeprecated-copy 14- -Wrange-loop-construct 15- -Wmisleading-indentation 16- -Wzero-as-null-pointer-constant (not new, but seems to have stricter rule) 17- -Wdeprecated-anon-enum-enum-conversion 18- -Wdeprecated-enum-enum-conversion 19- -Wstring-compare 20- -Wenum-enum-conversion 21- -Wenum-float-conversion 22- -Wpessimizing-move 23 24New Clang-tidy warnings encountered: 25- -bugprone-reserved-identifier*,-cert-dcl51-cpp,-cert-dcl37-c 26- -readability-qualified-auto 27- -bugprone-signed-char-misuse 28- -bugprone-branch-clone 29 30Clang detects new compilation errors for not-instantiated template member functions. 31Switch from python wrapper to go wrapper. 32 33### Enabled 34May 01 2020 35 36------ 37## clang-r377782d 38 39### Upstream Cherry-picks 40- 6c732461 [ELF] Fix a null pointer dereference when --emit-relocs and --strip-debug are used together 41 42### Enabled 43Apr 04 2020 44 45------ 46## clang-r377782c 47 48### Upstream Cherry-picks 49- 41206b61e30c [DebugInfo] Re-instate LiveDebugVariables scope trimming 50- 1de10705594c [DAGCombine] Fix alias analysis for unaligned accesses 51 52### Enabled 53Mar 19 2020 54 55------ 56## clang-r377782b 57 58### Upstream Cherry-picks 59- a3b22da4e0ea [CFG] Fix a flaky crash in CFGBlock::getLastCondition(). 60- d32484f40cbe [lldb][CMake] Fix build for the case of custom libedit installation 61- 21f26470e974 Revert 3f91705ca54 ARM-NEON: make type modifiers orthogonal and allow multiple modifiers 62- 90b8bc003caa IRGen: Call SetLLVMFunctionAttributes{,ForDefinition} on __cfi_check_fail 63- acc79aa0e747 Revert "Revert 1689ad27af5"[builtins] Implement rounding mode support for i386/x86_64 64- c5b890e92243 PR44268: Fix crash if __builtin_object_size is applied to a heap allocation. 65- cd40bd0a32e2 hwasan: Move .note.hwasan.globals note to hwasan.module_ctor comdat. 66- 4f38ab250ff4 [LLD][ELF][ARM] Do not insert interworking thunks for non STT_FUNC symbols 67- 6c4a8bc0a9f6 Make llvm::crc32() work also for input sizes larger than 32 bits. 68- f8c9ceb1ce9c [SimplifyLibCalls] Add __strlen_chk. 69 70### Local Changes 71- Revert two changes that break Android builds 72- Add stubs and headers for nl_types APIs 73- Add a new library libclang cxx 74- Do not record function addresses if value profiling is disabled 75 76### Notes 77New Clang warnings encountered: 78- -Wbitwise-conditional-parentheses 79- -Wbool-operation 80- -Wint-in-bool-context 81- -Wsizeof-array-div 82- -Wtautological-bitwise-compare 83- -Wtautological-overlap-compare 84 85### Enabled 86Feb 18 2020 87 88------ 89## clang-r370808 90 91### Upstream Cherry-picks 92- 1689ad27af5c [builtins] Implement rounding mode support for i386/x86_64 93- 9e7ce07a8866 ARM: Don't emit R_ARM_NONE relocations to compact unwinding decoders in .ARM.exidx on Android. 94- 51adeae1c90c remove redundant LLVM version from version string when setting CLANG_VENDOR 95- 8ea148dc0cbf [Builtins] Fix bug where powerpc builtins specializations didn't remove generic implementations. 96- 7a2b704bf0cf [Sema][Typo Correction] Fix another infinite loop on ambiguity 97- r370981 [DebugInfo] Emit DW_TAG_enumeration_type for referenced global enumerator. 98- r371003 Revert "Revert "[builtins] Rounding mode support for addxf3/subxf3"" 99- r371090 Fix windows-x86-debug compilation with python enabled using multi-target generator 100- r371111 [IfConversion] Fix diamond conversion with unanalyzable branches. 101- r371202 Revert r370635, it caused PR43241. 102- r371215 Revert "Revert r370635, it caused PR43241." 103- r371216 Reland D66717 [ELF] Do not ICF two sections with different output sections (by SECTIONS commands) 104- r371262 [IR] CallBrInst: scan+update arg list when indirect dest list changes 105- r371434 [IfConversion] Correctly handle cases where analyzeBranch fails. 106- r371643 [IRMover] Don't map globals if their types are the same 107- r371804 [ELF] Delete a redundant assignment to SectionBase::assigned. NFC 108- r371859 [Sema][Typo Correction] Fix potential infite loop on ambiguity checks 109- r371957 [ELF] Map the ELF header at imageBase 110- r372047 Fix swig python package path 111- r372194 Cache PYTHON_EXECUTABLE for windows 112- r372364 Revert "Fix swig python package path" 113- r372400 [ELF] Error if the linked-to section of a SHF_LINK_ORDER section is discarded 114- r372482 [LLDB] Fix compilation for MinGW, remove redundant class name on inline member 115- r372493 Use _WIN32 instead of _MSC_VER 116- r372587 [LLDB] Add a missing specification of linking against dbghelp 117- r372734 [ELF] Make MergeInputSection merging aware of output sections 118- r372735 [ELF] Delete SectionBase::assigned 119- r372835 [lldb] [cmake] Fix installing Python modules on systems using /usr/lib 120- r372996 [ELF] Set SectionBase::partition in processSectionCommands 121- r373022 Always rebuild a DeclRefExpr if its FoundDecl would change. 122- r373035 hwasan: Compatibility fixes for short granules. 123- r373255 ELF: Don't merge SHF_LINK_ORDER sections for different output sections in relocatable links. 124- r373929 Fix Calling Convention through aliases 125- r375166 libhwasan initialisation include kernel syscall ABI relaxation 126- r375298 hwasan: Add missing SANITIZER_INTERFACE_ATTRIBUTE on __hwasan_personality_wrapper. 127 128### Notes 129New Clang warnings encountered: 130- -Wreorder-init-list 131- -Walloca 132- -Wc99-designator 133- -Wdangling-gsl 134- -Wimplicit-fallthrough 135- -Wimplicit-int-float-conversion 136- -Wincomplete-setjmp-declaration 137- -Wpointer-compare 138- -Wxor-used-as-pow 139 140-Wimplicit fallthrough was previously only checked for C++ code, but Clang can 141now for for C code. `__attribute__((__fallthrough__))` should be used to 142explicitly specify intentional fallthrough to silence the warning. 143 144Lots of cherry picks are fixes for LLDB and HWASAN. 145 146r373035 is slightly different from upstream due to not additionally cherry 147picking r372338. 148 149Writes to variables declared const through casts to non-const pointers 150(explicitly undefined behavior) are now removed. The next release of Clang adds 151UBSAN support for catching such mistakes. 152 153### Created 154Nov 11 2019 155 156----- 157## clang-r365631c 158 159### Upstream Cherry-picks 160- r366130 [LoopUnroll+LoopUnswitch] do not transform loops containing callbr 161- r369761 [llvm-objcopy] Strip debug sections when running with --strip-unneeded. 162- r370981 [DebugInfo] Emit DW_TAG_enumeration_type for referenced global enumerator. 163- r372047 Fix swig python package path 164- r372194 Cache PYTHON_EXECUTABLE for windows 165- r372364 Revert "Fix swig python package path" 166- r372587 [LLDB] Add a missing specification of linking against dbghelp 167- r372835 [lldb] [cmake] Fix installing Python modules on systems using /usr/lib 168 169### Notes 170Fixes for: 171- asm goto + LTO in Android Linux kernels 172- debug info missing for enums 173- NDK fixes for: 174 - stripping debug sections w/ llvm-objcopy/llvm-strip 175 - LLDB 176 177### Created 178Sep 26 2019 179 180----- 181## Older Releases 182Release notes not available. 183