forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 344
Re-branch swift/master from swift/master-rebranch (apple/stable/20200108) #760
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
shahmishal
merged 10,000 commits into
swift/master
from
shahmishal/merge-master-rebranch
Feb 11, 2020
Merged
Re-branch swift/master from swift/master-rebranch (apple/stable/20200108) #760
shahmishal
merged 10,000 commits into
swift/master
from
shahmishal/merge-master-rebranch
Feb 11, 2020
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<rdar://problem/58065423>
…17cba63b421fcf313003b5b8 🍒/20200108/6672a4f5b64f6b5a17cba63b421fcf313003b5b8
…eda22f4d235f2ba [lldb/Test] Disallow using substituted binaries in shell test.
Currently we fail to lower non-termporal stores for 256+ bit vectors to STNPQ, because type legalization will split them up to 128 bit stores and because there are no single non-temporal stores, creating STPNQ in the Load/Store optimizer would be quite tricky. This patch adds custom lowering for 256 bit non-temporal vector stores to improve the generated code. Reviewers: dmgreen, samparker, t.p.northover, ab Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D72919 (Cherry-picked from 535ed62)
…a Class Sending a message to `self` when it is const and within a class method is safe because we know that `self` is the Class itself. We can only relax this warning in ARC. Signed-off-by: Pierre Habouzit <phabouzit@apple.com> Radar-Id: rdar://problem/58581965 Differential Revision: https://reviews.llvm.org/D72747 (cherry picked from commit 7596d3c)
If we do, then the property_list_t length is wrong and class_getProperty gets very sad. Signed-off-by: Pierre Habouzit <phabouzit@apple.com> Radar-Id: rdar://problem/58804805 Differential Revision: https://reviews.llvm.org/D73219 (cherry picked from commit 52311d0)
This commit renames ClangASTContext to TypeSystemClang to better reflect what this class is actually supposed to do (implement the TypeSystem interface for Clang). It also gets rid of the very confusing situation that we have both a `clang::ASTContext` and a `ClangASTContext` in clang (which sometimes causes Clang people to think I'm fiddling with Clang's ASTContext when I'm actually just doing LLDB work). I also have plans to potentially have multiple clang::ASTContext instances associated with one ClangASTContext so the ASTContext naming will then become even more confusing to people. Reviewers: #lldb, aprantl, shafik, clayborg, labath, JDevlieghere, davide, espindola, jdoerfert, xiaobai Reviewed By: clayborg, labath, xiaobai Subscribers: wuzish, emaste, nemanjai, mgorny, kbarton, MaskRay, arphaman, jfb, usaxena95, jingham, xiaobai, abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D72684
Eng/pr 5880480 58581965 20200108
Clang added a new feature to the ObjC compiler that will translate me…
macOS/PPC support was dropped in 10.6 (Snow Leopard). Differential Revision: https://reviews.llvm.org/D69524 (cherry picked from commit 9aba2ce)
(cherry picked from commit 441aebc)
…uctions Previously LiveDebugValues pass would consider meta instructions that 'fiddle' with liveness of registers as register definitions when transfering register defs. This would mean that, for example, a KILL instruction would cause LiveDebugValues to terminate the range of an earlier DBG_VALUE instruction resulting in the none propogation of said DBG_VALUE instructions into later blocks. This patch adds the check and a helpful comment, fixes a test that previously tested for the broken behaviour by coincidence and adds a test specifically for this. reviewers: vsk, dstenb, djtodoro Differential Revision: https://reviews.llvm.org/D73210 (cherry picked from commit f514776)
Adding the test for the call site encoding in DWARF5 vs GNU extensions. Some of the attributes were not covered by any test. Differential Revision: https://reviews.llvm.org/D73266 (cherry picked from commit 035c106)
…8_swift/master-rebranch' into HEAD Conflicts: lldb/include/lldb/Target/ThreadPlanStepInRange.h
…o20200108 [lldb][NFC] Rename ClangASTContext to TypeSystemClang
…sts. Adds 22 distinct tests that exercise the live-debug-values passes expected behaviour. reviewers: aprantl, vsk Differential revision: https://reviews.llvm.org/D72515 (cherry picked from commit e7b2d9f)
Cherry-pick LiveDebugValues test additions and debugserver cleanups
Since 2009 (in r63846) we've been `#define`-ing OBJC_NEW_PROPERTIES all the time on Darwin, but this macro only makes sense for `-x objective-c` and `-x objective-c++`. Restrict it to those cases (for which there is already separate logic). https://reviews.llvm.org/D72970 rdar://problem/10050342 (cherry picked from commit 1e487e4)
These are always copies because llvm::zip returns a tuple (of references) by value. Make -Wrange-loop-analysis happy by making that clear in the source.
Remove an explicit copy constructor, which was triggering -Wdeprecated-copy where the copy assignment operator was being implicitly generated. The implicit ones do the right thing.
… (NFCI) More specifically the ones on parameters: use a generic lambda that is capable of handling both CXXMethodDecl and ObjCMethodDecl. ObjCMethodDecl ODR support will come next. rdar://problem/56792586 rdar://problem/56792286
Only implemented as part of checks for `@interface`. Should apply to `@protocol`s when ODR support for that is implemented. - Mismatching names - Mismatching return types - Class vs instance methods - Mismatching parameters (number, names and type) - Mismatching designated initializers - Mismatching direct methods rdar://problem/56792286 rdar://problem/56792586
rdar://58857443 (cherry picked from commit 74b01d9)
This adds an experimental C API for clang-scan-deps. It provides both the full module dependency graph along with a flattened list of dependencies. See clang/include/clang-c/Dependencies.h for the API and documentation. You can test it out using: c-index-test core --scan-deps <working-directory> -- clang --cc1 <args> This will output a list of modules and then the direct dependencies of the main translation unit. (cherry picked from commit 3e60b06)
This function returns the equivalent of -### <rdar://problem/49928458> <rdar://problem/49396121> (cherry picked from commit 1fdae62)
…e-options Removes any arguments before this one that would be incompatible with explicitly building a module. This includes things like -o and input files. This option can be used to append arguments to convert a build of a translation unit with implicit modules into an explicit build of a specific module. (cherry picked from commit 5286f37)
(cherry picked from commit b05c4d3)
…nferred modules. (cherry picked from commit 3eae6a8)
This assert fires for ObjectiveC id, SEL, and Class declarations when the module is explicitly built. For implicit builds it works fine. This reproduces with: typedef struct objc_class Class; struct objc_class; As a module imported into another module, and both the above and that module imported into a third TU. Changing the name (`Class`) or reordering the declarations does not assert. rdar://58552906 (cherry picked from commit 9327c60)
Gives the last of -f{no-}implicit-module-maps precedence. rdar://58883354 (cherry picked from commit 2d28507)
Building the actual module still fails, but make sure it fails for the right reason. (cherry picked from commit 1815e24)
The `UmbrellaAsWritten` and `NameAsWritten` fields in `clang::Module` are a lie for framework modules. For those they actually are the path to the header or umbrella relative to the `clang::Module::Directory`. The exception to this case is for inferred modules. Here it actually is the name as written, because we print out the module and read it back in when implicitly building modules. This causes a problem when explicitly building an inferred module, as we skip the printing out step. In order to fix this issue this patch adds a new field for the path we want to use in `getInputBufferForModule`. It also makes `NameAsWritten` actually be the name written in the module map file (or that would be, in the case of an inferred module). rdar://58619519 (cherry picked from commit 0672a6a)
This shows up with inferred modules, but it doesn't exist on disk, so don't report it as a dependency. (cherry picked from commit 21c4c10)
(cherry picked from commit 499404c)
Do this instead of ODR hashing the protocols in the list (which might be unaccurate since there could be protocols without definitions). rdar://problem/59271523
Cherry-pick ([Clang][ScanDeps] Add C API and implement enough to build Foundation.) and follow up fixes into stable 20200108
…objc-protocol-no-referenced-list-odrhash [ODRHash] Check references protocols as part of MergeDefintionData
D73303 was failing on Fedora Linux and so it was disabled by Skip the AssertFrameRecognizer test for Linux. I find no easy way how to find out if it gets recognized as `__assert_fail` or `__GI___assert_fail` as during `Process` ctor libc.so.6 is not yet loaded by the debuggee. DWARF symbol `__GI___assert_fail` overrides the ELF symbol `__assert_fail`. While external debug info (=DWARF) gets disabled for testsuite (D55859) that sure does not apply for real world usage. Differential Revision: https://reviews.llvm.org/D74252
[lldb] Fix+re-enable Assert StackFrame Recognizer on Linux
LGTM. Can't approve it with UI cause I get the GitHub unicorn. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.