162 Commits

Author SHA1 Message Date
Simon Martin
af1b0cfddf Ticket : Don't get confused by parentheses while detecting template parameter default values. 2015-07-17 21:30:34 +02:00
Alexander Mai
e75662aaf1 segmentation fault (invalid code) in TemplateSimplifier::templateParameters. Avoid null pointer access 2015-06-25 20:48:05 +02:00
Alexander Mai
f806d945a1 Refactoring: Allow TemplateSimplifier to throw InternalErrors by itself. 2015-06-23 20:53:57 +02:00
Martin Ettl
9236ea4a20 Running astyle, no functional changes. 2015-05-29 19:15:41 +02:00
amai2012
e41beb4f8d Fix and (crashes on garbage code).
Local fixes avoiding access to NULL-token.  Also minor correction to
TemplateSimplifier::hasComplicatedSyntaxErrorsInTemplates()
2015-05-29 18:34:00 +02:00
Alexander Mai
098391ee32 segmentation fault (invalid code) in TemplateSimplifier::hasComplicatedSyntaxErrorsInTemplates. Harden TemplateSimplifier::hasComplicatedSyntaxErrorsInTemplates() 2015-05-28 21:38:20 +02:00
Alexander Mai
6f96634759 clang: -fsanitize=integer warnings. Fix unwanted integer overflow in TemplateSimplifier::useDefaultArgumentValues() and Tokenizer::simplifyQtSignalsSlots() 2015-05-03 15:21:58 +02:00
Frank Zingsheim
4ceed51bfb Fixed (Crash triggered by TemplateSimplifier::useDefaultArgumentValues) 2015-05-01 17:13:02 +02:00
PKEuS
b6709294a8 Fixed ...... in template instantiations (similar to constconst from ) 2015-04-13 17:03:06 +02:00
Matthias Krüger
42f0955e3f Move more setting checks out of loops and use const bools instead. Reorder a few related checks.
Follow up to eedcb6abcb9c905d5ef16fb6d5379bd1be9929c3 .
2015-04-10 14:31:19 +02:00
Simon Martin
0f7f08644c Show template instantiation and not definition location in template instantiation debug message. 2015-04-05 14:54:24 +02:00
Daniel Marjamäki
aacd9b9f6b Fixed (Tokenizer: '>>' is wrongly tokenized as '> >' - if (n1 < len>>1)) 2015-04-03 20:25:49 +02:00
PKEuS
0d37c4df04 Fixed three unique crashs on garbage code ().
Removed redundant copy of string in templatesimplifier.cpp
2015-04-01 12:43:24 +02:00
PKEuS
19f770e41b Fixed - don't create template instanciations with "const const const const..." patterns. 2015-03-22 11:20:47 +01:00
Daniel Marjamäki
a200e5b32f Merge pull request from simartin/ticket_4335
Ticket : Properly detect and handle template class specialisations
2015-03-15 07:59:11 +01:00
Simon Martin
520314f9a0 Ticket : Properly detect and handle template class specializations. 2015-03-15 00:28:33 +01:00
Simon Martin
32a7a178e8 Code simplification now that ">>" is turned into "> >" when it closes template argument lists. 2015-03-14 23:02:10 +01:00
Simon Martin
4c916641cc Ticket : Fix use after delete when simplifying template instantiations. 2015-03-14 18:46:17 +01:00
Simon Martin
1d973b882d Ticket : Handle member functions in TemplateSimplifier::getTemplateNamePosition. 2015-03-07 21:52:12 +01:00
Daniel Marjamäki
925f077b8a Fixed (TemplateSimplifier::simplifyCalculations: wrong simplification of 'if (VG_(strlen)(s)>=3)') 2015-03-02 16:27:00 +01:00
Simon Martin
c4c46be972 Revert fix for , that caused and . 2015-02-14 12:29:05 +01:00
PKEuS
b2835051df Refactorization: Renamed Token::Match pattern %var% to %name%, implement new pattern %var% which is true if varId > 0. 2015-01-31 12:32:04 +01:00
Thomas Jarosch
cd4c297dce Fix segfault in template simplifier
When something parsing the template syntax
went wrong, "tok2" was NULL and resulted
in deleting all remaining tokens. Whoops.

Triggered by gcc test suite:
gcc/testsuite/g++.dg/cpp0x/variadic87.C

Tracked down the source of the bug with
valgrind's "--track-origins=yes" switch.
2015-01-18 01:43:43 +01:00
Daniel Marjamäki
ff11ba9847 Updated copyright year to 2015 2015-01-03 12:14:58 +01:00
PKEuS
e03f49360f Merge pull request from simartin/ticket_6181
Ticket : Properly handle >> terminating template parameter lists.
2014-12-21 12:21:17 +01:00
Simon Martin
4c7a8c5497 Ticket : Properly handle >> terminating template parameter lists. 2014-12-14 15:14:27 +01:00
Simon Martin
859c6381cc Ticket : Properly grok %type%... template parameters. 2014-12-14 14:33:37 +01:00
Simon Martin
cc6b51f2d9 Ticket : Properly handle class... in parameter lists. 2014-11-07 23:08:54 +01:00
Frank Zingsheim
0e4c508d7b Fixed and (Crash from running out of memory with many templates) 2014-11-01 22:07:24 +01:00
Daniel Marjamäki
d0d2a0faf8 simplifyCalculations: Fix simplification of '( %num% )' when parentheses must be kept 2014-10-10 13:19:25 +02:00
Simon Martin
9ddf857dc7 Ticket : Simplify constant ternary operator in template parameters. 2014-10-04 20:49:57 +02:00
Dmitry-Me
32f7a789df Merge overlapping patterns, move declarations 2014-09-17 10:54:53 +04:00
Daniel Marjamäki
29a49d0641 removed some redundant null pointer checks before calling Token::Match 2014-09-14 11:35:04 +02:00
Simon Martin
53b58f0ed9 Refactoring. Use Token::Match instead of hardcoded patterns to increase readability. 2014-09-14 11:26:16 +02:00
Simon Martin
01cf008792 Ticket : Improve the mechanism differentiating template declarations from template definitions. 2014-09-13 16:44:05 +02:00
Simon Martin
6e10603227 Ticket : Properly handle template'd default template parameter values. 2014-09-06 20:39:04 +02:00
Daniel Marjamäki
d41ef3a6d0 TemplateSimplifier: Fixed crash caused by null pointer dereference. I don't have a testcase. But the code is suspicious, in the loop we check if tok3 is null and then in the loop head we call tok3->next(). 2014-07-15 21:28:52 +02:00
amai2012
9b38ae73c1 Attempt to fix 2 Coverity messages.
Replace a few unsigned int by std::size_t
2014-07-07 21:25:30 +02:00
Daniel Marjamäki
d40b77dce2 Removed special 'else if' handling. this is redundant since these are simplified. 2014-07-02 16:16:19 +02:00
orbitcowboy
76f3f67bcf Fixed fsanitize=undefined: left shift of negative value -10000 in lib/templatesimplifier.cpp. 2014-06-16 10:58:41 +02:00
PKEuS
a04036337d Fixed : Don't show returnTempReference for calculations on unknown types 2014-05-24 12:50:04 +02:00
PKEuS
adf38fcfd0 Further include cleanup 2014-05-24 12:50:04 +02:00
Simon Martin
2b809800b6 Ticket : Properly count template parameters in TemplateSimplifier::useDefaultArgumentValues and handle casts in template parameters' default values. 2014-05-23 23:38:40 +02:00
orbitcowboy
90c1016c74 Fixed : remove C99 static keyword between [] in tokenizer. 2014-05-13 16:28:28 +02:00
Alexander Mai
be9a566d48 Refactoring/small corrections to fix warnings from clang -fsanitize=undefined 'member call on null pointer' 2014-05-20 21:55:08 +02:00
Mark de Wever
d6db261213 Fixed (Invalid token match patterns) 2014-05-19 06:31:38 +02:00
PKEuS
5fbd58d98d Fixed messages of CheckInternal, fixed a false positive. 2014-05-18 20:39:52 +02:00
Simon Martin
e61e1cb13d Ticket : Properly handle cv-qualified member pointers as template parameter. 2014-05-14 22:27:31 +02:00
Daniel Marjamäki
4e2c0617d3 Merge pull request from simartin/ticket_5297
Ticket : simplifyCalculations should pass once more on simplified tokens
2014-05-10 10:18:29 +02:00
Simon Martin
1e4902cb65 Ticket : simplifyCalculations should pass once more on tokens being simplified. 2014-05-10 09:37:56 +02:00