Restore test files accidentally deleted in r354839I think there must be a bug in git-llvm causing parent directories to bedeleted when the diff deletes files in a subdirectory. Perhaps it isWindo
Restore test files accidentally deleted in r354839I think there must be a bug in git-llvm causing parent directories to bedeleted when the diff deletes files in a subdirectory. Perhaps it isWindows-only.There has been a behavior change, so some of these tests now fail. Ihave marked them XFAIL and will fix them in a follow-up to separate thechanges.llvm-svn: 360699
show more ...
Revert r354832 "[ASTImporter] Add support for importing ChooseExpr AST nodes."Test does not pass on Windowsllvm-svn: 354839
Re-apply: [ASTImporter] Import the whole redecl chain of functionsSummary:With this patch when any `FunctionDecl` of a redeclaration chain is importedthen we bring in the whole declaration chain.
Re-apply: [ASTImporter] Import the whole redecl chain of functionsSummary:With this patch when any `FunctionDecl` of a redeclaration chain is importedthen we bring in the whole declaration chain. This involves functions andfunction template specializations. Also friend functions are affected. Thechain is imported as it is in the "from" tu, the order of the redeclarationsare kept. I also changed the lookup logic in order to find friends, but firstmaking them visible in their declaration context. We may have longredeclaration chains if all TU contains the same prototype, but ourmeasurements shows no degradation in time of CTU analysis (Tmux, Xerces,Bitcoin, Protobuf). Also, as further work we could squash redundantprototypes, but first ensure that functionality is working properly; thenshould we optimize.This may seem like a huge patch, sorry about that. But, most of the changes arenew tests, changes in the production code is not that much. I also tried tocreate a smaller patch which does not affect specializations, but that patchfailed to pass some of the `clang-import-test`s because there we importfunction specializations. Also very importantly, we can't just change theimport of `FunctionDecl`s without changing the import of function templatespecializations because they are handled as `FunctionDecl`s.Reviewers: a.sidorin, r.stahl, xazax.hun, balazske, a_sidorinReviewed By: a_sidorinSubscribers: labath, aprantl, a_sidorin, rnkovacs, dkrupp, cfe-commitsDifferential Revision: https://reviews.llvm.org/D47532Re-apply commit rC335480llvm-svn: 335731
Revert "[ASTImporter] Import the whole redecl chain of functions"This reverts commit r335480.llvm-svn: 335491
[ASTImporter] Import the whole redecl chain of functionsSummary:With this patch when any `FunctionDecl` of a redeclaration chain is importedthen we bring in the whole declaration chain. This inv
[ASTImporter] Import the whole redecl chain of functionsSummary:With this patch when any `FunctionDecl` of a redeclaration chain is importedthen we bring in the whole declaration chain. This involves functions andfunction template specializations. Also friend functions are affected. Thechain is imported as it is in the "from" tu, the order of the redeclarationsare kept. I also changed the lookup logic in order to find friends, but firstmaking them visible in their declaration context. We may have longredeclaration chains if all TU contains the same prototype, but ourmeasurements shows no degradation in time of CTU analysis (Tmux, Xerces,Bitcoin, Protobuf). Also, as further work we could squash redundantprototypes, but first ensure that functionality is working properly; thenshould we optimize.This may seem like a huge patch, sorry about that. But, most of the changes arenew tests, changes in the production code is not that much. I also tried tocreate a smaller patch which does not affect specializations, but that patchfailed to pass some of the `clang-import-test`s because there we importfunction specializations. Also very importantly, we can't just change theimport of `FunctionDecl`s without changing the import of function templatespecializations because they are handled as `FunctionDecl`s.Reviewers: a.sidorin, r.stahl, xazax.hun, balazskeSubscribers: rnkovacs, dkrupp, cfe-commitsDifferential Revision: https://reviews.llvm.org/D47532llvm-svn: 335480
[ASTImporter] FriendDecl importing improvementsThere are only a few cases of importing a frienddecl which is currently supported.This patch aims to improve the friend import process.Set FriendObj
[ASTImporter] FriendDecl importing improvementsThere are only a few cases of importing a frienddecl which is currently supported.This patch aims to improve the friend import process.Set FriendObjectKind in case of decls, insert friend into the friend chaincorrectly, checks structurally equivalent in a more advanced manner.Test cases added as well. llvm-svn: 330847
Fixed layout of test/ASTMerge.As outlined in a previous RFC, the test/ASTMerge/Inputs folder is getting full and the tests are starting to become interdependent. This is undesirable because- it m
Fixed layout of test/ASTMerge.As outlined in a previous RFC, the test/ASTMerge/Inputs folder is getting full and the tests are starting to become interdependent. This is undesirable because- it makes it harder to write new tests- it makes it harder to figure out at a glance what old tests are doing, and- it adds the risk of breaking one test while changing a different one, because of the interdependencies.To fix this, according to the conversation in the RFC, I have changed the layout froma.cInputs/a1.cInputs/a2.ctoa/test.ca/Inputs/a1.ca/Inputs/a2.cfor all existing tests. I have also eliminated interdependencies by replicating the input files for each test that uses them.https://reviews.llvm.org/D26571llvm-svn: 287129