UnstableChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [NFC] Pass a reference to CodeGenFunction to methods of LValue and (details)
  2. Reapply "Fix crash on switch conditions of non-integer types in (details)
  3. Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working (details)
  4. [TypeCategory] HasLanguage() is now unused. (details)
Commit f139ae3d9379746164e8056c45817041417dfd4c by Akira
[NFC] Pass a reference to CodeGenFunction to methods of LValue and
AggValueSlot
This reapplies 8a5b7c35709d9ce1f44a99f0c5b084bf2696ea17 after a null
dereference bug in CGOpenMPRuntime::emitUserDefinedMapper.
Original commit message:
This is needed for the pointer authentication work we plan to do in the
near future.
https://github.com/apple/llvm-project/blob/a63a81bd9911f87a0b5dcd5bdd7ccdda7124af87/clang/docs/PointerAuthentication.rst
The file was modifiedclang/lib/CodeGen/CGExprAgg.cpp
The file was modifiedclang/lib/CodeGen/CGExprComplex.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/lib/CodeGen/CGExprCXX.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/CodeGen/CGBlocks.cpp
The file was modifiedclang/lib/CodeGen/CGClass.cpp
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/CodeGen/CGNonTrivialStruct.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/CodeGen/CGValue.h
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
Commit 878a24ee244a24c39d1c57e9af2e88c621f7cce9 by elizabeth.andrews
Reapply "Fix crash on switch conditions of non-integer types in
templates"
This patch reapplies commit 759948467ea. Patch was reverted due to a
clang-tidy test fail on Windows. The test has been modified. There are
no additional code changes.
Patch was tested with ninja check-all on Windows and Linux.
Summary of code changes:
Clang currently crashes for switch statements inside a template when the
condition is a non-integer field member because contextual implicit
conversion is skipped when parsing the condition. This conversion is
however later checked in an assert when the case statement is handled.
The conversion is skipped when parsing the condition because the field
member is set as type-dependent based on its containing class. This
patch sets the type dependency based on the field's type instead.
This patch fixes Bug 40982.
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/misc-unused-parameters.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-string-integer-assignment.cpp
The file was modifiedclang/test/SemaTemplate/dependent-names.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/SemaTemplate/enum-argument.cpp
The file was addedclang/test/SemaTemplate/non-integral-switch-cond.cpp
The file was modifiedclang/test/SemaTemplate/member-access-expr.cpp
Commit 327894859cc41c1730807f8a179aa880203262f5 by daniel_l_sanders
Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working
directory
Jenkins sometimes starts a new working directory by appending @2 (or
incrementing the number if the @n suffix is already there). This causes
several clang tests to fail as:
s@INPUT_DIR@%/S/Inputs@g gets expanded to the invalid:
s@INPUT_DIR@/path/to/workdir@2/Inputs@g
                              ~~~~~~~~~~ where the part marked with ~'s
is interpreted as the flags. These are invalid and the test fails.
Previous fixes simply exchanged the @ character for another like | but
that's just moving the problem. Address it by adding an expansion that
escapes the @ character we're using as a delimiter as well as other
magic characters in the replacement of sed's s@@@.
There's still room for expansions to cause trouble though. One I ran
into while testing this was that having a directory called foo@bar
causes lots of `CHECK-NOT: foo` directives to match. There's also things
like directories containing `\1`
The file was modifiedclang/test/Modules/framework-public-includes-private.m
The file was modifiedclang/test/VFS/vfsroot-with-overlay.c
The file was modifiedclang/test/Modules/crash-vfs-ivfsoverlay.m
The file was modifiedclang/test/VFS/incomplete-umbrella.m
The file was modifiedclang/test/Index/index-module-with-vfs.m
The file was modifiedclang/test/Modules/double-quotes.m
The file was modifiedclang/test/VFS/module-import.m
The file was modifiedllvm/utils/lit/lit/TestRunner.py
The file was modifiedclang/test/VFS/real-path-found-first.m
The file was modifiedclang/test/VFS/test_nonmodular.c
The file was modifiedclang/test/VFS/umbrella-framework-import-skipnonexist.m
The file was modifiedclang/test/VFS/vfsroot-include.c
The file was modifiedclang/test/VFS/external-names.c
The file was modifiedclang/test/VFS/vfsroot-module.m
The file was modifiedclang/test/VFS/include-mixed-real-and-virtual.c
The file was modifiedclang/test/VFS/module_missing_vfs.m
The file was modifiedclang/test/VFS/implicit-include.c
The file was modifiedclang/test/VFS/include-virtual-from-real.c
The file was modifiedclang/test/VFS/include.c
The file was modifiedclang/test/VFS/relative-path.c
The file was modifiedclang/test/VFS/framework-import.m
The file was modifiedclang/test/VFS/include-real-from-virtual.c
Commit 2bb19f93f6a8d0c7ceaa41df744803480c95fe9a by ditaliano
[TypeCategory] HasLanguage() is now unused.
The file was modifiedlldb/source/DataFormatters/TypeCategory.cpp
The file was modifiedlldb/include/lldb/DataFormatters/TypeCategory.h