cppcheck/lib
Jay Sigbrandt f7eeb82ca4 Fix SEGV on Solaris x86
On Solaris x86, with both GCC 4.8 and 4.9, running cppcheck causes a segmentation fault when process terminates.

The backtrace (dbx) where
=>[1] _ZNSt14_List_iteratorIP5CheckEppEv(0x804798c, 0x8047994, 0xc0d61d6, 0x291a), at 0x8291b7c
  [2] std::list<Check*, std::allocator, <Check*>void>::remove(0x84ab328, 0x80479c8, 0x80479d4, 0x82d96fc), at 0x82da984
  [3] Check::~Check(0x84a9fc4, 0x83d232c, 0xfef411fb, 0x83d135c), at 0x82d9709
  [4] CheckExceptionSafety::~CheckExceptionSafety(0x84a9fc4, 0xfee82a40, 0xfee82a40, 0xfedcf000), at 0x8311e7d
  [5] __static_initialization_and_destruction_0(0x0, 0xffff, 0xfedd4c80, 0xfedcf000), at 0x81b01f8
  [6] _GLOBAL__sub_D__ZN20CheckExceptionSafety11destructorsEv(0x83d135c, 0xfedd4f18, 0x8047a50, 0x828a5f5, 0xfedcf000, 0x8047a68), at 0x81b023c
  [7] __do_global_dtors_aux(0xfedcf000, 0x8047a68, 0xfece28cd, 0x8047b08, 0x8047a48, 0xfedcf000), at 0x8185b90
  [8] _fini(0x8047b08, 0x8047a48, 0xfedcf000, 0xfedd4f00, 0x8047a80, 0xfecd4e72), at 0x828a5f5
  [9] _exithandle(0xfeffb7d8, 0x8185a1a, 0x0, 0x0, 0x0, 0x0), at 0xfece28cd
  [10] exit(0x1, 0x8047b70, 0x0, 0x8047ba3, 0x8047bba, 0x8047ce6), at 0xfecd4e72

The destructor order is somehow getting messed up on this platform.

This fix moves the code away from header file and ensures _instances remains valid during termination.
2014-11-25 14:03:46 +01:00
..
check.cpp Fix SEGV on Solaris x86 2014-11-25 14:03:46 +01:00
check.h Fix SEGV on Solaris x86 2014-11-25 14:03:46 +01:00
check64bit.cpp Added support for member variables in Check64BitPortability::pointerassignment() 2014-10-02 20:38:54 +02:00
check64bit.h astyle formatting 2014-11-20 14:20:09 +01:00
checkassert.cpp Refactorized CheckAssert::assertWithSideEffects(): 2014-08-06 10:15:48 +02:00
checkassert.h astyle formatting 2014-11-20 14:20:09 +01:00
checkautovariables.cpp Fixed #4776 (FP: Assignment of function parameter has no effect outside the function, with goto) 2014-10-21 16:21:33 +02:00
checkautovariables.h astyle formatting 2014-11-20 14:20:09 +01:00
checkbool.cpp Simplified code 2014-09-11 20:27:01 +02:00
checkbool.h astyle formatting 2014-11-20 14:20:09 +01:00
checkboost.cpp Fixed false positive #4788 (break; in BOOST_FOREACH) 2014-08-31 20:40:52 +02:00
checkboost.h astyle formatting 2014-11-20 14:20:09 +01:00
checkbufferoverrun.cpp Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
checkbufferoverrun.h Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
checkclass.cpp Fixed #6279 (False Positive: Member variable 'Fred::i' is not initialized in the constructor) 2014-11-20 06:18:29 +01:00
checkclass.h astyle formatting 2014-11-20 14:20:09 +01:00
checkcondition.cpp Move cheap checks earlier to avoid more expensive ones 2014-09-01 12:52:27 +04:00
checkcondition.h astyle formatting 2014-11-20 14:20:09 +01:00
checkexceptionsafety.cpp Simplified code 2014-09-11 20:27:01 +02:00
checkexceptionsafety.h astyle formatting 2014-11-20 14:20:09 +01:00
checkinternal.cpp Added internal check for || and | inside Token::Match patterns. 2014-07-02 15:51:18 +02:00
checkinternal.h astyle formatting 2014-11-20 14:20:09 +01:00
checkio.cpp astyle formatting 2014-11-20 14:20:09 +01:00
checkio.h astyle formatting 2014-11-20 14:20:09 +01:00
checkleakautovar.cpp leakautovar: handling of unknown/non-pod types in c++ 2014-10-14 16:40:30 +02:00
checkleakautovar.h astyle formatting 2014-11-20 14:20:09 +01:00
checkmemoryleak.cpp Fixed #6238 (false positive with double fopen) 2014-11-20 22:19:39 +01:00
checkmemoryleak.h astyle formatting 2014-11-20 14:20:09 +01:00
checknonreentrantfunctions.cpp Refactorization: Avoid iterations over whole token list, limited several checks to function scopes. 2014-10-31 11:42:54 +01:00
checknonreentrantfunctions.h astyle formatting 2014-11-20 14:20:09 +01:00
checknullpointer.cpp Added missing relational operators to pattern, as suggested in #6189 2014-10-16 20:37:21 +02:00
checknullpointer.h astyle formatting 2014-11-20 14:20:09 +01:00
checkobsolescentfunctions.cpp Restored files removed in 1cc872f5b2 2014-09-23 21:02:46 +02:00
checkobsolescentfunctions.h astyle formatting 2014-11-20 14:20:09 +01:00
checkother.cpp Fixed #6260 - C++11 style array initialization 2014-11-18 19:50:09 +01:00
checkother.h astyle formatting 2014-11-20 14:20:09 +01:00
checkpostfixoperator.cpp Refactorization: Use AST in CheckOther::checkRedundantCopy(), CheckOther::clarifyStatement() and CheckPostfixOperator::postfixOperator(). 2014-05-18 13:00:58 +02:00
checkpostfixoperator.h astyle formatting 2014-11-20 14:20:09 +01:00
checksizeof.cpp #6050 arithmetic on void** - fix false positive 2014-08-17 19:14:55 +02:00
checksizeof.h astyle formatting 2014-11-20 14:20:09 +01:00
checkstl.cpp Remove redundant variable and manipulation thereof 2014-11-22 12:17:49 +01:00
checkstl.h astyle formatting 2014-11-20 14:20:09 +01:00
checkstring.cpp Refactorization: Avoid iterations over whole token list, limited several checks to function scopes. 2014-10-31 11:42:54 +01:00
checkstring.h astyle formatting 2014-11-20 14:20:09 +01:00
checktype.cpp Fixed #6234 (FP : shift by too many bits is undefined on a QT container) 2014-10-23 06:52:19 +02:00
checktype.h astyle formatting 2014-11-20 14:20:09 +01:00
checkuninitvar.cpp Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
checkuninitvar.h Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
checkunusedfunctions.cpp Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
checkunusedfunctions.h Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
checkunusedvar.cpp Fix some (clang) compiler warnings 2014-11-20 20:49:05 +01:00
checkunusedvar.h astyle formatting 2014-11-20 14:20:09 +01:00
checkvaarg.cpp CheckVaarg::va_list_usage(): Bailout when try{} block is encountered (#6186) 2014-09-27 11:03:58 +02:00
checkvaarg.h astyle formatting 2014-11-20 14:20:09 +01:00
config.h Refactorizations optimizing std::string usage: 2014-06-26 11:51:02 +02:00
cppcheck.cpp Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
cppcheck.h Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
cppcheck.vcxproj Change "obsolete" in all filenames into "obsolescent", and also update all references to such files. 2014-09-23 16:18:04 +02:00
cppcheck.vcxproj.filters Change "obsolete" in all filenames into "obsolescent", and also update all references to such files. 2014-09-23 16:18:04 +02:00
cxx11emu.h astyle formatting 2014-11-20 14:20:09 +01:00
errorlogger.cpp Fixed assertion failure in VS debug mode 2014-04-30 21:06:01 +02:00
errorlogger.h astyle formatting 2014-11-20 14:20:09 +01:00
executionpath.cpp Improved fix for Cppcheck warning. Remove useless conditions instead of adding a new one. 2014-09-07 09:56:07 +02:00
executionpath.h Fix some (clang) compiler warnings 2014-11-20 20:49:05 +01:00
lib.pri Revert "run dmake" 2014-09-23 21:04:31 +02:00
library.cpp Fixed #6215 (Move Windows platform types into library) 2014-10-19 07:34:40 +02:00
library.h astyle formatting 2014-11-20 14:20:09 +01:00
mathlib.cpp Fix some (clang) compiler warnings 2014-11-20 20:49:05 +01:00
mathlib.h astyle formatting 2014-11-20 14:20:09 +01:00
path.cpp Refactorization: avoid string copying in Path::getPathFromFilename() 2014-10-30 23:48:23 +01:00
path.h astyle formatting 2014-11-20 14:20:09 +01:00
pcrerules.pri
preprocessor.cpp astyle formatting 2014-11-20 14:20:09 +01:00
preprocessor.h astyle formatting 2014-11-20 14:20:09 +01:00
settings.cpp Fixed #5982 (Add xml dump) 2014-07-14 15:51:45 +02:00
settings.h astyle formatting 2014-11-20 14:20:09 +01:00
standards.h man, htdocs, gui, test, tools: bump a few more copyrights to 2014 2014-03-03 11:03:17 +01:00
suppressions.cpp Fixed reporting of unmatched suppressions for unusedFunction (#4946) 2014-09-01 10:13:03 +02:00
suppressions.h astyle formatting 2014-11-20 14:20:09 +01:00
symboldatabase.cpp Fixed #6279 (False Positive: Member variable 'Fred::i' is not initialized in the constructor) 2014-11-20 06:18:29 +01:00
symboldatabase.h astyle formatting 2014-11-20 14:20:09 +01:00
templatesimplifier.cpp Ticket #6059: Properly handle class... in parameter lists. 2014-11-07 23:08:54 +01:00
templatesimplifier.h Fixed #4272 and #6237 (Crash from running out of memory with many templates) 2014-11-01 22:07:24 +01:00
timer.cpp Refactorization in timer.cpp (#5902), Removed misleading comment in symboldatabase 2014-06-05 17:39:14 +02:00
timer.h astyle formatting 2014-11-20 14:20:09 +01:00
token.cpp Fixed #5836: Make showing $ in stringified tokens optional 2014-09-29 14:50:00 +02:00
token.h astyle formatting 2014-11-20 14:20:09 +01:00
tokenize.cpp astyle formatting 2014-11-20 14:20:09 +01:00
tokenize.h astyle formatting 2014-11-20 14:20:09 +01:00
tokenlist.cpp Make single-argument constructors explicit 2014-11-13 21:39:14 +01:00
tokenlist.h astyle formatting 2014-11-20 14:20:09 +01:00
valueflow.cpp Fixed #6002 (Defect: False positive due to pointer address not being associated with variable in for loop) 2014-10-20 15:54:02 +02:00
valueflow.h ValueFlow: start adding valueflow handling of strings and pointer aliases 2014-08-03 20:11:22 +02:00
version.h Increase CPPCHECK_DEVMINOR to 68 2014-11-13 21:36:57 +01:00
version.rc