{"id":16847403,"url":"https://github.com/indygreg/warnsquash","last_synced_at":"2025-10-13T05:32:00.636Z","repository":{"id":2146442,"uuid":"3091218","full_name":"indygreg/warnsquash","owner":"indygreg","description":"Tool to help squash compiler warnings","archived":false,"fork":false,"pushed_at":"2012-01-03T01:34:12.000Z","size":104,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-24T01:57:13.632Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/indygreg.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-01-03T01:14:45.000Z","updated_at":"2017-07-25T23:49:18.000Z","dependencies_parsed_at":"2022-09-13T09:03:07.746Z","dependency_job_id":null,"html_url":"https://github.com/indygreg/warnsquash","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indygreg%2Fwarnsquash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indygreg%2Fwarnsquash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indygreg%2Fwarnsquash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indygreg%2Fwarnsquash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indygreg","download_url":"https://codeload.github.com/indygreg/warnsquash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244173553,"owners_count":20410300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T13:07:48.635Z","updated_at":"2025-09-16T16:57:43.515Z","avatar_url":"https://github.com/indygreg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"==========\nWarnSquash\n==========\n\nWarnSquash (WS) is a tool that helps squash compiler warnings.\n\nWarnSquash is built on top of Clang. Therefore, any actionable warning\n(known as a diagnostic in Clang speak) can theoretically be addressed by\nWS. However, this does mean that WS is limited to fixing the C family of\nlanguages (C, C++, Objective C).\n\nWarnSquash was originally authored by Gregory Szorc.\n\nInstalling\n==========\n\nWarnSquash utilizes the Python binding to libclang, the C interface for\nthe Clang compiler (which is written in C++). So, you will need Clang to\nrun WarnSquash. We recommend the latest released version. When this\ndocumentation was written, WarnSquash was only tested against a trunk\nbuild of LLVM/Clang (pulled on 2012-01-02). However, it should work on\n3.0.\n\nWarnSquash ships with a Python package definition. So, to install it:\n\n    $ python setup.py install\n\nThe Clang Python binding officially ships as part of Clang. However,\nit doesn't appear that many package maintainers have bothered to include\nit. So, you may have to install it yourself.\n\nThe good news is the Python binding doesn't need to be compiled, so you\ncan just drop it in your PYTHONPATH. You can obtain the binding files\nfrom http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/\n\nRunning\n=======\n\nOnce you've installed the package, you should be able to see the help by\nrunning:\n\n    $ warnsquash --help\n\nIf that doesn't provide enough help to be useful, we are doing it wrong.\n\nIf the Clang Python bindings are installed somewhere weird, you can run\nwith a modified PYTHONPATH e.g.\n\n    $ PYTHONPATH=~/src/clang/bindings/python:$PYTHONPATH warnsquash --help\n\nSupported Operations\n====================\n\nWarnSquash can automatically fix the following warnings:\n\n* Unused function parameter names\n\nIn some cases, the fix technique can be controlled by command line\narguments. See the help text for more.\n\nFuture Ideas\n============\n\n* MOAR fixable warnings\n* Interactive prompting for fixing\n* Tests\n\nKnown Issues\n============\n\nSegfaults\n---------\n\nA segfault is occurring during reparse if multiple warnings are being fixed\nin a single file. Cause is unknown. Possibly a libclang bug.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findygreg%2Fwarnsquash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findygreg%2Fwarnsquash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findygreg%2Fwarnsquash/lists"}