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 between 2006-08-10 and 2025-05-14

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: cobol: Remove unnecesssary CPPFLAGS update and restore MacOS build

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

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

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

2025-03-06: Fix comment typos

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++: Properly detect calls to digest_init in build_vec_init [PR114619]

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

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

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

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: testsuite: Fix test failing with -fimplicit-constexpr [PR118277]

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

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

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

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-18: c++: Don't ICE due to artificial constructor parameters [PR116722]

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

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: lto: Fix build on MacOS

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-04: c++: Add testcase for PR103338

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

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: Fix PR c++/111106: missing ; causes internal compiler error

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

38 contributions between 2025-03-06 and 2025-06-25

2025-06-25: imap: always use negotiated x-gm-ext-1 value

2025-06-19: grid: fix possible crash on startup due to unsynchronized access

2025-06-17: imap: workaround list-status issue with zoho

2025-06-12: imap: workaround o365 bug upon new email

2025-06-12: imap: fix comment typo

2025-06-10: imap: improve seen count management

2025-06-10: imap: do not ignore delete notifications linked to move actions

2025-06-08: imap: use sequence to handle deletions not found in expungehandler

2025-06-04: ui: allow message split viewer to automatically mark messages as read

2025-06-01: app: fix crash updating split view

2025-05-26: config: allow controlling whether :delete is allowed from any folder

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

2025-05-21: menu: small usability improvements

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

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

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

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

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

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

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

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-02: imap: dedupe mailboxupdate messages generated by go-imap v1.2.1

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-20: imap: handle outdated sequence numbers from server upon move/delete

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

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-07: imap: properly set mailbox information in list-status calls

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

10 contributions between 2025-04-10 and 2025-06-18

2025-06-18: api,listssrht: allow patch submitters to update their own patches

2025-05-28: archive: keep track of last successful message archival in a list

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-06-03: hut: remove invalid sections from configuration file

2025-04-13: config: setup lists.sr.ht

2025-04-12: config: set global internal-ipnet

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 between 2011-07-24 and 2021-01-23

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

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

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

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

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 #7914: Properly recognize template parameters that contains operators. (#870)

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

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-15: Ticket #7745: Simplify "alloc ; dealloc ;" blocks that we don't have any value for CheckMemoryLeak's analysis. (#860)

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

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

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 #7137: Properly detect C++14 digit separators. (#802)

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

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 #6835: Don't get confused by parentheses while detecting template parameter default values.

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

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 #6665 (dupe of #6588): Added test case.

2015-06-05: Ticket #6463 (dupe of #6680): 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: Ticket #6713: Properly detect ternary operator in valueFlowForward.

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

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

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

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-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-23: Removed unnecessary string comparison in Tokenizer::simplifyKnownVariablesSimplify.

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 #6675: Fixed pattern detecting C++ 11 delegated constructors.

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

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: 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-14: Code simplification now that ">>" is turned into "> >" when it closes template argument lists.

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 #6134: Improve the mechanism differentiating template declarations from template definitions.

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

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: Ticket #5615: Avoid calling the same function n times when once is enough.

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

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 #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-08: Ticket #5315: Memory leak analysis confused by ((variable).attribute) notation.

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

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 #5506: Skip template parameters when determining whether a template is a declaration or a definition.

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

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: Update lib file list. Move testcases out of the main build.

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

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: Take into account break and continue statements in CheckLeakAutoVar.

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

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

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

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: Preprocessor: Fix #if0 #elif todo test case. Ticket: #2619

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

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)

[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 between 2015-08-30 and 2018-04-27

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

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

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

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

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

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

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-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-09: Issue #8738: bufferSubData and texImage2D argument sanity checks.

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-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-11-02: Issue #8113: Support file, about and data schemes as form action.

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 between 2015-12-31 and 2018-05-27

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, in particular to the Kile LaTeX IDE. I think that I sent a few patches to other packages, but I am too lazy to go dig them out :-)

Details

15 contributions between 2004-05-25 and 2005-01-16

2005-01-16: Removed two possible leaks. Small #include clean up: use forward declarations when they are enough.

2004-10-10: Removed explicit deletes on instances that are automatically deleted when their parent is.

2004-10-05: Fixed bug introduced by previous commit.

2004-10-04: Fixed some memory leaks.

2004-09-26: Added a forgotten i18n(...). Fixed memory errors (one leak and two missing initializations) found by Valgrind.

2004-08-26: Fixed a bug that lead to the creation of a ".tex" file when clicking on a line in the log view that is not associated to any error (for instance "[PDFLaTeX] finished with exit status 1").

2004-08-26: Better consistency of the tooltips of the LaTeX command buttons.

2004-08-20: Fixed a bug in the "New project assistant", that lead to the creation of a ".tex" named file instead of what the user had typed. Added the ability for the user to customize the directory that is proposed by default by the "New project assistant" to hold the newly created project.

2004-08-14: Fixed small misunderstanding about the behavior of the filename checker: if the user clicks on Cancel, then he wants the file to be saved as is, even though its name is not LaTeX compliant.

2004-07-07: When creating or saving a file for the first time: - If one gives a filename without extension, the .tex one can be automatically added (the user is asked, and his answer can be remembered forever if he wants). - If one gives a filename with invalid characters such as $, #, ~, space... the system asks for a valid name.

2004-07-04: Fixed layout problems in the configuration dialog.

2004-07-04: Fixed accelerator clash.

2004-07-04: Added two entries in the editor's contextual menu : - "Convert selection to LaTeX", which takes the selection and converts it into "LaTeX format" (ie. replaces % by %, _ by _, etc.). - "Paste as LaTeX", which obviously does the equivalent operation, but with the clipboard's contents.

2004-06-04: The selected view in the left pane ("Open File", "Files & Projects", "Structure"...) is now saved in the resource file. As a result, the selection is restored on startup.

2004-05-25: Removed obsolete files (latexconfig.{h,cpp} and helpconfig.{h, cpp}). Converted more configuration keys to the KConfigXT framework (all remaining ones should be "unconvertible" for the moment). Renamed some keys to prevent too much confusion in the KileConfig generated class.