545 Commits

Author SHA1 Message Date
Daniel Marjamäki
9eb789bdb2 use nullptr in lib/preprocessor.cpp 2014-02-15 08:37:57 +01:00
Daniel Marjamäki
fd3a8a2a18 Update copyright 2014-02-15 07:45:39 +01:00
Daniel Marjamäki
8305015dea astyle formatting 2014-02-08 08:51:38 +01:00
Pavel Roschin
19a8cfd960 Library: add new "define" tag
This tag will allow to add some preprocessor defs into library.
It would be useful to provide more information about libraries
implementation details. As example GLib's library include tag
was added that helps to detect more memory leaks.
2014-02-07 10:13:36 +04:00
Alexander Mai
86763b401c Fixed #5340 (Preprocessor: not using errorLogger when reporting syntax errors) 2014-01-12 13:15:54 +01:00
Daniel Marjamäki
644004573b Preprocessor: fixed 8.0E+007 in macros 2014-01-08 18:05:14 +01:00
Daniel Marjamäki
2f91539d1d Preprocessor: don't insert macroChar inside .1 and 1. tokens 2014-01-02 11:21:23 +01:00
Daniel Marjamäki
cd65d8e54f Fixed #5169 (Preprocessor::removeComments : Bad handling of __asm) 2014-01-01 12:44:59 +01:00
Daniel Marjamäki
7e71c41ba7 Preprocessor: Don't insert macroChar inside 1.f and 1.e+7 as that mess it up later. Thanks ettlmartin for telling me about this. 2013-12-31 10:24:14 +01:00
Daniel Marjamäki
99703e1a3f Preprocessor: make sure 1E-7, 1E+7, 1e+7 in macros is output as a single token. Putting a macroChar before the 7 mess it up later. 2013-12-30 18:03:24 +01:00
Daniel Marjamäki
582baa5648 Preprocessor: make sure 1e-7 is output as a single token. puttin a macroChar before the 7 mess it up later. 2013-12-29 21:51:01 +01:00
Daniel Marjamäki
a948b4f4b0 Revert "Preprocessor:removeParentheses: fixed potential buffer access out of bounds, if find returns std::string::npos."
This reverts commit 4fbe15c8665ccc8431b13b85450361bacd72e74e.

As far as I see there can't be buffer access out of bounds. line always contain a '('.
2013-12-15 13:41:07 +01:00
orbitcowboy
4fbe15c866 Preprocessor:removeParentheses: fixed potential buffer access out of bounds, if find returns std::string::npos. 2013-12-09 01:40:51 -08:00
Daniel Marjamäki
8c7e3d14aa Fixed #5119 (Preprocessor: Using -D suppresses __cplusplus for C++ files) 2013-11-15 19:21:21 +01:00
Simon Martin
95c08d5613 Ticket #5139: Properly simplify recursive macro definitions 2013-11-01 16:47:22 +01:00
Daniel Marjamäki
ec3ab74631 Preprocessor: Use set instead of list to track '#pragma once' usage 2013-10-27 10:33:37 +01:00
Daniel Marjamäki
e3a12de057 astyle formatting 2013-10-19 09:52:19 +02:00
Daniel Marjamäki
f8710cb984 Fixed #5102 (Crash if -D is used when scanning simple preprocessor code.) 2013-10-18 06:47:55 +02:00
Daniel Marjamäki
bb0385321f Fixed #5074 (False positive: Duplicate expression (macro)) 2013-10-13 17:42:06 +02:00
Simon Martin
894f537eba Remove warnings emitted by clang's -Wsign-conversion 2013-09-22 13:22:52 +02:00
flashm
f56a85358b preprocessor optimization, unnecessary map creation removed
it used to be O(n^2), now it's only O(n)
2013-09-09 05:48:07 +02:00
Daniel Marjamäki
a781a83822 Preprocessor: Quicker response for --check-config. No 'normal' code is needed so skip it. 2013-09-01 07:13:48 +02:00
Daniel Marjamäki
ab30fa34e4 Refactoring Preprocessor. Use ternary operator instead of if-else. 2013-08-31 16:13:52 +02:00
Daniel Marjamäki
ed58b63712 Preprocessor: improved handling when file starts with 0xff or 0xfe that is not part of a BOM 2013-08-31 13:17:57 +02:00
Daniel Marjamäki
2eca0a93a7 Fixed #4733 (defective unusedStructMember warning) 2013-08-28 06:46:32 +02:00
Daniel Marjamäki
342142b783 Fixed #4256 (Preprocessor: '#pragma once' doesn't work properly when using -D) 2013-08-18 18:04:06 +02:00
Daniel Marjamäki
ff71c94f6e Fixed #4949 (define symbol used in code => 'Analysis failed' message is written.) 2013-08-12 18:12:49 +02:00
Alexander Mai
4cc2e3ef54 Enable more doxygen features (include JS search engine) and one doxygen annotation fix 2013-08-11 17:04:13 +02:00
Simon Martin
40887ca99c Ticket #4703: Trim macro parameters. 2013-08-11 09:41:03 +02:00
Simon Martin
c9884c30a1 Fix ticket #4922 (segmentation fault upon invalid code). 2013-08-05 20:28:22 +02:00
Daniel Marjamäki
44333f316a Added terminate() handling to get quicker response when the user wants to terminate 2013-07-24 13:06:59 +02:00
Zachary Blair
a381170886 Fixed #4874 (Minor spelling corrections) 2013-06-26 00:47:02 -07:00
Simon Martin
75c8dcc664 Fixed #4873 (Preprocessor: Cppcheck is unable to scan a file with a single quote in a comment inside assembler section) 2013-06-25 06:45:11 +02:00
Daniel Marjamäki
bfc40ffe9f Fixed #4868 (Segmentation fault in Preprocessor::handleIncludes()) 2013-06-21 20:10:46 +02:00
Daniel Marjamäki
e4270bab78 Fixed #4863 (macros not propagated) 2013-06-19 21:29:39 +02:00
Daniel Marjamäki
a5636d55bc Preprocessor: Reuse help function that converts string to map 2013-06-19 17:42:55 +02:00
Daniel Marjamäki
15c92384f4 Fixed #4851 (Preprocessor: problem when using #ifndef symbol in the code) 2013-06-15 12:08:18 +02:00
Daniel Marjamäki
75616786ef Fixed #4848 (--include not working since the last 2 days) 2013-06-12 16:59:25 +02:00
Daniel Marjamki
4e09b06bc1 Fixed #4827 (allow checking multiple configurations when using -D by also using --max-configs or --force) 2013-06-08 16:46:54 +02:00
Daniel Marjamäki
9eac4489ac Fixed #4838 (False positive for ... seems to be invalid) 2013-06-06 12:44:19 +02:00
PKEuS
0b22cb932e Fixed crash in test suite (#4595) 2013-03-14 04:21:38 -07:00
Alexander Mai
f43ea5c491 Fixed #4594 (Analyzing errors about system headers not being found) 2013-03-13 19:50:50 +01:00
Alexander Mai
59d636742e Fixed #4594 (Analyzing errors about system headers not being found) 2013-03-13 06:48:33 +01:00
PKEuS
2333aa2cc7 Don't use native separators for suppression matching 2013-03-12 07:53:18 -07:00
Andrew C. Martin
bd0d9b9639 fix misspellings & gcc v3.4.6 warnings
1.  fix typos / misspellings
 - Fix misspelling within comments, variable/function names, stdout messages
 - changes the name of an error code: ```stlBoundries``` changed to ```stlBoundaries```.  Alias old name (```stlBoundries```) to the new one.

2.  fix gcc v3.4.6 32bit & 64bit warnings

 - fixes gcc v3.4.6 warnings, except for those in tinyxml and "-Wmissing-declarations" makefile warnings
 - in Preprocessor::handleIncludes(), replace a ```vector <bool>``` with ```stack<bool>``` (see ```vector<bool>``` warning below).
   - this is the only ```vector<bool>``` in the codebase
 - ```vector <bool>``` is actually a case of template specialization, and is not recommended, according to the following links:

http://stackoverflow.com/q/6461487
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2160.html
http://stackoverflow.com/q/670308

 - in the codebase before and after this change, testrunner SEGVs in a number of places on gcc v3.4.6, including ```Check::~Check()```, among others
   - fc42fc95 fixes this particular runtime issue for DJGPP & __sun
2013-02-09 23:43:09 -07:00
Daniel Marjamäki
4391f0880f Tokenizer: Add special tokenize method for the Preprocessor with only basic simplifications 2013-01-27 17:58:54 +01:00
Daniel Marjamäki
42dd956dff Preprocessor: Better fix for hangs. And added proper unit test. 2013-01-27 02:53:29 +01:00
Daniel Marjamäki
6238db3a78 Preprocessor: Fix hang 2013-01-26 19:11:58 +01:00
Daniel Marjamäki
9313f7aa79 Preprocessor: Fix. Ticket: #4516 2013-01-26 18:45:18 +01:00
Daniel Marjamki
f69b1f426e Preprocessor: Improved handling of expressions in simplifyVarMap. Ticket: #4516 2013-01-26 16:21:33 +01:00