Open source contributions

[active] GNU Compiler Collection (website)

I've been interested in compilers for more than 20 years ago, and I started contributing to GCC in 2006. After a 13 year hiatus, I'm contributing again since 2024 and I'm loving it.

Details

96 contributions as of May 21, 2025

2025-05-14: c++: Add testcase for issue fixed in GCC 15 [PR120126]

2025-05-05: c++: Remove obsolete prototype

2025-05-05: c++: Inhibit subsequent warnings/notes in diagnostic_groups with an inhibited warning [PR118163,PR118392]

2025-03-25: c++: Properly fold <COND_EXPR>.* [PR114525]

2025-03-12: c++: Look through capture proxy from outer lambda instead of erroring out [PR110584]

2025-03-12: cobol: Remove unnecesssary CPPFLAGS update and restore MacOS build

2025-03-07: vect: Fix build on MacOS

2025-03-06: Fix comment typos

2025-03-06: c++: Don't replace INDIRECT_REFs by a const capture proxy too eagerly [PR117504]

2025-03-05: c++: Fix checking assert upon invalid class definition [PR116740]

2025-02-16: c++: Add testcase for now fixed issue [PR117324]

2025-02-11: c++: Reject cdtors and conversion operators with a single * as return type [PR118304, PR118306]

2025-02-07: c++: Properly support null pointer constants in conditional operators [PR118282]

2025-02-05: c++: Reject default arguments for template class friend functions [PR118319]

2025-02-04: c++: Fix overeager Woverloaded-virtual with conversion operators [PR109918]

2025-02-04: c++: Properly detect calls to digest_init in build_vec_init [PR114619]

2025-01-22: c++: Don't prune constant capture proxies only used in array dimensions [PR114292]

2025-01-25: c++: Reinstate check for uninitialized bases with c++ <= 17 [PR118239]

2025-01-22: c++: Clear TARGET_EXPR_ELIDING_P when forced to use a copy constructor due to no_unique_address [PR118199]

2025-01-21: c++: Don't ICE in build_class_member_access_expr during error recovery [PR118225]

2025-01-21: testsuite: Fix test failing with -fimplicit-constexpr [PR118277]

2025-01-05: c++: Friend classes don't shadow enclosing template class paramater [PR118255]

2025-01-16: c++: Make sure fold_sizeof_expr returns the correct type [PR117775]

2024-12-23: libcc1: Fix tags generation target

2024-12-09: tree-eh: Don't crash on GIMPLE_TRY_FINALLY with empty cleanup sequence [PR117845]

2024-12-03: c++: Don't reject pointer to virtual method during constant evaluation [PR117615]

2024-11-11: c++: Fix another crash with invalid new operators [PR117463]

2024-11-05: c++: Fix crash during NRV optimization with invalid input [PR117099, PR117129]

2024-11-05: c++: Don't crash upon invalid placement new operator [PR117101]

2024-11-05: c++: Defer -fstrong-eval-order processing to template instantiation time [PR117158]

2024-10-31: c++: Add testcase for now fixed issue [PR101887]

2024-10-13: Revert "c++: Fix overeager Woverloaded-virtual with conversion operators [PR109918]"

2024-10-11: c++: Fix overeager Woverloaded-virtual with conversion operators [PR109918]

2024-10-10: libiberty: Restore build with CP_DEMANGLE_DEBUG defined

2024-10-02: c++: Fix regression introduced by r15-3796 [PR116722]

2024-09-16: c++: Don't crash when mangling member with anonymous union or template type [PR100632, PR109790]

2024-09-18: c++: Don't ICE due to artificial constructor parameters [PR116722]

2024-09-13: c++: Don't mix timevar_start and auto_cond_timevar for TV_NAME_LOOKUP [PR116681]

2024-09-10: c++: Don't ICE to build private access error message [PR116323]

2024-08-26: c++: Don't show constructor internal name in error message [PR105483]

2024-08-25: c++: Check template parameters in member class template specialization [PR115716]

2024-08-23: c++: Add testcase for (now fixed) regression [PR113746]

2024-08-08: c++: Don't accept multiple enum definitions within template class [PR115806]

2024-08-07: c++: Fix ICE on valid involving variadic constructor [PR111592]

2024-06-11: c++: Relax too strict assert in stabilize_expr [PR111160]

2024-06-07: c++: Make _cast<> parsing more robust to errors [PR108438]

2024-06-04: c++: Handle erroneous DECL_LOCAL_DECL_ALIAS in duplicate_decls [PR107575]

2024-06-07: lto: Fix build on MacOS

2024-06-04: c++: Add testcase for PR103338

2024-06-04: Add missing space after seen_error in gcc/cp/pt.cc

2024-05-24: Fix PR c++/111106: missing ; causes internal compiler error

2024-06-02: Fix PR c++/109958: ICE taking the address of bound static member function brought into derived class by using-declaration

2024-05-24: Add testcase for PR c++/105229: ICE in lookup_template_class_1

2024-05-06: c++: ICE in build_deduction_guide for invalid template [PR105760]

2011-05-02: re PR c/35445 (ICE with conflicting declarations)

2010-11-06: re PR c/43384 (ICE: Segmentation fault with invalid K&R-like code)

2010-03-20: re PR c++/43081 (ICE with invalid in-class initializer)

2010-02-27: re PR c++/42054 (ICE with invalid template parameter)

2009-11-20: re PR c++/38646 (ICE with invalid specialization of variadic template)

2009-07-26: re PR c++/40749 (g++ doesnt report missing return if return is of type const )

2009-07-09: pt.c (perform_typedefs_access_check, [...]): Use CLASS_TYPE_P.

2009-07-06: re PR c++/40557 (ICE with template union)

2009-06-02: re PR c++/38089 (g++ crash on invalid code)

2009-03-27: re PR c++/37647 (ICE with invalid use of constructor)

2009-03-27: re PR c++/29727 (ICE on invalid initializer for template member)

2008-10-07: re PR c/35437 (ICE with struct containing incomplete type)

2008-09-30: re PR c++/37555 (ICE with invalid typedef)

2008-07-08: re PR c++/34963 (ICE completely broken destructor)

2008-06-14: re PR c++/35320 (ICE with invalid friend declaration)

2008-06-14: re PR c++/35317 (ICE with operator delete[] and ellipsis)

2007-12-10: re PR c++/34059 (ICE with invalid base type for class member)

2007-10-12: re PR c++/26698 (g++ accepts const-incorrect code due to conversion function)

2007-09-25: re PR c++/33207 (ICE redeclaring namespace as struct)

2007-07-28: re PR c++/30917 (ICE with friend in local class (to a function))

2007-06-25: re PR c++/32111 (ICE declaring destructor as friend)

2007-06-07: re PR c++/30759 (initializer-list accepted for object of non-POD type)

2007-05-25: re PR c++/31745 (ICE on invalid use of namespace)

2007-05-23: re PR preprocessor/20077 (GCC accepts macro definitions that fail a constraint)

2007-05-08: re PR tree-optimization/31847 (Printing to dump file broken)

2007-04-24: re PR middle-end/25923 ([gfortran] garbled diagnostics with -O -Wuninitialized)

2007-04-17: re PR c++/31517 (ICE on invalid initialization of static member of a template class)

2007-03-28: re PR c++/29077 (Incorrect error message for destructor in wrong namespace)

2007-03-04: re PR c++/30895 (ICE with complex values in template parameter)

2007-03-02: re PR c++/28253 (ICE with invalid covariant return)

2007-02-22: 3.cc: Fixed type mismatches in explicit instantiations.

2007-02-12: re PR c++/14622 (type mismatch in explicit template instantiation not detected)

2007-01-29: re PR c++/28266 (ICE on invalid default variable)

2007-01-23: re PR c++/27492 (ICE on invalid covariant return type)

2007-01-11: re PR c++/29573 (ICE after parse error in template argument)

2006-12-31: re PR c++/29731 (ICE with statement expression as template parameter)

2006-12-16: re PR c++/29475 (incomplete template diagnostics.)

2006-12-15: * MAINTAINERS (Write After Approval): Add myself.

2006-11-20: re PR c++/29475 (incomplete template diagnostics.)

2006-09-07: re PR c++/28284 (ICE with invalid static const variable)

2006-08-22: re PR c++/28420 (ICE with "typeid" as template parameter)

2006-08-10: re PR java/8923 (ICE when modifying a variable decleared "final static")

[active] aerc (website)

I discovered this awesome mail client (yaaay terminal!) in 2025 and have been using it since then. I stumbled across a bunch of "paper cuts" in the IMAP implementation, that I'm trying to fix one by one.

Details

27 contributions as of May 21, 2025

2025-05-13: ui: properly trim spaces from addresses

2025-05-20: dirlist: avoid unnecessary work upon next/prev-folder 0

2025-05-21: menu: do not show warning when no command is provided

2025-05-21: menu: small usability improvements

2025-05-21: ui: update tab title when replacing by with another

2025-05-13: app: robustify unread counter updates upon message deletion

2025-05-19: imap: properly clean-up resources upon user initiated disconnect

2025-05-07: imap: support various provider policies for expunge calls

2025-05-12: html: only pass supported w3m options

2025-04-02: imap: dedupe mailboxupdate messages generated by go-imap v1.2.1

2025-04-11: msg: fix issue with reply-to-self introduced by 063c19b6

2025-04-04: imap: properly handle out-of-band Unseen flag updates

2025-04-02: imap: partially revert two recent patches

2025-04-01: imap: revert "handle outdated sequence numbers ... move/delete"

2025-04-01: imap: only restrict list-status to a single directory when we can

2025-03-31: msgstore: properly rebuild message store upon reconnection

2025-03-24: watchers: fix checking error on darwin

2025-03-24: imap: properly update UI upon message (un)read in another client

2025-03-17: foldermap: map directory in Messages{Moved,Copied} and RemoveDirectory

2025-03-20: imap: handle outdated sequence numbers from server upon move/delete

2025-03-07: imap: properly set mailbox information in list-status calls

2025-03-16: app: update folder counters upon message deletion

2025-03-14: imap: honor reply-to-self when replying to all

2025-03-10: imap: remove spurious checkmail when changing directories

2025-03-10: app: add missing account name in trace log

2025-03-06: imap: fix processing of search criteria end date

2025-03-06: git: Update git ignore list for mac

[active] SourceHut (website)

I helped improve various packages of this awesome alternative to GitHub.

Details

5 contributions as of May 14, 2025

2025-05-04: listssrht: exclude unknown from list of target status

2025-04-15: listssrht: don't let the existence of random users poison from: searches

2025-04-14: patchset: exclude unknown from list of target status

2025-04-14: config: add missing private ip ranges

2025-04-10: Fix for two trivial issues

[inactive] cppcheck (website)

I find static code analysis tools super useful, and cppcheck had the advantage of being OK in terms of capabilities and open source (and contributing to it on weekends between family stuff was easier than doing, say, GCC work). I tried to help make it better between 2011 and 2021.

Details

193 contributions as of May 14, 2025

2021-01-23: Ticket #10028: Properly simplify auto variables' initialization. (#3079)

2020-06-07: Simplify empty anonymous namespaces. (#2673)

2020-01-25: Ticket #9569: Do not substitute type aliases within enum definitions. (#2504)

2020-01-25: Ticket #9572: Properly detect designated initializers. (#2496)

2020-01-19: Fix AppVeyor issue following reportVerification rename. (#2497)

2019-02-10: Ticket #8878: Properly simplify typedefs within template instantiations. (#1656)

2018-09-23: Ticket #8632: Parenthesize ternary operator operands containing < to avoid wrongly thinking a template instantiation is met. (#1389)

2018-09-22: Ticket #8734: Skip static member variables in CheckUninitVar. (#1388)

2018-09-05: Ticket #8654: Properly setup links for variadic template bases. (#1357)

2018-08-26: Ticket #8679: Add support for C++11 thread_local and GCC's (among others) __thread extension. (#1351)

2018-05-12: Ticket #8550: Properly simplify "typedef class A B;". (#1224)

2018-04-26: Ticket #8281, #8417: Properly detect the end of "switch" statements to accept all legitimate uses of "case". (#1112)

2018-04-21: Ticket #8436: Handle C++11 initializations within ternary operator. (#1174)

2018-04-15: Fix warning emitted by clang. (#1173)

2018-02-10: Ticket #8352: Properly detect AST cycles. (#1060)

2018-01-26: Ticket #8361: Fix false positive in Tokenizer::findGarbageCode. (#1061)

2018-01-20: Ticket #8337: Fix false positive in copy constructor detection. (#1040)

2018-01-18: Ticket #8333: Properly report a syntax error for functions with invalid parameter types. (#1030)

2017-12-02: Ticket #8175: Fix bug in TemplateSimplifier::instantiateMatch with template parameters involving sizeof or namespace.

2017-10-28: Ticket #8255: Don't crash upon invalid code while checking conditions.

2017-07-29: Ticket #8091: Don't replace std types within enum definitions. (#922)

2017-04-30: Remove bailout and fix varid for template class member initialized in out-of-line constructor (#8031)

2017-04-21: Ticket #7964: Don't crash on valid code using function pointers named strcpy or strcat in main().

2017-04-17: Ticket #4544: Also handle Foo constructs.

2017-04-09: Ticket #7942: Don't generate invalid syntax for out of line template class constructors during instantiation.

2017-03-19: Update TemplateSimplifier::getTemplateNamePosition to handle out-of-line template methods.

2017-03-05: Ticket #7912: Properly preprocess files with decreasing line numbers, due to #line directives.

2017-02-18: Ticket #7916: Don't incorrectly simplify return statements involving template instantiations.

2017-02-11: Ticket #7465: Added test case highlighting the issue has been fixed since it's been reported.

2017-02-11: Ticket #7914: Properly recognize template parameters that contains operators. (#870)

2017-02-05: Ticket #7891: Do not remove spaces in the internal representation for template instantiations.

2017-01-27: Ticket #7440: Function calls should not abort pointer alias analysis for local variables.

2017-01-14: Ticket #7820: Properly report leaks with conditional deallocations followed by a return.

2017-01-15: Teach CheckMemoryLeak about "alloc ; loop alloc ;" kinds of patterns. (#861)

2017-01-15: Ticket #7745: Simplify "alloc ; dealloc ;" blocks that we don't have any value for CheckMemoryLeak's analysis. (#860)

2017-01-08: Ticket #7548: Properly detect the end of template parameter default values during instantiation.

2017-01-06: Ticket #7850: Properly handle C functions called "class".

2016-12-29: Ticket #7685: Properly handle function calls as argument to a dealloc function. (#853)

2016-11-06: Ticket #7805: Ignore enumerators when simplifying known variables.

2016-10-01: Ticket #7557: Test case added since the fix for #7541 also fixed this.

2016-10-01: Ticket #7541: Properly keep track of namespace definition end markers when there are multiple of them.

2016-10-01: Ticket #7068: Treat "memset(&this->member, ..." as member initialization.

2016-09-10: Ticket #7680: Properly handle ::delete during memory leak checks.

2016-07-09: Silent clang -Wshadow warning. (#812)

2016-07-01: Ticket #7565: Handle numbers with several C++14 integer separators.

2016-06-04: Ticket #7117: Properly detect if a const ternary operator is in a template parameter list.

2016-06-04: Ticket #7137: Properly detect C++14 digit separators. (#802)

2016-05-28: Ticket #7445: Properly represent integer types smaller than int in CheckIO::ArgumentInfo.

2016-05-22: No need to use std::min() in normalizeCharacterLiteral.

2016-05-20: Address comments in PR#794 and alternative fix for ticket #7500.

2016-05-15: Ticket #7452: Properly interpret escape sequences in character literals.

2015-11-14: Restore build on OSX, where make defines CXX as "c++" by default.

2015-11-09: Silence clang warning (-Wparentheses mode).

2015-10-24: Ticket #6998: Properly handle "typedef unsigned T;" constructs.

2015-10-02: Ticket #7017: Properly interpret operator= return type for template classes in CheckClass::operatorEq.

2015-09-02: Fixed TODO-test for CheckCondition::checkBadBitmaskCheck by handling functions return bool.

2015-08-29: Ticket #6959: Properly handle arrays of pointers in CheckClass::constructors.

2015-08-28: Ticket #6957: Properly handle arrays of pointers in CheckClass::constructors.

2015-08-28: Ticket #6596: Address of local variables can also be assigned to pointer-pointer arguments using the ptr[] syntax.

2015-08-27: Ticket #6954: Properly handle pointers to arrays in CheckUnunsedVar.

2015-08-27: Ticket #6953: Fixed flawed logic in PR#650.

2015-08-25: Properly differentiate arrays of pointers and pointers to arrays.

2015-08-23: Fix CheckClass::checkMemset for arrays of pointers.

2015-08-21: Remove unnecessary TODO exception safety test case.

2015-08-02: Ticket #6793: Added basic unit test showing that basic integer shift length check is run even for templates.

2015-07-19: Ticket #6648: Properly handle variables that have been deallocated and whose address is taken after in CheckLeakAutoVar.

2015-07-19: Ticket #5776: Since the fix is in Tokenizer, it makes more sense to have a Tokenizer unit test.

2015-07-18: Added unit test involving function reference for TemplateSimplifier::templateParameters.

2015-07-17: Ticket #5776: Simplify (&a)->b into a.b

2015-07-17: Ticket #6835: Don't get confused by parentheses while detecting template parameter default values.

2015-07-15: Ticket #6810: Avoid infinite loop upon invalid typed enum declaration.

2015-07-06: Simplify the code handling C++0x typed enumerations.

2015-06-20: Fixed #6506 (Properly detect calls to the deallocating free() function)

2015-06-19: Ticket #6536: Properly handle variables whose name is that of an allocation function.

2015-06-05: Ticket #6463 (dupe of #6680): Added test case.

2015-06-05: Ticket #6665 (dupe of #6588): Added test case.

2015-05-31: Ticket #6588: Properly detect whether the condition in a ternary operator is constant on C input.

2015-05-30: Simplify known variableswhen they are at the end of a statement.

2015-05-30: Ticket #6588: Added test cases since the initial issue is fixed by some past commit.

2015-05-30: Removed useless space in the declaration for Tokenizer::Simplifyfunctionpointers.

2015-05-30: Ticket #6713: Properly detect ternary operator in valueFlowForward.

2015-05-26: Ticket #6708: Check that a function name is not a reserved keyword in SymbolDatabase::isFunction instead of later.

2015-05-25: Added unit tests for TemplateSimplifier::templateParameters involving variadic templates.

2015-05-23: Removed unnecessary string comparison in Tokenizer::simplifyKnownVariablesSimplify.

2015-05-24: Ticket #6704: Tighten pattern skipping base class declarations and fix crash upon garbage code.

2015-05-23: Ticket #6703: Rewrite pattern in SymbolDatabase to avoid crash upon garbage code.

2015-05-23: Ticket #5760: Added test case since the issue has been fixed with PR#596.

2015-05-22: Ticket #6620, #6685: Reserved keywords cannot be function names.

2015-05-10: Ticket #6680: Members can be initialized by operator>>.

2015-05-10: Ticket #6666: Don't crash upon garbage code in CheckLeakAutoVar::checkScope.

2015-05-10: Ticket #6675: Fixed pattern detecting C++ 11 delegated constructors.

2015-04-12: Restore build with libc++ and revert PR#228 and PR#562.

2015-04-05: Show template instantiation and not definition location in template instantiation debug message.

2015-03-21: Ticket #6587: Never consider a template parameter's default value as an instantiation.

2015-03-19: Restore build on Mac OS X on which we're force to use GNU's STL, that does not have cend()...

2015-03-15: Ticket #4335: Properly detect and handle template class specializations.

2015-03-14: Code simplification now that ">>" is turned into "> >" when it closes template argument lists.

2015-03-14: Ticket #6347: Fix use after delete when simplifying template instantiations.

2015-03-14: Synchronize source file list and enable C++11 build in XCode project.

2015-03-07: Ticket #6567: Handle member functions in TemplateSimplifier::getTemplateNamePosition.

2015-03-07: Ticket #6181: Normalize '>>' into '> >' when it's closing a C++11 template parameter list.

2015-02-14: Revert fix for #6181, that caused #6354 and #6414.

2014-12-14: Ticket #6181: Properly handle >> terminating template parameter lists.

2014-12-14: Ticket #6172: Properly grok %type%... template parameters.

2014-11-15: Restore build on Mac OSX >= 10.7 since the inclusion of ucontext.h

2014-11-07: Ticket #6059: Properly handle class... in parameter lists.

2014-10-22: Ticket #6187: Avoid infinite loop if eraseDeadCode does not remove anything (this time without memory corruption).

2014-10-11: Tokenizer::simplifyConstTernaryOp: Properly detect the end of the 'false' part of ternary operators when it contains '>'.

2014-10-04: Ticket #5625: Simplify constant ternary operator in template parameters.

2014-09-28: Ticket #6187: Avoid infinite loop if eraseDeadCode does not remove anything (invalid goto into a dead loop's body).

2014-09-20: Make TestSymbolDatabase::hasClassFunction's code snippet valid.

2014-09-14: Refactoring. Use Token::Match instead of hardcoded patterns to increase readability.

2014-09-13: Ticket #6121: Report a syntax error for invalid enum initializers.

2014-09-13: Ticket #6134: Improve the mechanism differentiating template declarations from template definitions.

2014-09-12: Ticket #6164: Added test case that now works (failed in 1.66).

2014-09-06: Ticket #6023: Properly handle template'd default template parameter values.

2014-09-05: Ticket #6103: Simplify "new (type)" constructs into "new type" to avoid confusion upon certain input.

2014-06-28: Ticket #5952: Simplify redundant parentheses in pointer variable declarations.

2014-06-15: Ticket #5268: Properly detect function heads when in Tokenizer::simplifyEnum.

2014-06-14: Ticket #5868: Ignore variables called like a typedef when substituing typedefs.

2014-06-08: Ticket #5907: Properly handle extern declarations in Tokenizer::simplifyVarDecl.

2014-05-29: Only fill total_size in CheckBufferOverrun::checkFunctionParameter when it's useful.

2014-05-29: Ticket #5615: Avoid calling the same function n times when once is enough.

2014-05-27: Factorize type name equality checks in CheckIO.

2014-05-27: Added a test for out-of-bounds character array access.

2014-05-25: Remove unnecessary declaration (one line before the actual definition...

2014-05-23: Ticket #5823: Properly count template parameters in TemplateSimplifier::useDefaultArgumentValues and handle casts in template parameters' default values.

2014-05-23: Ticket #5816: Properly handle template'd template parameters in enum initializers.

2014-05-16: Ticket #5816: Skip typename in template arguments for enum initializers.

2014-05-15: Ticket #5814: Handle A::B as template parameter for enum initializers.

2014-05-14: Ticket #5786: Properly handle cv-qualified member pointers as template parameter.

2014-05-10: Ticket #5297: simplifyCalculations should pass once more on tokens being simplified.

2014-05-09: Ticket #5774: Properly handle "typename..." in template parameter list.

2014-05-08: Ticket #5315: Memory leak analysis confused by ((variable).attribute) notation.

2014-05-08: Silence clang -Wsign-conversion warning with Token::setFlag.

2014-05-08: Ticket #5605: Don't consider '>' as a default template parameter value. Don't choke on template parameters with erroneous default values. Ticket #5759: Properly handle pointers to class members in template parameter lists. Ticket #5762: Handle template specialization tokens.

2014-05-04: Reinstate error message.

2014-05-03: Ticket #5709: Comma operator not properly tokenized.

2014-05-03: Ticket #5605: Don't consider '>' as a default template parameter value. Don't choke on template parameters with erroneous default values.

2014-03-08: Ticket #5373: Keep track whether tokens come from a C or C++ file to properly handle %type% in Token::Match with "delete"

2014-03-02: Ticket #5425: Avoid infinite recursion in checkMemsetType for invalid input

2014-03-02: Ticket #5356: Added test case that works following the fix for #5506.

2014-03-01: Ticket #5478: Only functions and equal operators might return a temporary.

2014-03-01: Ticket #5506: Skip template parameters when determining whether a template is a declaration or a definition.

2014-03-01: Ticket #5050: Added test case since it works now.

2014-02-01: OSX's compiler supports C++11 but one needs to use GNU's STL to build cppcheck, that does not have cbegin/end.

2014-01-10: Register valueflow.{h,cpp} to XCode projects.

2014-01-04: Ticket #5266: Properly tokenize "complex" static variable declarations.

2014-01-03: Ticket #5201: Get rid of internal error when checking valid C input for memory leaks.

2014-01-03: Set CFGDIR when building via XCode to be able to run the generated binary.

2013-12-21: Ticket #5214: Don't read out of bounds upon invalid ternary operator.

2013-11-30: Ticket #5203: Don't crash when checking buffer overrun for invalid code.

2013-11-23: Ticket #5168: Don't crash when simplifying bit-fields for invalid code.

2013-11-06: Ticket #5073: Don't crash upon invalid do-while loop.

2013-11-02: Build with GNU's STL on OS X Mavericks to workaround clang's bug #17782

2013-11-02: Add a target for 'testrunner' to the XCode project

2013-11-01: Ticket #5139: Properly simplify recursive macro definitions

2013-10-30: Ticket #5121: Handle comma separated static variable declarations depending on one another

2013-10-30: Ticket #5120: New test case, that works now that #5125 is fixed

2013-10-29: Ticket #5125: Avoid infinite recursion for recursive class definitions

2013-09-28: Ticket #5024: Don't crash upon invalid code when checking auto variables.

2013-09-21: Remove warnings emitted by clang's -Wsign-conversion

2013-08-31: Ticket #4994: Don't crash when checking variable scope for invalid input.

2013-08-24: Ticket #4450: Handle comma separated static variable declarations with initializers in brackets.

2013-08-16: Ticket #4959: Simplify {in,de}crements of known variables.

2013-08-14: Fixed #4708: prefix {in,de}crement too eagerly computed.

2013-08-10: Ticket #4703: Trim macro parameters.

2013-08-10: Update lib file list. Move testcases out of the main build.

2013-08-09: Ticket #4764: properly handle template instantiations with only default parameters.

2013-08-04: Fix ticket #4922 (segmentation fault upon invalid code).

2013-08-02: Added test cases to XCode project.

2013-07-28: Ensure wrongPrintfScanfParameterPositionError is shown by 'cppcheck --errorlist'.

2013-07-28: Handle parameter positions format strings (POSIX extensions).

2013-07-28: Avoid divisions by zero when simplifying numeric calculations.

2013-07-28: Take into account break and continue statements in CheckLeakAutoVar.

2013-07-07: Add environment.h,cpp to XCode project and restore build from XCode.

2013-07-06: Added testcase for (now working) ticket #4742.

2013-06-29: Updated file list in XCode project.

2013-06-29: Improved handling of syntax errors in Tokenizer::simplifyAddBracesPair.

2013-06-25: Fixed #4873 (Preprocessor: Cppcheck is unable to scan a file with a single quote in a comment inside assembler section)

2012-06-16: Get rid of a warning

2012-05-26: Get rid of a warning

2012-04-07: Avoid clang warning.

2012-03-09: Fixed shadowing warning

2011-09-18: Ticket 3059: Report the correct line number in unused functions warnings

2011-09-17: Take into account kimmov's review comments

2011-09-17: Make the build warning clean with clang++

2011-08-06: Fixed #2870 (Tokenizer: simplify '0 |')

2011-07-30: Fixed #2951 (Small code factorization in checkmemoryleak.cpp)

2011-07-24: Fix GCC warning about float comparison. Ticket: #2936

2011-07-24: Added testcases for #2933 (Postfix operator check fails to warn for structs)

2011-07-24: Fixed #2932 (segmentation fault of cppcheck ( i / i ))

2011-07-24: Preprocessor: Fix #if0 #elif todo test case. Ticket: #2619

[inactive] servo (website)

I contributed to this project mostly because I wanted to do a bit of Rust with a very limited time, and was interested in the mission (and also curious about how browsers are built). I contributed a few patches between 2015 and 2018.

Details

20 contributions as of May 14, 2025

2018-04-27: Issue #20593: Implement proper checks in WebGLRenderingContext's getFramebufferAttachmentParameter().

2018-04-21: Issue #20556: Implement proper checks in WebGLRenderingContext's bindBuffer().

2018-04-21: Issue #20623: Check the input to WebGLRenderingContext's clear().

2017-01-28: Issue #15017: Properly handle and report network errors on page loads.

2016-07-23: Issue #12421: tidy should also check .html files

2016-07-23: Issue #12564: Fix "./mach test-tidy --self-test".

2016-07-09: Issue #12071: Don't submit forms when typing Tab on an input.

2016-06-18: Issue #11388: --debug and --browserhtml are not exclusive in 'mach run'.

2016-01-02: Issue #9095: Send a notification when a file load is cancelled.

2015-12-09: Issue #8738: bufferSubData and texImage2D argument sanity checks.

2015-12-24: Issue #6601: Added testcase to ensure we don't regress.

2015-12-22: Issue #9042: Report incorrect number of spaces around => in the style checker.

2015-12-05: Issue #8352: Dispatch mozbrowsershowmodalprompt event for alert().

2015-12-04: Issue #6791: Allow more array types in bufferData and bufferSubData.

2015-11-02: Issue #8113: Support file, about and data schemes as form action.

2015-11-14: Issue #8462: Add support for BufferSubData, CompressedTexImage2D and CompressedSubTexImage2D and re-enable individual webgl WPT tests.

2015-11-11: Issue #8413: Enable webgl tests in web-platform-test.

2015-11-08: Avoid UnboundLocalError upon "bogus" usage of ./mach create-wpt

2015-10-10: Issue #7905: Restore "headless" build on not Linux platforms.

2015-08-30: Issue #7393: Properly sniff mislabeled feeds.

[inactive] rustc (website)

Out of my interest for Rust and my frustration of not having time to work on GCC, I contributed 3 trivial patches between 2016 and 2018.

Details

4 contributions as of May 14, 2025

2018-05-27: Address comments in pull request #51084.

2018-05-26: Issue #51022: Improve E0131 message when lifetimes are involved.

2018-05-20: Issue #50636: Improve error diagnostic with missing commas after struct fields.

2015-12-31: Issue #30592: Restore build in --disable-jemalloc mode.

[inactive] KDE

I contributed as simartin 20 years ago, and did not find any easy way to find all I did in a single place...