{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":751953838,"defaultBranch":"main","name":"clang-extract","ownerLogin":"SUSE","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-02T17:32:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1067733?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1722541288.0","currentOid":""},"activityList":{"items":[{"before":"703568bdf19ef90990479e4ca17d8faaeffd6548","after":"0a13816a9ce9b25cd54a0762942e3375b2751fcf","ref":"refs/heads/main","pushedAt":"2024-09-02T21:09:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"libcextract: Passes: Adjust KLP_RELOC_SYMBOL_POS format\n\nThis was changed on linux kernel mailing list due to possible problems\non binutils. For more information take a look here[1];\n\n[1]: https://lore.kernel.org/all/ZljceDZ7eqEJtYhQ@redhat.com/\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: Passes: Adjust KLP_RELOC_SYMBOL_POS format"}},{"before":"4c858e7be483b892807ebdb096b0ff4c2fd5f08e","after":"703568bdf19ef90990479e4ca17d8faaeffd6548","ref":"refs/heads/main","pushedAt":"2024-09-02T21:00:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"marcosps","name":"Marcos Paulo de Souza","path":"/marcosps","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1039418?s=80&v=4"},"commit":{"message":"Merge pull request #127 from marcosps/implicit-int\n\ntestsuite: inline: inlined-into-1: Skip implicit-int warning","shortMessageHtmlLink":"Merge pull request #127 from marcosps/implicit-int"}},{"before":"54c62036702a60a52d016b736b4a7ceac3c04a87","after":"4c858e7be483b892807ebdb096b0ff4c2fd5f08e","ref":"refs/heads/main","pushedAt":"2024-08-23T14:46:55.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Add option to pass two debuginfos\n\nSUSE packages contain the stripped .so file with .dynsym and the\ndebuginfo (.debug) provided in -debuginfo packages. We need both\nof them in Userspace Livepatching since 15.5 for proper analysis.\nThis commit patches the ElfCache and InlineAnalysis so it can use\nboth of them.\n\nFor kernel we expect it to only use one ELF file for now (the\nfirst one).\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Add option to pass two debuginfos"}},{"before":"c69e9ff9bdd12bf3a728e9ad3d333adfa56a03c8","after":"54c62036702a60a52d016b736b4a7ceac3c04a87","ref":"refs/heads/main","pushedAt":"2024-08-22T01:12:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"libcextract: ArgvParser: Use basename instead of std::filename\n\nThe libstdc++ provides on SUSE Linux Enterprise 15 SP6 is too old that\nit doens't implement the std::filename interface. Using basename avoids\nthis problem.\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: ArgvParser: Use basename instead of std::filename"}},{"before":"733a1a2330d2aca8004dab5336c6f4821ae3cc61","after":"c69e9ff9bdd12bf3a728e9ad3d333adfa56a03c8","ref":"refs/heads/main","pushedAt":"2024-08-21T14:43:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Fix Late Externalization when variable is declared as macro expansion\n\nIn the case where a variable is declared as a consequence of a macro\nexpansion, as an example:\n```\n #include \"lateext-7.h\"\n DEFINE_STATIC_KEY_FALSE(aaa);\n```\nWhat happens is that when trying to get the FileID of `aaa` it returns\nthe FileID for the include file rather than the main file. Hence make\nsure it gets the expansion location rather than the spelling location.\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Fix Late Externalization when variable is declared as macro expansion"}},{"before":"88556a598fd55edd32600384cbf7df9a0b501558","after":"733a1a2330d2aca8004dab5336c6f4821ae3cc61","ref":"refs/heads/main","pushedAt":"2024-08-21T13:06:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Dump includetree together with passes dump\n\nThis should help us debug issues related to includes.\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Dump includetree together with passes dump"}},{"before":"dfb5e83b6821c274fe199072b16e27e360adc21e","after":"88556a598fd55edd32600384cbf7df9a0b501558","ref":"refs/heads/main","pushedAt":"2024-08-21T12:59:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"libcextract: ExpansionPolicy: Check for abs and rel path differences\n\nThere are two situations when extract kernel code: using SLE codestreams\nor extracting from a built kernel source directory. For the previous\none, for some reason, absolute_path and relative_path are the same, so\nwe need to check if \"/include/\" path is present in the include path is\nthere or not to expand the header.\n\nFor the kernel source tree things are different: they are different, so\nwe can check if the relative path is \"./include\", and thus things are\ndecided correctly with the fix.\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: ExpansionPolicy: Check for abs and rel path differences"}},{"before":"2a5a935790a57ae0edb02b9b75332a983ffb7016","after":"dfb5e83b6821c274fe199072b16e27e360adc21e","ref":"refs/heads/main","pushedAt":"2024-08-20T01:47:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Remove redundant decls\n\nPass through the closure set looking for Decls we can erase. For\nexample:\n```\nstruct ll;\n\nstruct ll;\n\nint get(struct ll *);\n\nstruct ll;\n```\nWe just need the first `struct ll;`\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Remove redundant decls"}},{"before":"b68f4e67c5f1100b8d53552bab81a73ccbdb8676","after":"2a5a935790a57ae0edb02b9b75332a983ffb7016","ref":"refs/heads/main","pushedAt":"2024-08-20T01:43:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Workaround ';' being output at incorrect location when decl ends with #endif\n\nWorkarounds this bizarre corner case found in iwlwifi kernel module.\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Workaround ';' being output at incorrect location when decl ends with…"}},{"before":"ea42b8a4e9daadfa52aa07f70cf95d70ea607920","after":"b68f4e67c5f1100b8d53552bab81a73ccbdb8676","ref":"refs/heads/main","pushedAt":"2024-08-16T22:10:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Fix CompleteDefinition of struct being dragged into output because of union field\n\nOn the following example:\n```\nstruct ll {\n union {\n unsigned long key;\n void *key_ptr;\n };\n struct ll *next;\n};\n```\nEven if we don't need the full definition of `ll` it is dragged into\nthe output because when analyzing this `union` field it tries to go\nup and set `struct ll` as having its body necessary once there was\nno way for it to know that it went there as a consequence of adding\n`struct ll` to the closure, rather than it being there because of\na foward union declaration inside a struct. This commit fixes\nthis by pushing the Decls into a stack as a way to know which\ndeclarations we are currently analyzing.\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Fix CompleteDefinition of struct being dragged into output because of…"}},{"before":"4159d511bca3f78fc045e31e7767d0e1cc857692","after":"ea42b8a4e9daadfa52aa07f70cf95d70ea607920","ref":"refs/heads/main","pushedAt":"2024-08-16T13:54:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"libcextract: ArgvParser: Disable Wduplicate-decl-specifier error\n\nThis happens on recent kernel tree due to issues with LLVM. As we don't\nneed any backends and only need to parse the source code we can disable\nthe warning and move on.\n\nFor more information about the issue take a look into\nhttps://github.com/ClangBuiltLinux/linux/issues/2013 and\nhttps://github.com/llvm/llvm-project/issues/93449.\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: ArgvParser: Disable Wduplicate-decl-specifier error"}},{"before":"4e7191ccf0962a4b5472200a7d0e375089eed78d","after":"4159d511bca3f78fc045e31e7767d0e1cc857692","ref":"refs/heads/main","pushedAt":"2024-08-16T13:48:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Disable Precompiled Headers\n\nClang provides a feature to speedup header parsing which consists of\ngenerating a PrecompiledHeader (.pch) file to avoid having to compile\nthe header multiple times if the main file needs to be reparsed\nmultiple times, which is the case we are interested.\n\nHowever, there seems to be a bug there because the Preprocessor is\nre-instantiated after generating them, loosing the __COUNT__ counter\nvalue. So we disable it until this issue is fixed.\n\nAfter testing PCH enabled vs. disabled, I noticed clang-extract is\nsignificantly *faster* if PCH is disabled, hence disable it once\nfor all (1.6s vs. 1.0s for vmwgfx_execbuf case).\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Disable Precompiled Headers"}},{"before":"272ac2e328a2e15dab5b97bf77b35a2cefc59ef5","after":"4e7191ccf0962a4b5472200a7d0e375089eed78d","ref":"refs/heads/main","pushedAt":"2024-08-15T17:39:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"libcextract: Add support for Weak symbols for kernel mode\n\nUntil this point all symbols found in kernel mode (usually using Symvers\nfile), were strong (with externalized variables) or none (which copied\nthe symbols to the closure). Now clang-extract checks is the symbol is\npresent on vmlinux, meaning that the symbol is weak externalized,\nmeaning the the symbol will be always present.\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: Add support for Weak symbols for kernel mode"}},{"before":"8413e895dae9ab90ccd8597a994739318d012e6b","after":"272ac2e328a2e15dab5b97bf77b35a2cefc59ef5","ref":"refs/heads/main","pushedAt":"2024-08-14T17:15:03.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Drop VectorRef in favor of ArrayRef\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Drop VectorRef in favor of ArrayRef"}},{"before":"82f77f742869693880658b2159b71e0b82e2a0ac","after":"8413e895dae9ab90ccd8597a994739318d012e6b","ref":"refs/heads/main","pushedAt":"2024-08-14T13:53:21.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"ElfCXX: Convert decompress_gz to use DecompressedObj attribute\n\nDecompressedObj is freed on ElfObject dtor, so the code ends up cleaner.\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"ElfCXX: Convert decompress_gz to use DecompressedObj attribute"}},{"before":"34af51bf054c9db4fd81561ed8e622c22edbb765","after":"82f77f742869693880658b2159b71e0b82e2a0ac","ref":"refs/heads/main","pushedAt":"2024-08-13T14:33:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"libcextract: Add support to zstd\n\nWith this change clang-extract can parse kernel modules compressed using\nzstd.\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: Add support to zstd"}},{"before":"5e762c377c7ea4d1a240cacc27e2b32a7689508c","after":"34af51bf054c9db4fd81561ed8e622c22edbb765","ref":"refs/heads/main","pushedAt":"2024-08-12T22:05:37.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Add support to read zlib compressed files, like vmlinux.gz\n\nThis is useful for decompressing vmlinux files and kernel modules\ncompressed using zlib/gzip.\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"Add support to read zlib compressed files, like vmlinux.gz"}},{"before":"6cf5b73ebe772a2727a1e65d4243c3c6ff1a5856","after":"5e762c377c7ea4d1a240cacc27e2b32a7689508c","ref":"refs/heads/main","pushedAt":"2024-08-02T14:23:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Passes: Drop comments about ibt tail content\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"Passes: Drop comments about ibt tail content"}},{"before":"94276b701c40beb0edd4cac490d8ac74e53d86fb","after":"6cf5b73ebe772a2727a1e65d4243c3c6ff1a5856","ref":"refs/heads/main","pushedAt":"2024-08-01T19:54:30.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"libcextract: Passes: Drop attributes when creating the KLP_RELOC entries\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: Passes: Drop attributes when creating the KLP_RELOC entries"}},{"before":"cfe5277eea5da8e14183b16d139336eec1efeb25","after":"7b1d82ed92411450bf96e41796a7cb112f7a868a","ref":"refs/heads/ibt-no-prefix-fixes","pushedAt":"2024-08-01T19:52:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marcosps","name":"Marcos Paulo de Souza","path":"/marcosps","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1039418?s=80&v=4"},"commit":{"message":"libcextract: Passes: Drop attributes when creating the KLP_RELOC entries\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: Passes: Drop attributes when creating the KLP_RELOC entries"}},{"before":"af79f94089ac66903beb349d22b022723f4d95e2","after":"cfe5277eea5da8e14183b16d139336eec1efeb25","ref":"refs/heads/ibt-no-prefix-fixes","pushedAt":"2024-08-01T19:48:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marcosps","name":"Marcos Paulo de Souza","path":"/marcosps","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1039418?s=80&v=4"},"commit":{"message":"libcextract: Passes: Drop attributes when creating the KLP_RELOC entries\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: Passes: Drop attributes when creating the KLP_RELOC entries"}},{"before":null,"after":"af79f94089ac66903beb349d22b022723f4d95e2","ref":"refs/heads/ibt-no-prefix-fixes","pushedAt":"2024-08-01T19:41:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcosps","name":"Marcos Paulo de Souza","path":"/marcosps","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1039418?s=80&v=4"},"commit":{"message":"libcextract: Passes: Drop attributes when creating the KLP_RELOC entries\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"libcextract: Passes: Drop attributes when creating the KLP_RELOC entries"}},{"before":"ed66895218e8e0ffe156c72bacebcf5d62b608be","after":"94276b701c40beb0edd4cac490d8ac74e53d86fb","ref":"refs/heads/main","pushedAt":"2024-07-31T17:59:31.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Remove functions body from Closure.hh\n\nThere is no point in keeping them in Closure.hh. This should reduce\ncompiling time and take away the linker job of identifying the\nequivalent functions and merge them.\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Remove functions body from Closure.hh"}},{"before":"13ed4c9da28c8dd28d762555614b95be74a9cdc0","after":"ed66895218e8e0ffe156c72bacebcf5d62b608be","ref":"refs/heads/main","pushedAt":"2024-07-31T17:54:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"LLVMMisc.cpp: Check if identifier exists in SymbolTable\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"LLVMMisc.cpp: Check if identifier exists in SymbolTable"}},{"before":null,"after":"95b5227194c913d24115f505b2026fcbd6dce7c8","ref":"refs/heads/fix-symtab-identifier","pushedAt":"2024-07-31T17:51:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcosps","name":"Marcos Paulo de Souza","path":"/marcosps","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1039418?s=80&v=4"},"commit":{"message":"LLVMMisc.cpp: Check if identifier exists in SymbolTable\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"LLVMMisc.cpp: Check if identifier exists in SymbolTable"}},{"before":"4309abcfa899db4ada43550620bdfb226a9393f6","after":"13ed4c9da28c8dd28d762555614b95be74a9cdc0","ref":"refs/heads/main","pushedAt":"2024-07-31T16:08:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Fix failing testcase if system compiler is gcc-14\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Fix failing testcase if system compiler is gcc-14"}},{"before":"a998e91ea98a06179bb39f0fa6e39427ad29774b","after":"4309abcfa899db4ada43550620bdfb226a9393f6","ref":"refs/heads/main","pushedAt":"2024-07-26T18:29:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Fix closure missing TypedefDecl because not being referenced by type\n\nThere are some types in which we lose the the typedef reference, for\nexample:\n\n typedef void (*XtErrorHandler)(char *);\n extern void XtSetErrorHandler(XtErrorHandler __attribute((noreturn)));\n\nThe type dump for this is:\n\n FunctionProtoType 0x5210000720e0 'void (void (*)(char *) __attribute__((noreturn)))' cdecl\n |-BuiltinType 0x521000014170 'void'\n `-PointerType 0x521000071fd0 'void (*)(char *) __attribute__((noreturn))'\n `-ParenType 0x521000071f70 'void (char *) __attribute__((noreturn))' sugar\n `-FunctionProtoType 0x521000071f30 'void (char *) __attribute__((noreturn))' noreturn cdecl\n |-BuiltinType 0x521000014170 'void'\n `-PointerType 0x521000014d10 'char *'\n `-BuiltinType 0x5210000141b0 'char'\n\nNotice that there is no reference for XtErrorHandler. Somehow clang was\nnot able to identify that XtErrorHandler __attribute((noreturn)) is a\nXtErrorHandler. OTOH, if we drop __attribute((noreturn)) we get:\n\n FunctionProtoType 0x521000071ff0 'void (XtErrorHandler)' cdecl\n |-BuiltinType 0x521000014170 'void'\n `-ElaboratedType 0x521000071f00 'XtErrorHandler' sugar\n `-TypedefType 0x521000071ed0 'XtErrorHandler' sugar\n |-Typedef 0x521000071e78 'XtErrorHandler'\n `-PointerType 0x521000071e10 'void (*)(char *)'\n `-ParenType 0x521000071db0 'void (char *)' sugar\n `-FunctionProtoType 0x521000071d70 'void (char *)' cdecl\n |-BuiltinType 0x521000014170 'void'\n `-PointerType 0x521000014d10 'char *'\n `-BuiltinType 0x5210000141b0 'char'\n\nwhich is correct. Hence we get the SourceText and try to match to any\ndecl that is in the symbol table with that name.\n\nThis also adds two testcases for the ImageMagick sourcecode, which are\nstill failing.\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Fix closure missing TypedefDecl because not being referenced by type"}},{"before":"b1120ec53a40869abe5e42e2b914862d3dcd14fb","after":"a998e91ea98a06179bb39f0fa6e39427ad29774b","ref":"refs/heads/main","pushedAt":"2024-07-22T23:27:55.000Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Fix clang-extract discarding struct-partial definition in nested record\n\nFor some reason this:\n```\nstruct struct_ext2_filsys {\n const struct ext2fs_nls_table *encoding;\n};\n```\nforward declares `struct ext2fs_nls_table`, hence we need to make sure\nit is output if there is no previous forward declaration of it.\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Fix clang-extract discarding struct-partial definition in nested record"}},{"before":"9b2dfb68740ef30742f6afcf58e7e160958316d9","after":"b1120ec53a40869abe5e42e2b914862d3dcd14fb","ref":"refs/heads/main","pushedAt":"2024-07-22T18:03:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"SymbolExternalizer: Check KLP_ macros only if there was externzalized syms\n\nSigned-off-by: Marcos Paulo de Souza ","shortMessageHtmlLink":"SymbolExternalizer: Check KLP_ macros only if there was externzalized…"}},{"before":"6054fa3420e94bda6ad6c36b7aca0bd8a60dc269","after":"9b2dfb68740ef30742f6afcf58e7e160958316d9","ref":"refs/heads/main","pushedAt":"2024-07-21T16:49:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"giulianobelinassi","name":"Giuliano Belinassi","path":"/giulianobelinassi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7212952?s=80&v=4"},"commit":{"message":"Remove the EnumConstantTable\n\nWe don't need it anymore, LLVM-17 seems to have a way to get the\nEnumDecl which results in the EnumConstantDecl.\n\nSigned-off-by: Giuliano Belinassi ","shortMessageHtmlLink":"Remove the EnumConstantTable"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wMlQyMTowOTo0My4wMDAwMDBazwAAAASq84b8","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wMlQyMTowOTo0My4wMDAwMDBazwAAAASq84b8","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yMVQxNjo0OTowOS4wMDAwMDBazwAAAASFHizq"}},"title":"Activity · SUSE/clang-extract"}