{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":510389598,"defaultBranch":"main","name":"llvm-project","ownerLogin":"Michael137","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-07-04T14:23:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14071464?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1719072454.0","currentOid":""},"activityList":{"items":[{"before":"f5938919b3a0060db6b373bead1c52f4bb65c841","after":"78ee35cf5efe92d2058eef61917126357311b02f","ref":"refs/heads/clang/codegen/isZeroSize-dependency","pushedAt":"2024-06-23T09:01:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"fixup! add missing header","shortMessageHtmlLink":"fixup! add missing header"}},{"before":"2eeff72550967d7453b7fa29ce64bd11342b65ec","after":"f5938919b3a0060db6b373bead1c52f4bb65c841","ref":"refs/heads/clang/codegen/isZeroSize-dependency","pushedAt":"2024-06-23T08:55:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[clang][CGRecordLayout] Remove dependency on isZeroSize\n\nThis is a follow-up from the conversation starting at\nhttps://github.com/llvm/llvm-project/pull/93809#issuecomment-2173729801\n\nThe root problem that motivated the change are external AST\nsources that compute `ASTRecordLayout`s themselves instead of\nletting Clang compute them from the AST. One such examples is\nLLDB using DWARF to get the definitive offsets and sizes of C++\nstructures. Such layouts should be considered correct (modulo\nbuggy DWARF), but various assertions and lowering logic around\nthe `CGRecordLayoutBuilder` relies on the AST having\n`[[no_unique_address]]` attached to them. This is a layout-altering\nattribute which is not encoded in DWARF. This causes us LLDB to trip\nover the various LLVM<->Clang layout consistency checks. There has been\nprecedent for avoiding such layout-altering attributes to affect\nlowering with externally-provided layouts (e.g., packed structs).\n\nThis patch proposes to replace the `isZeroSize` checks in\n`CGRecordLayoutBuilder` (which roughly means \"empty field\nwith [[no_unique_address]]\") with checks for\n`CodeGen::isEmptyField`/`CodeGen::isEmptyRecord`.","shortMessageHtmlLink":"[clang][CGRecordLayout] Remove dependency on isZeroSize"}},{"before":"558dd1810258087208eabc2109094237f0eb7538","after":"2eeff72550967d7453b7fa29ce64bd11342b65ec","ref":"refs/heads/clang/codegen/isZeroSize-dependency","pushedAt":"2024-06-23T08:54:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[clang][CGRecordLayout] Remove dependency on isZeroSize\n\nThis is a follow-up from the conversation starting at\nhttps://github.com/llvm/llvm-project/pull/93809#issuecomment-2173729801\n\nThe root problem that motivated the change are external AST\nsources that compute `ASTRecordLayout`s themselves instead of\nletting Clang compute them from the AST. One such examples is\nLLDB using DWARF to get the definitive offsets and sizes of C++\nstructures. Such layouts should be considered correct (modulo\nbuggy DWARF), but various assertions and lowering logic around\nthe `CGRecordLayoutBuilder` relies on the AST having\n`[[no_unique_address]]` attached to them. This is a layout-altering\nattribute which is not encoded in DWARF. This causes us LLDB to trip\nover the various LLVM<->Clang layout consistency checks. There has been\nprecedent for avoiding such layout-altering attributes to affect\nlowering with externally-provided layouts (e.g., packed structs).\n\nThis patch proposes to replace the `isZeroSize` checks in\n`CGRecordLayoutBuilder` (which roughly means \"empty field\nwith [[no_unique_address]]\") with checks for\n`CodeGen::isEmptyField`/`CodeGen::isEmptyRecord`.","shortMessageHtmlLink":"[clang][CGRecordLayout] Remove dependency on isZeroSize"}},{"before":"2b0a3406e24b9fea5a698bf0c4f1cb0aa9459652","after":"558dd1810258087208eabc2109094237f0eb7538","ref":"refs/heads/clang/codegen/isZeroSize-dependency","pushedAt":"2024-06-22T17:13:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"TODOs","shortMessageHtmlLink":"TODOs"}},{"before":"9d96ab85da0d90e805e5c3a79bdad07dae96bf49","after":null,"ref":"refs/heads/lldb/clang-formatters-removal","pushedAt":"2024-06-22T16:07:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"}},{"before":null,"after":"9d96ab85da0d90e805e5c3a79bdad07dae96bf49","ref":"refs/heads/lldb/clang-formatters-removal","pushedAt":"2024-06-22T10:17:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[clang][utils] Remove ClangDataFormat.py for now\n\nThis formatter doesn't currently provide much value.\nIt only formats `SourceLocation` and `QualType`. The\nonly formatting it does for `QualType` is call `getAsString()`\non it.\n\nThe main motivator for the removal however is that the formatter\nimplementation can be very slow (since it uses the expression evaluator\nin non-trivial ways).\n\nNot infrequently do we get reports about LLDB being slow when debugging\nClang, and it turns out the user was loading `ClangDataFormat.py`\nin their `.lldbinit` by default.\n\nWe should eventually develop proper formatters for Clang data-types,\nbut these are currently not ready. So this patch removes them in the\nmeantime to avoid users shooting themselves in the foot, and giving\nthe wrong impression of these being reference implementations.","shortMessageHtmlLink":"[clang][utils] Remove ClangDataFormat.py for now"}},{"before":"99b227fb7f5d64afe5e9915fe0799a52c2ee2783","after":null,"ref":"refs/heads/lldb/prepare_for_execution-refactor-to-next","pushedAt":"2024-06-22T06:22:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"}},{"before":"387f2cd40a1b5da087a37639fbfec31fbfae2325","after":null,"ref":"refs/heads/lldb/prepare_for_execution-refactor","pushedAt":"2024-06-22T06:20:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"}},{"before":null,"after":"2b0a3406e24b9fea5a698bf0c4f1cb0aa9459652","ref":"refs/heads/clang/codegen/isZeroSize-dependency","pushedAt":"2024-06-21T21:48:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[clang][RecordLayout] Remove dependency on isZeroSize","shortMessageHtmlLink":"[clang][RecordLayout] Remove dependency on isZeroSize"}},{"before":"67d8bab2d2d42ca3ec5d07efd3be94e614dde2e9","after":"387f2cd40a1b5da087a37639fbfec31fbfae2325","ref":"refs/heads/lldb/prepare_for_execution-refactor","pushedAt":"2024-06-21T18:41:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"fixup! clang-format","shortMessageHtmlLink":"fixup! clang-format"}},{"before":null,"after":"99b227fb7f5d64afe5e9915fe0799a52c2ee2783","ref":"refs/heads/lldb/prepare_for_execution-refactor-to-next","pushedAt":"2024-06-21T10:41:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][SwiftExpressionParser] Adapt SwiftExpressionParser to new DoPrepareForExecution API","shortMessageHtmlLink":"[lldb][SwiftExpressionParser] Adapt SwiftExpressionParser to new DoPr…"}},{"before":"33f497041ddbf0d737c208320d98869ffd303aad","after":"67d8bab2d2d42ca3ec5d07efd3be94e614dde2e9","ref":"refs/heads/lldb/prepare_for_execution-refactor","pushedAt":"2024-06-21T09:50:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][ExpressionParser] Add DoPrepareForExecution API","shortMessageHtmlLink":"[lldb][ExpressionParser] Add DoPrepareForExecution API"}},{"before":"807d4d17389948d30a9fe40b8eddbd492af8667e","after":"33f497041ddbf0d737c208320d98869ffd303aad","ref":"refs/heads/lldb/prepare_for_execution-refactor","pushedAt":"2024-06-21T09:37:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][ExpressionParser] Add DoPrepareForExecution API","shortMessageHtmlLink":"[lldb][ExpressionParser] Add DoPrepareForExecution API"}},{"before":"46792785b1812a096bf97fa6d390c0af58a51d12","after":"807d4d17389948d30a9fe40b8eddbd492af8667e","ref":"refs/heads/lldb/prepare_for_execution-refactor","pushedAt":"2024-06-21T09:20:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][ExpressionParser] Add DoPrepareForExecution API","shortMessageHtmlLink":"[lldb][ExpressionParser] Add DoPrepareForExecution API"}},{"before":null,"after":"46792785b1812a096bf97fa6d390c0af58a51d12","ref":"refs/heads/lldb/prepare_for_execution-refactor","pushedAt":"2024-06-21T09:16:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"fixup! add file","shortMessageHtmlLink":"fixup! add file"}},{"before":"25e64a8a622496cbde447d0d5185f0e7ef06586d","after":"0d6597e36e5ede44c1b586e18e44f81aca90e8b9","ref":"refs/heads/bugfix/lldb/find-decl-in-objc-runtime","pushedAt":"2024-06-18T18:17:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"fixup! clang-format","shortMessageHtmlLink":"fixup! clang-format"}},{"before":null,"after":"25e64a8a622496cbde447d0d5185f0e7ef06586d","ref":"refs/heads/bugfix/lldb/find-decl-in-objc-runtime","pushedAt":"2024-06-18T18:04:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][ObjC] Don't query objective-c runtime for decls in C++ contexts\n\nWhen LLDB isn't able to find a `clang::Decl` in response\nto a `FindExternalVisibleDeclsByName`, it will fall-back\nto looking into the Objective-C runtime for that decl. This\nends up doing a lot of work which isn't necessary when we're\ndebugging a C++ program. This patch makes the ObjC lookup\nconditional on the language that the ExpressionParser deduced\n(which can be explicitly set using the `expr --language` option\nor is set implicitly if we're stopped in an ObjC frame or a\nC++ frame without debug-info).\n\nrdar://96236519","shortMessageHtmlLink":"[lldb][ObjC] Don't query objective-c runtime for decls in C++ contexts"}},{"before":"4f2cae80a5052f2e193f71063f60221944bfdb37","after":"a6951069b7eefe60cd7afd938f56964af55b6499","ref":"refs/heads/feature/type-completion/lldb/main","pushedAt":"2024-06-14T12:48:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"TEMPORARY: for perf profiling","shortMessageHtmlLink":"TEMPORARY: for perf profiling"}},{"before":"5d80d6760ffab4dfaa50c08e48baf10fd7712df9","after":"d4fed6d8c7afe6304abb65ebb7bfc9b150ec0d6e","ref":"refs/heads/profiling/tc-with-patch","pushedAt":"2024-06-14T11:55:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"TEMPORARY: FindFunctions logging","shortMessageHtmlLink":"TEMPORARY: FindFunctions logging"}},{"before":"158c6089d93be1f826286da8514679e15c14555b","after":"19707698839065db22e32e3e565e391d8be8eb17","ref":"refs/heads/lldb/type-completion/upstream","pushedAt":"2024-06-14T11:48:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"fixup! clang-format","shortMessageHtmlLink":"fixup! clang-format"}},{"before":"adc2c6e5554374129b67fd1cfd6794492465ab39","after":"158c6089d93be1f826286da8514679e15c14555b","ref":"refs/heads/lldb/type-completion/upstream","pushedAt":"2024-06-14T11:44:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][WIP] Use forward decls with redeclared definitions instead of minimal import for records\n\nThis patch is rewriting the way we move Clang types between different ASTS in Clang.\n\nThe motivation is that the current approach for 'completing types' in LLDB just doesn't work. We have all kinds of situations where we either have Clang crash due to for example having a Record without DefinitionData but with FieldDecls in it.\n\nThe reason for that is that at the moment we create record types ([CXX]RecordDecls and ObjCInterfaceDecls) and we always pretend that a type potentially has a definition that somehow could be lazily pulled in. However, Clang doesn't have any interface (at least none that is consistently called) that turns a RecordDecl without DefinitionData into a RecordDecl with DefinitionData. The only relevant API in the ExternalASTSource is CompleteType is suffering from the fact that it's essentially not used by generic Clang code.\n\nThe part of the ExternalASTSource API that is consistently called to pull in a potential definition is CompleteRedeclChain (which is for example automatically called when calling getDefinition on a RecordDecl). The problem with CompleteRedeclChain however is that it's not supposed to add definition data to the Decl its called on, but instead it should provide a redeclaration that is defining the record. That's a very different system than what we currently have and we can't just swap it out under the hood.\n\nTo make it short: We probably need to rewrite that part of LLDB.\n\nSo the solution here is essentially rewriting all our completion code to do this:\n\n* Instead of creating these weirdly defined records that have fields but maybe not definition and so on, we only create forward decls at the start.\n* We then bump the GenerationCounter of the ExternalASTSource of the current AST to force rebuilding of the redeclaration chain.\n* When Clang asks for the definition of the record, it will ask the ExternalASTSource to complete the redeclaration chain. At this point we build the definition and add it as a second decl.\n\nThe ASTImporter can now also stop using the minimal mode for records as there is no reason anymore. It just imports first the forward declaration and then the definition when needed.","shortMessageHtmlLink":"[lldb][WIP] Use forward decls with redeclared definitions instead of …"}},{"before":"bde5145c42b6584aa491b84c221d21e75db60471","after":null,"ref":"refs/heads/lldb/nfc/objc-completion-crash-test","pushedAt":"2024-06-14T10:49:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"}},{"before":"56ea05785d6b5a1dd2955d90b196a9e824820ab0","after":"c43d4b331bd824e434bddede4133c33ff6414bb1","ref":"refs/heads/profiling/tc-no-patch","pushedAt":"2024-06-14T10:37:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"Revert \"PROFILING: expr timing\"\n\nThis reverts commit 111854fcd661bb80be8ce0c8c5b58b7abd6ce7aa.","shortMessageHtmlLink":"Revert \"PROFILING: expr timing\""}},{"before":"cece0a105b29dcbb9d88d0aa264c4745c07a8456","after":"71f8b441ed6a944ceb4530b49e8588dcbb1e0066","ref":"refs/heads/main","pushedAt":"2024-06-14T10:37:05.000Z","pushType":"push","commitsCount":272,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"Reapply: [MC/DC][Coverage] Loosen the limit of NumConds from 6 (#82448)\n\nBy storing possible test vectors instead of combinations of conditions,\nthe restriction is dramatically relaxed.\n\nThis introduces two options to `cc1`:\n\n* `-fmcdc-max-conditions=32767`\n* `-fmcdc-max-test-vectors=2147483646`\n\nThis change makes coverage mapping, profraw, and profdata incompatible\nwith Clang-18.\n\n- Bitmap semantics changed. It is incompatible with previous format.\n- `BitmapIdx` in `Decision` points to the end of the bitmap.\n- Bitmap is packed per function.\n- `llvm-cov` can understand `profdata` generated by `llvm-profdata-18`.\n\nRFC:\nhttps://discourse.llvm.org/t/rfc-coverage-new-algorithm-and-file-format-for-mc-dc/76798\n\n--\nChange(s) since llvmorg-19-init-14288-g7ead2d8c7e91\n\n- Update compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c","shortMessageHtmlLink":"Reapply: [MC/DC][Coverage] Loosen the limit of NumConds from 6 (llvm#…"}},{"before":"626df2372e420f5b7a7fb9c5494066c9401a51c3","after":null,"ref":"refs/heads/lldb/crash/get-complete-objc-type-to-next","pushedAt":"2024-06-14T06:38:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"}},{"before":"e3fc073aef6a82e8ed9adb4f38eec4780dbe1bf6","after":"626df2372e420f5b7a7fb9c5494066c9401a51c3","ref":"refs/heads/lldb/crash/get-complete-objc-type-to-next","pushedAt":"2024-06-14T06:37:01.000Z","pushType":"push","commitsCount":280,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][test] TestObjCIDCast.test: remove batch mode\n\nThis caused the test to fail because the error\nseemed to be propagated","shortMessageHtmlLink":"[lldb][test] TestObjCIDCast.test: remove batch mode"}},{"before":"499db77638e1de1ede287a163561ce8c1fde8ba9","after":"a92275f5381ab658ba963e4c03cccc92006e8747","ref":"refs/heads/lldb/crash/get-complete-objc-type-to-6.0","pushedAt":"2024-06-14T06:34:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][test] Add test for completing ObjCObjectType\n\nThis is a minimal reproducer for a crash reported internally\nwhere we would try to call `DumpTypeDescription` on an incomplete\ntype. This crash surfaced as part of an NFC refactor of some\nof the logic in `GetCompleteQualType`:\n```\n(lldb) expr -l objc -- *(id)0x1234\nStack dump:\n0. Program arguments: ./bin/lldb a.out -o \"b main\" -o run -o \"expr -l objc -- *(id)0x1234\"\nStack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var LLVM_SYMBOLIZER_PATH to point to it):\n0 lldb 0x0000000102ec768c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56\n1 lldb 0x0000000102ec6010 llvm::sys::RunSignalHandlers() + 112\n2 lldb 0x0000000102ec7fa8 SignalHandler(int) + 292\n3 libsystem_platform.dylib 0x000000018c7a8c44 _sigtramp + 56\n4 LLDB 0x0000000116b2030c lldb_private::TypeSystemClang::DumpTypeDescription(void*, lldb_private::Stream&, lldb::DescriptionLevel, lldb_private::ExecutionContextScope*) + 588\n5 LLDB 0x00000001166b5124 lldb_private::CompilerType::DumpTypeDescription(lldb_private::Stream*, lldb::DescriptionLevel, lldb_private::ExecutionContextScope*) const + 228\n6 LLDB 0x0000000116d4f08c IRForTarget::CreateResultVariable(llvm::Function&) + 2076\n```\n\nrdar://129633122","shortMessageHtmlLink":"[lldb][test] Add test for completing ObjCObjectType"}},{"before":"2e3f16035167472fa82502cc8c05e68fee325d95","after":"bde5145c42b6584aa491b84c221d21e75db60471","ref":"refs/heads/lldb/nfc/objc-completion-crash-test","pushedAt":"2024-06-14T06:32:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"fixup! remove batch mode, which caused the test to flag as an error","shortMessageHtmlLink":"fixup! remove batch mode, which caused the test to flag as an error"}},{"before":"c085adcf1ca1cdba2f63e0be7e8b40b200414453","after":null,"ref":"refs/heads/lldb/nfc/get-complete-qualtype-helpers","pushedAt":"2024-06-14T06:20:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"}},{"before":"d82790b01a71f376943c4c45021697c0048893b3","after":"e3fc073aef6a82e8ed9adb4f38eec4780dbe1bf6","ref":"refs/heads/lldb/crash/get-complete-objc-type-to-next","pushedAt":"2024-06-13T21:23:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Michael137","name":"Michael Buch","path":"/Michael137","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14071464?s=80&v=4"},"commit":{"message":"[lldb][test] Add test for completing ObjCObjectType\n\nThis is a minimal reproducer for a crash reported internally\nwhere we would try to call `DumpTypeDescription` on an incomplete\ntype. This crash surfaced as part of an NFC refactor of some\nof the logic in `GetCompleteQualType`:\n```\n(lldb) expr -l objc -- *(id)0x1234\nStack dump:\n0. Program arguments: ./bin/lldb a.out -o \"b main\" -o run -o \"expr -l objc -- *(id)0x1234\"\nStack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var LLVM_SYMBOLIZER_PATH to point to it):\n0 lldb 0x0000000102ec768c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56\n1 lldb 0x0000000102ec6010 llvm::sys::RunSignalHandlers() + 112\n2 lldb 0x0000000102ec7fa8 SignalHandler(int) + 292\n3 libsystem_platform.dylib 0x000000018c7a8c44 _sigtramp + 56\n4 LLDB 0x0000000116b2030c lldb_private::TypeSystemClang::DumpTypeDescription(void*, lldb_private::Stream&, lldb::DescriptionLevel, lldb_private::ExecutionContextScope*) + 588\n5 LLDB 0x00000001166b5124 lldb_private::CompilerType::DumpTypeDescription(lldb_private::Stream*, lldb::DescriptionLevel, lldb_private::ExecutionContextScope*) const + 228\n6 LLDB 0x0000000116d4f08c IRForTarget::CreateResultVariable(llvm::Function&) + 2076\n```\n\nrdar://129633122","shortMessageHtmlLink":"[lldb][test] Add test for completing ObjCObjectType"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEbKlaCgA","startCursor":null,"endCursor":null}},"title":"Activity · Michael137/llvm-project"}