Daniel Marjamäki
|
85daa26fdf
|
Refactoring: Use symbol database to get variable type
|
2011-03-13 08:48:38 +01:00 |
Daniel Marjamäki
|
ed11a9e3cb
|
Fixed #2639 (False positive: confusion between struct and function)
|
2011-03-13 08:38:40 +01:00 |
Robert Reif
|
27f4b8b88b
|
Convert CheckClass::noMemset to use the symbol database to lookup types. This adds better support for namespaces and nested classes.
|
2011-03-12 22:41:21 -05:00 |
Robert Reif
|
51662eeedd
|
save start parentheses of global functions
|
2011-03-12 20:35:52 -05:00 |
Daniel Marjamäki
|
f3728c0b76
|
Fixed #2647 (False positive: Possible null pointer dereference (member function call))
|
2011-03-12 20:57:19 +01:00 |
Daniel Marjamäki
|
6bd56dbe20
|
Fixed #2643 (False positive: iterator increment and insert)
|
2011-03-12 20:29:54 +01:00 |
Robert Reif
|
6a2848e50f
|
fix another false negative introduced by fix for #2641
|
2011-03-12 12:27:19 -05:00 |
Robert Reif
|
384bd96766
|
fix false negative introduced by fix for #2641
|
2011-03-12 11:42:58 -05:00 |
Daniel Marjamäki
|
0a28b7309f
|
Fixed #2641 (False positive: Possible null pointer dereference (global pointer, function call))
|
2011-03-12 15:02:06 +01:00 |
Daniel Marjamäki
|
29ab409af5
|
Merge branch '2390b' of https://github.com/elfring/cppcheck into elfring-2390b
|
2011-03-12 11:58:24 +01:00 |
Greg Hewgill
|
2716b856f4
|
throwing an exception is a valid immediate exit from switch
|
2011-03-12 07:27:31 +13:00 |
Robert Reif
|
79f0fe7d1c
|
refactor symbol database and checks to use list of Scope rather than list of Scope pointers
|
2011-03-10 19:43:29 -05:00 |
Greg Hewgill
|
256e7dee21
|
Allow suppressing all warnings (using *) for specified file or files
|
2011-03-10 22:00:48 +13:00 |
Greg Hewgill
|
1ec6a642dc
|
Revert "Check for memset on nested structs (ticket #1288)"
Turns out this fix is incomplete.
This reverts commit a084697410 .
|
2011-03-10 20:19:31 +13:00 |
Daniel Marjamäki
|
e94ebd829d
|
suspicious condition: commented out the check temporarily - there are some false positives I'll need to fix
|
2011-03-09 22:29:50 +01:00 |
Daniel Marjamäki
|
db48158b28
|
Suspicious condition: Added new check for conditions that contains assignment+comparison
|
2011-03-09 22:20:14 +01:00 |
Daniel Marjamäki
|
5a0ec56fc2
|
Fixed #2632 (segmentation fault of cppcheck ( void>(); void>() ))
|
2011-03-09 21:25:44 +01:00 |
Daniel Marjamäki
|
bea3875386
|
Fixed #2607 (segmentation fault of cppcheck ( struct C {} {} x))
|
2011-03-09 21:00:28 +01:00 |
Daniel Marjamäki
|
be33f6b945
|
Fixed #2635 (False positive: resource leak)
|
2011-03-09 19:53:59 +01:00 |
Greg Hewgill
|
a084697410
|
Check for memset on nested structs (ticket #1288)
|
2011-03-09 23:02:49 +13:00 |
Greg Hewgill
|
3883afcbf4
|
Check for memset on objects with virtual functions (ticket #607)
|
2011-03-09 22:10:39 +13:00 |
Greg Hewgill
|
70b4076111
|
refactor noMemset so it recursively checks parent classes for non-memset-compatible things
|
2011-03-09 21:29:30 +13:00 |
Robert Reif
|
7a7257f200
|
fix #2630 (segmentation fault of cppcheck ( typedef ... )
|
2011-03-08 20:24:57 -05:00 |
Robert Reif
|
c457179ce6
|
fix null pointer dereference found by clang++ --analyze
|
2011-03-08 20:14:46 -05:00 |
Daniel Marjamäki
|
0b8581e717
|
Fixed #2620 (Tokenizer::setVarId : wrong handling of member function parameters)
|
2011-03-08 20:41:41 +01:00 |
Daniel Marjamäki
|
bf2362d558
|
Fixed #2634 (False positive: buffer access out of bounds)
|
2011-03-08 19:49:56 +01:00 |
Robert Reif
|
d74ae3b0f0
|
copy all flag fields in a Token
|
2011-03-07 20:04:25 -05:00 |
Robert Reif
|
e305a155af
|
convert CheckStl::size() to use symbol database, fix false positives, and remove inconclusive
|
2011-03-07 19:49:43 -05:00 |
Daniel Marjamäki
|
a177fc4b24
|
Preprocessor: made sure string::iterator is valid after string::erase
|
2011-03-07 22:00:30 +01:00 |
Daniel Marjamäki
|
06abaf95a5
|
Incorrect string compare: reduce noise when using strncmp on string literal
|
2011-03-07 21:37:13 +01:00 |
Daniel Marjamäki
|
7496cd412c
|
Fixed #2631 (Tokenizer::simplifyTemplates: template usage 'std::cout << (foo<double>(r));')
|
2011-03-07 21:21:06 +01:00 |
Daniel Marjamäki
|
8e571c04e4
|
Fixed #2633 (False positive: Memory leak for tree node)
|
2011-03-07 20:17:52 +01:00 |
Robert Reif
|
d678e4424c
|
fix #2630 (segmentation fault of cppcheck ( typedef y x () x ))
|
2011-03-06 18:59:56 -05:00 |
Daniel Marjamäki
|
a77993db75
|
Refactoring of the CheckNullPointer::isPointer. Use the symbol database. Ticket: #2629
|
2011-03-06 21:23:33 +01:00 |
Daniel Marjamäki
|
e26a7819d3
|
Symbol database: variable fix. ticket: #2629
|
2011-03-06 21:21:42 +01:00 |
Daniel Marjamäki
|
80235b0d53
|
astyle formatting
|
2011-03-06 21:15:58 +01:00 |
Daniel Marjamäki
|
f53ff27b71
|
Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631
|
2011-03-06 21:15:42 +01:00 |
Daniel Marjamäki
|
6648267ab8
|
Revert "Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631"
This reverts commit de31ec1e44 .
|
2011-03-06 21:07:06 +01:00 |
Greg Hewgill
|
7daa6b9370
|
Always pass unsigned char to ::isspace to prevent runtime error in MSVC
|
2011-03-07 07:58:44 +13:00 |
Daniel Marjamäki
|
de31ec1e44
|
Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631
|
2011-03-06 10:28:51 -08:00 |
Daniel Marjamäki
|
10db7c4a48
|
error logger: explain the severities better
|
2011-03-06 14:26:02 +01:00 |
Kimmo Varis
|
080603148c
|
Document error message severities.
|
2011-03-06 14:29:52 +02:00 |
Daniel Marjamäki
|
ca4015f905
|
CheckMemoryLeak: Refactoring the code
|
2011-03-06 09:42:16 +01:00 |
Daniel Marjamäki
|
779dba9160
|
Fixed #2612 (segmentation fault of cppcheck ( <><< ))
|
2011-03-06 09:33:46 +01:00 |
Robert Reif
|
0debba4409
|
finish fixing #2624 (better function pointer support needed)
|
2011-03-05 21:41:58 -05:00 |
Robert Reif
|
7d2fb2ecde
|
partial fix for #2624 (better function pointer support needed)
|
2011-03-05 20:48:28 -05:00 |
Greg Hewgill
|
b9df7735c5
|
switchCaseFallThrough is now an inconclusive check
|
2011-03-06 13:06:30 +13:00 |
Greg Hewgill
|
c8394909c0
|
Relax detection of 'fall through' comment so it only adds a suppression if it immediately precedes 'case' or 'default'
|
2011-03-06 12:14:10 +13:00 |
Greg Hewgill
|
8c245cfd2f
|
switchCaseFallThrough is now a coding style check (ticket #2623)
|
2011-03-06 09:43:27 +13:00 |
Greg Hewgill
|
e12ae654a8
|
Support a few more common styles of "fall through" comment
|
2011-03-05 18:02:38 +13:00 |
Greg Hewgill
|
c30125111a
|
Merge branch 'switch-case-fall-through'
|
2011-03-05 00:55:33 +13:00 |
Greg Hewgill
|
cc7e05a5b0
|
fix case where fall through comment precedes preprocessor line
|
2011-03-05 00:45:58 +13:00 |
Greg Hewgill
|
70fcbe94f4
|
avoid warning on first case (in case there are declarations before first case)
|
2011-03-05 00:45:58 +13:00 |
Greg Hewgill
|
1a606a57fd
|
slightly more flexible detection of 'fall through' comment
|
2011-03-05 00:45:58 +13:00 |
Greg Hewgill
|
8c1d7ef316
|
avoid crash when else condition doesn't have braces to link
|
2011-03-05 00:45:58 +13:00 |
Greg Hewgill
|
610d2efaea
|
recognise fall through in c style comments
|
2011-03-05 00:45:58 +13:00 |
Greg Hewgill
|
ad45737805
|
more gracefully handle unexpected blocks inside switch
|
2011-03-05 00:45:57 +13:00 |
Greg Hewgill
|
a532a9690e
|
full implementation of switch case fall through
|
2011-03-05 00:45:57 +13:00 |
Greg Hewgill
|
93ea774484
|
initial simplistic implementation of switchCaseFallThrough
|
2011-03-05 00:45:57 +13:00 |
Robert Reif
|
f3b2acf585
|
really fix #2620 reference of typedef of array not simplified properly
|
2011-03-03 20:32:10 -05:00 |
Daniel Marjamäki
|
d7a6e729b8
|
Tokenizer::simplifyKnownVariables: Don't simplify 'strcpy(a,"ab"); b=a;'. Ticket: #2031
|
2011-03-03 20:07:56 +01:00 |
Robert Reif
|
3f0d0446e0
|
revert previous commit: simplified code isn't correct
|
2011-03-03 07:40:43 -05:00 |
Robert Reif
|
ee4b4f62d8
|
fix #2620 reference of typedef of array not simplified properly
|
2011-03-03 07:27:53 -05:00 |
Robert Reif
|
4b0edccec4
|
convert some of the checks in CheckAutoVariables to use the variable symbol table
|
2011-03-02 21:21:46 -05:00 |
Robert Reif
|
c9b2ab3c26
|
add debug message for function argument missing varid
|
2011-03-02 21:08:27 -05:00 |
Daniel Marjamäki
|
8e9a1c33ad
|
Fixed #2618 (Tokenizer::simplifyKnownVariables: Don't use known string value if address is wanted)
|
2011-03-01 20:20:48 +01:00 |
Daniel Marjamäki
|
db04d7b71e
|
Fixed #2616 (Segmentation fault with unknown macro)
|
2011-03-01 18:02:50 +01:00 |
Greg Hewgill
|
2efb2efaca
|
refactor #if 0 handling to leave preprocessor statements alone
|
2011-03-01 20:04:11 +13:00 |
Greg Hewgill
|
a331516735
|
handle #if (0) after removing parentheses
|
2011-03-01 19:50:17 +13:00 |
Greg Hewgill
|
31c56d7353
|
handle embedded whitespace in #if 0 processing
|
2011-03-01 19:32:47 +13:00 |
Robert Reif
|
92efbd748e
|
fix #2595 bitfield fix for case x: break; and default: break;
|
2011-02-28 19:35:00 -05:00 |
Daniel Marjamäki
|
893b84a87c
|
Fixed #2615 (Segmentation fault in cppcheck 1.47)
|
2011-02-28 20:29:34 +01:00 |
Zachary Blair
|
e1b2569b81
|
Fixed #432 (New check: wrong usage of ! operator in conditions)
|
2011-02-27 12:30:22 -08:00 |
Robert Reif
|
3db0e7ef8f
|
fix symbol database bug where delete can be considered a variable declaration
|
2011-02-27 10:35:59 -05:00 |
Robert Reif
|
962183f964
|
add an array flag to symbol database Variable class
|
2011-02-27 10:21:14 -05:00 |
Robert Reif
|
0872f1291e
|
fix a symbol database bug where a return statement could be considered a variable declaration
|
2011-02-27 10:13:40 -05:00 |
Daniel Marjamäki
|
e3f779a41c
|
Symbol database: Fixed debug warnings for true/false. true/false doesn't have varId.
|
2011-02-26 23:58:02 -08:00 |
Robert Reif
|
2b03bfaf38
|
fix a bug in symbol database while scope processing
|
2011-02-26 23:00:06 -05:00 |
Robert Reif
|
b74ebbda02
|
fix potential null pointer dereference for unnamed function arguments
|
2011-02-26 18:34:17 -05:00 |
Robert Reif
|
31a18b9b23
|
convert CheckClass::noMemset to use new variable lookup capability
|
2011-02-26 16:00:05 -05:00 |
Robert Reif
|
8152cbbd1b
|
add a varId to Variable lookup table and fill it in with all variables
|
2011-02-26 15:57:16 -05:00 |
Robert Reif
|
7638a4554e
|
add local scopes to the symbol database
|
2011-02-26 15:53:57 -05:00 |
Robert Reif
|
eda25f6502
|
add a list of function arguments to symbol database Function class
|
2011-02-26 15:51:12 -05:00 |
Daniel Marjamäki
|
c1c9b96bb6
|
Fixed #2031 (Tokenizer: simplify known value (string has known value after strcpy))
|
2011-02-26 21:11:56 +01:00 |
Daniel Marjamäki
|
96c85104ab
|
astyle formatting
|
2011-02-26 20:09:14 +01:00 |
Daniel Marjamäki
|
92ab1ef8e7
|
fix
|
2011-02-26 20:08:37 +01:00 |
Daniel Marjamäki
|
ab2bf0ee0c
|
Fixed #2575 (false positive: Preprocessor does not ignore #include within #if 0 block)
|
2011-02-26 10:04:38 -08:00 |
Jnos Maros
|
39114e3482
|
Fixed #2608 ([lib/checkpostfixoperator.cpp:87]: (error) Possible null-pointer dereference: decltok)
|
2011-02-24 07:37:33 +01:00 |
Daniel Marjamäki
|
32a49235e3
|
Fixed #2578 (Preprocessor does not correctly handle #define A 0 / #if A)
|
2011-02-23 13:08:24 -08:00 |
Daniel Marjamäki
|
daf0e7c37d
|
Fixed #2604 (Segmentation fault of cppcheck ( sizeof <= A ))
|
2011-02-23 20:44:14 +01:00 |
Robert Reif
|
d1f7a8aca4
|
fix #2403 (simplifyTypedef: array of function pointers) Internal error message
|
2011-02-22 22:11:17 -05:00 |
Sébastien Debrard
|
458fc7454e
|
update the message when bcopy function is used
|
2011-02-23 00:27:50 +01:00 |
Daniel Marjamäki
|
9983aa5721
|
Fixed #2605 (cppcheck hangs with 100% cpu load ( #define = ))
|
2011-02-22 19:55:02 +01:00 |
Robert Reif
|
dd12fc177f
|
fix #2603 (segmentation fault of cppcheck ( typedef constexpr))
|
2011-02-22 07:48:34 -05:00 |
Robert Reif
|
703448171a
|
fix #2601 (segmentation fault of cppcheck)
|
2011-02-22 07:02:15 -05:00 |
Robert Reif
|
ba6c2ca310
|
fix #2602 (segmentation fault of cppcheck ( class A {A& operator=(const A&); }; ))
|
2011-02-22 06:47:28 -05:00 |
Robert Reif
|
4e1ce93104
|
fix #2600 (segmentation fault of cppcheck ( enum{const} ))
|
2011-02-21 19:30:40 -05:00 |
Robert Reif
|
999646fca6
|
fix #2599 (segmentation fault of cppcheck ( sizeof ))
|
2011-02-21 17:49:30 -05:00 |
Robert Reif
|
5f84272a52
|
fix segfault: #2591 (cppcheck hangs with 100% cpu load ( class A : ))
|
2011-02-21 14:25:35 -05:00 |
Daniel Marjamäki
|
55711698d0
|
Fixed #2591 (cppcheck hangs with 100% cpu load ( class A : ))
|
2011-02-21 19:41:34 +01:00 |
Robert Reif
|
5984b6b53f
|
fix #2595 (False positive Technically the member function 'A::foo' can be const)
|
2011-02-20 20:01:54 -05:00 |
Robert Reif
|
763763fa9b
|
fix bitfields to support non-numeric bitfield width
|
2011-02-20 18:22:49 -05:00 |
Daniel Marjamäki
|
bfe28d3b26
|
Fixed #2597 (False positive: Buffer access out-of-bounds for u_char, uint*_t, ...)
|
2011-02-20 21:24:57 +01:00 |
Daniel Marjamäki
|
c52704e636
|
astyle formatting
|
2011-02-20 21:00:03 +01:00 |
Daniel Marjamäki
|
c3fba356c0
|
Fixed #2563 (#if equality testing does not ignore parentheses)
|
2011-02-20 20:57:28 +01:00 |
Daniel Marjamäki
|
5dea79a07d
|
cppcheckError: Rephrazed the error message. The 'internal error' sounds like something dangerous happens that needs to be fixed. So I think 'analysis failed' is better. If the code has a syntax error then 'analysis failed' is entirely ok.
|
2011-02-20 19:56:13 +01:00 |
Daniel Marjamäki
|
63c003f92e
|
Tokenizer: fixed so that 'p=&x; if(p)' is simplified to 'p=&x;if(&x)'. Ticket: #2596
|
2011-02-20 18:18:27 +01:00 |
Daniel Marjamäki
|
7894d86132
|
Null pointers: Fixed false negative for such code: 'if (p && *p) {} else { *p=0; }'. Ticket: #2379
|
2011-02-20 14:38:49 +01:00 |
Robert Reif
|
537ac0cb34
|
use func->start rather than searching for '{' in CheckClass::privateFunctions
|
2011-02-20 08:36:06 -05:00 |
Robert Reif
|
597aea9f15
|
save start of function '{' and start of variable declaration in symbol database so checks don't have to find them
|
2011-02-20 08:25:42 -05:00 |
Daniel Marjamäki
|
1cfb18be08
|
astyle formatting
|
2011-02-20 12:22:01 +01:00 |
Daniel Marjamäki
|
46f4e46d30
|
Tokenizer::simplifyTemplates: Better handling for multi-token template arguments such as 'Foo<std::string>'
|
2011-02-20 12:17:05 +01:00 |
Robert Reif
|
7dd8a3283a
|
fix comment in CheckClass::initializeVarList
|
2011-02-19 20:09:07 -05:00 |
Robert Reif
|
fef1142997
|
fix #2592 (False positive: 'operator=' should return reference to self)
|
2011-02-19 20:02:16 -05:00 |
Greg Hewgill
|
d20987c3da
|
Merge branch 'inline-suppression-c-style'
|
2011-02-20 13:26:35 +13:00 |
Greg Hewgill
|
98ab34b2b5
|
Support cppcheck-suppression in C style comments
|
2011-02-20 11:44:42 +13:00 |
Daniel Marjamäki
|
5f0206725b
|
Null pointers: Fixed false negative for such code 'if (p && *p==0) {} *p = 0;'. Ticket: #2379
|
2011-02-19 21:28:18 +01:00 |
Daniel Marjamäki
|
29d05cf5f2
|
Null pointers: Fixed false negative for such code: 'abc->a = 0; if (abc && ..'. Ticket: #2379
|
2011-02-19 21:10:31 +01:00 |
Daniel Marjamäki
|
e7ef1b3627
|
Null pointer: fixed false negative when dereferencing struct and then checking if it's null. Ticket: #2379
|
2011-02-19 21:01:38 +01:00 |
Robert Reif
|
e6eb160395
|
fix [B#2589 (segmentation fault of cppcheck (struct B : A))
|
2011-02-19 14:38:00 -05:00 |
Daniel Marjamäki
|
caca6e94e6
|
Fixed #2231 (uninitialized variable: undetected when initialization in for loop)
|
2011-02-19 20:19:46 +01:00 |
Robert Reif
|
77fe9858e2
|
fix #2587 (Spurious warning about struct hiding typedef)
|
2011-02-19 14:18:37 -05:00 |
Robert Reif
|
f9b1505115
|
fix Scope::findInNestedListRecursive to check all children
|
2011-02-19 13:40:02 -05:00 |
Daniel Marjamäki
|
85b1ea21cf
|
Fixed #2590 (segmentation fault of cppcheck ( {}int ))
|
2011-02-19 09:56:17 +01:00 |
Greg Hewgill
|
7e5d8e42d4
|
remove stray BOM from source file
|
2011-02-19 16:10:50 +13:00 |
Daniel Marjamäki
|
f363bc1560
|
Borland C++: Fixed compiler error
|
2011-02-18 20:21:48 +01:00 |
Daniel Marjamäki
|
9a760b9654
|
Fixed #2582 (segmentation fault of cppcheck ( if() ))
|
2011-02-18 20:05:44 +01:00 |
Daniel Marjamäki
|
dfba4b7332
|
Fixed #2585 (segmentation fault of cppcheck (CheckOther::clarifyCalculation))
|
2011-02-17 21:30:59 +01:00 |
Daniel Marjamäki
|
cf2a04377e
|
Fixed #2586 (segmentation fault of cppcheck (template<>))
|
2011-02-17 21:15:17 +01:00 |
Greg Hewgill
|
e2581da30c
|
Merge branch 'unmatched-suppressions'
|
2011-02-17 21:46:43 +13:00 |
Greg Hewgill
|
a4de6a3455
|
be sure to list unmatched suppressions only for the currently processed file
|
2011-02-17 21:46:14 +13:00 |
Daniel Marjamäki
|
0ee583e324
|
Fixed gcc compiler warnings (signedness)
|
2011-02-16 20:56:02 +01:00 |
Daniel Marjamäki
|
54e0b60cc5
|
Fixed #2584 (false positive 'variable n is never used')
|
2011-02-16 20:33:24 +01:00 |
Greg Hewgill
|
5d74325015
|
implement unmatchedSuppression information message
|
2011-02-16 23:02:37 +13:00 |
Greg Hewgill
|
331788246b
|
factor out addSuppressionLine from file reading function
|
2011-02-16 22:26:16 +13:00 |
Greg Hewgill
|
8a85b18283
|
use suppression wildcard glob instead of special-case empty filename
|
2011-02-16 20:19:18 +13:00 |
Robert Reif
|
218464df89
|
fix #2580 (false postive with Unused private function)
|
2011-02-14 19:50:13 -05:00 |
Daniel Marjamäki
|
0ed0d07714
|
Tokenizer::simplifyCalculations: basic handling of bitwise operators
|
2011-02-14 20:43:26 +01:00 |
Daniel Marjamäki
|
805773663e
|
Build: Renamed HAVE_DEPENDENCIES to HAVE_RULES
|
2011-02-14 19:37:58 +01:00 |
Robert Reif
|
cdd8d3f785
|
Really fix #2348 perl-tk
|
2011-02-13 19:02:57 -05:00 |
Ettl Martin
|
d2a1d3f14a
|
fixed pre/post increment warings, found during selfcheck
|
2011-02-13 23:57:07 +01:00 |
Daniel Marjamäki
|
0d2d0c864a
|
Tokenizer::simplifyKnownVariables: Fixed TODO testcases (better handling of comparisons)
|
2011-02-13 22:24:45 +01:00 |
Daniel Marjamäki
|
2182ede486
|
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of ^)
|
2011-02-13 22:13:19 +01:00 |
Daniel Marjamäki
|
472d8154ca
|
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of |)
|
2011-02-13 22:09:04 +01:00 |
Daniel Marjamäki
|
467c984cd1
|
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of %)
|
2011-02-13 22:03:46 +01:00 |
Robert Reif
|
c03ace7378
|
Fix #2579 (segmentation fault of cppcheck)
|
2011-02-13 14:11:22 -05:00 |
Robert Reif
|
ad22aebf8c
|
Really fix: #2376 (simplifyTypedef: upx-ucl)
|
2011-02-13 13:34:55 -05:00 |
Daniel Marjamäki
|
d8da1ac390
|
Merge branch 'suppress-glob' of https://github.com/ghewgill/cppcheck into ghewgill-suppress-glob
|
2011-02-13 18:17:44 +01:00 |
Greg Hewgill
|
1418c12261
|
astyle formatting
|
2011-02-13 10:01:32 +13:00 |
Greg Hewgill
|
421b32efb4
|
use std::stack instead of std::list where appropriate
|
2011-02-13 09:55:45 +13:00 |