6942 Commits

Author SHA1 Message Date
PKEuS
ccf087d2ea checkMathFunctions: Refactoring the check 2011-10-22 12:31:47 +02:00
Thomas Jarosch
55d9f0873a Fix #3243 (Improve non reentrant function check)
- Use std::map instead of linear std::list walk
  and run fast tests like tok->isName() first.

  Global speed up is 4.8% (profiled with google-perftools)

- Catch function invocations in global namespace
  and ignore other namespaces except "std".

  std::localtime() and others are also non-thread safe on POSIX.

  Note: The check matches f.e. also on "std::getrpcbyname()",
  but that would result in a compile error anyway.
  No need to have an extra "std::xxxxx" whitelist.

- Remove double listed "rand" and "getrpcbyname" function names
2011-10-22 11:54:52 +02:00
Daniel Marjamäki
a9d2d45fbc astyle formatting 2011-10-22 11:11:54 +02:00
Marek Zmysłowski
8157799e10 Fixed #3204 (Refactor standards support in Settings) 2011-10-22 10:34:04 +02:00
Daniel Marjamäki
cde95d09a3 Merge pull request #41 from gansb/master
std::istream used but not declared.
2011-10-22 00:54:04 -07:00
Daniel Marjamäki
ab827e3631 Merge pull request #40 from joshbeck/master
Added option to set #ifdef configuration check limit
2011-10-22 00:51:05 -07:00
Marek Zmysłowski
b332ea8222 Fixed #3204 (Refactor standards support in Settings) 2011-10-22 09:45:48 +02:00
Edoardo Prezioso
9e5beab4a8 Nitpicky fix of the missing ';' after the memset command inside the test case. 2011-10-20 21:46:34 +02:00
Benjamin Goose
3f25bd9530 Qualify fill_n properly.
Relying on ADL isn't a good idea as it's not always well implemented.
2011-10-20 09:02:20 +02:00
Benjamin Goose
463b105d98 Add condition for HP-UX. 2011-10-20 09:01:58 +02:00
Benjamin Goose
7d6b76e1d1 Include <iosfwd> for std::istream. 2011-10-20 08:46:29 +02:00
seb777
41d9daa03d Fixed ticket #3133 (Improve Check: Found obsolete function)
- add check for std::gets
- improve check when multiple obsolete functions are used
- remove false positive (declared functions)
2011-10-19 20:21:50 +02:00
Edoardo Prezioso
9257e82475 Improve tokenizer: don't confuse between a label and the case/default statements. 2011-10-19 18:49:02 +02:00
Edoardo Prezioso
882b0c15a0 Improve tokenizing of "do{ ... } while(0)".
The simplification will be the same for every combination, except for the 'continue' and the 'break'. In that case, keep the block braces.
2011-10-19 18:20:29 +02:00
Edoardo Prezioso
c9ee19c654 Complete 'disable the rules by default' for other platforms. 2011-10-19 15:14:39 +02:00
Edoardo Prezioso
4f256ef314 Runastyle + removal of useless conditions after previous commit. 2011-10-19 14:48:08 +02:00
Edoardo Prezioso
73f0e2c5b9 Fixed ticket #3227 (Improve tokenizer: labels are not handled correctly after a case or another label instruction)
Moved the labels simplification after combining the tokens and moved the case/default simplification inside the labels.
2011-10-19 14:20:09 +02:00
Joshua Beck
56561835f8 Add option to set #ifdef configuration check limit 2011-10-18 19:52:55 -05:00
Edoardo Prezioso
f4cdf57955 Fixed ticket #3229 (Segfault with goto):
Don't handle labels, gotos, returns and indentations inside the round braces. This is applied not only for simplifyGoto, but also to simplifyFlowControl.
Rewrite enum badly handled by astyle inside mathlib.cpp and move simplifyFlowControl at the end of the simplifyTokenList in order to catch more dead code, not related to the ticket.
2011-10-18 23:56:35 +02:00
PKEuS
dc15641954 Fixed #3223 (Improve check: Check more STL algorithms for missmatching containers check) 2011-10-18 21:55:41 +02:00
PKEuS
ea02bd905a Fixed #3225 (Boolean comparison with string literals) 2011-10-18 21:37:03 +02:00
Daniel Marjamäki
3d18fdfa3f Fixed #3220 (False positive: possible null pointer dereference: 'SwDoc *pDoc = NULL; pDoc->do_something();') 2011-10-18 19:34:14 +02:00
Daniel Marjamäki
03ff25f152 gcc: fixed compiler warnings/errors 2011-10-17 20:32:59 +02:00
Daniel Marjamäki
34e2a2ad66 Makefile: Disable rules by default 2011-10-17 20:18:36 +02:00
Daniel Marjamaki
bf0386c938 Preprocessor: Started working on new preprocessing that uses -D information better. Ticket: #2131 2011-10-17 20:12:46 +02:00
Edoardo Prezioso
de8eb48a5c Remove redundant function findmatch inside tokenize.cpp.
There's Token::findmatch which is already used inside other Tokenizer functions.
2011-10-17 13:46:27 +02:00
Edoardo Prezioso
c3caade3ca - Fixed mispelled function name;
changed variable name inside simplifyFlowControl for consistency;
improved simplifyFlowControl to handle better this kind of code:
"return; { { } { label : ; ok ( ) ; } }"->"return ; { { label: ok ( ) ; } }".
2011-10-17 02:16:49 +02:00
Edoardo Prezioso
6f80c5ff64 Removed redundant test, which was related to the Tokenizer, not to the memory leak checker. 2011-10-16 21:19:18 +02:00
Daniel Marjamäki
4705026242 fixed a few doxygen warnings 2011-10-16 17:16:07 +02:00
Daniel Marjamäki
618379ffd7 cli: updated help text for --std option 2011-10-16 15:32:40 +02:00
Ettl Martin
1a710e5761 fixed regression on linux due to missing include 2011-10-16 14:16:35 +02:00
PKEuS
f8074b71d2 Fixed #2470 (False negative: Possible null pointer dereference (C++0x keyword 'nullptr')) 2011-10-16 12:54:58 +02:00
Daniel Marjamäki
32496fb009 Token: Updated comments 2011-10-16 08:25:11 +02:00
Thomas Jarosch
a52b73f9f9 Fix #3208 (Simplify pointer to standard type, C only)
The symbol database is unavailable during token simplification
and &data[0] might return something completely different for C++.

Moved code_is_c() from checkOther to Tokenizer.
2011-10-16 08:09:57 +02:00
Daniel Marjamäki
1ec32e27db Borland: Fixed compiler errors 2011-10-16 07:52:54 +02:00
Daniel Marjamäki
d5883ef0c4 astyle formatting 2011-10-16 07:50:34 +02:00
PKEuS
71a1d98693 Fixed ##3211 (Crash in gitHEAD when arglist count is smaller than format string) 2011-10-16 07:06:18 +02:00
Edoardo Prezioso
8afc1b6f2d Changed the name of the removal of dead code after flow control statements for consistency (simplifyDeadCode is too generalized as name) 2011-10-15 12:45:48 +02:00
Edoardo Prezioso
57ead6988e Fixed ticket #3138 (Tokenizer: remove unreachable code below goto inside a namespace|class|struct block) 2011-10-15 11:35:45 +02:00
Edoardo Prezioso
f95b692a69 Fixed ticket #3113 (complete simplification of dead code after control flow statements) 2011-10-15 01:34:07 +02:00
Thomas Jarosch
7824e5c0f5 Fixed #3210 (STL check: Add support for reverse iterator) 2011-10-14 19:54:20 +02:00
Thomas Jarosch
7ae39f13cc Fixed #3198 (Add check for readlink()) 2011-10-14 19:45:51 +02:00
Daniel Marjamäki
07cc01876c Merge pull request #39 from neuschaefer/codespell.v2
codespell v2
2011-10-13 13:20:35 -07:00
Jonathan Neuschäfer
4fb7865f49 fix typos using codespell
Codespell is available at http://git.profusion.mobi/cgit.cgi/lucas/codespell/.
2011-10-13 22:04:41 +02:00
Daniel Marjamäki
6f8e42a5af changed the astyle formatting flags 2011-10-13 20:53:06 +02:00
Edoardo Prezioso
b792efb761 Fix ticket 3140 and 3137 (Improve Tokenizer: Remove dead for loop - simplify while(0) better.
Note: it doesn't remove dead code if there's a label inside. Will be improved in another ticket.
2011-10-13 13:01:24 +02:00
Edoardo Prezioso
16506f0a8c Remove redundant simplifyDeadCode call inside the Tokenizer::tokenize and move the relative tests in the file 'testsimplifytokens.cpp'. 2011-10-13 12:26:27 +02:00
Zachary Blair
82366918ff Fixed #2627 (switch case fall through: redundant strcpy) 2011-10-13 01:27:22 -07:00
PKEuS
91d7621994 Fixed #3180 (New check: Detect nullpointers given to printf via variable argument list) 2011-10-12 22:11:27 +02:00
Daniel Marjamäki
74c0468a18 astyle formatting 2011-10-12 22:06:19 +02:00