Daniel Marjamäki
|
2740736136
|
Avoid 'deleteThis' in TemplateSimplifier::simplifyCalculations as it can cause 'use after free' see #6021
|
2017-06-07 20:09:06 +02:00 |
Daniel Marjamäki
|
d335412858
|
Avoid 'deleteThis' in TemplateSimplifier::simplifyCalculations as it can cause 'use after free' see #6021
|
2017-06-07 19:46:02 +02:00 |
Daniel Marjamäki
|
18abe4a142
|
Fixed #6021 (TemplateSimplifier::simplifyCalculations causes heap corruption on invalid code)
|
2017-06-07 19:32:56 +02:00 |
Daniel Marjamäki
|
60e36492e2
|
Refactoring, renamed local variable
|
2017-06-07 12:37:44 +02:00 |
Ayaz Salikhov
|
28aa939d69
|
iwyu - include what you use
|
2017-05-27 04:33:47 +02:00 |
Matthias Krüger
|
a28f57344c
|
templatesimplifier: mark getTemplateNamePositionTemplateMember() static.
Fixes gcc 7-dev warning:
lib/templatesimplifier.cpp: In function ‘bool getTemplateNamePositionTemplateMember(const Token*, int&)’:
lib/templatesimplifier.cpp:715:6: warning: no previous declaration for ‘bool getTemplateNamePositionTemplateMember(const Token*, int&)’ [-Wmissing-declarations]
bool getTemplateNamePositionTemplateMember(const Token *tok, int &namepos)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2017-05-03 08:45:48 +02:00 |
Simon Martin
|
28960a8bba
|
Remove bailout and fix varid for template class member initialized in out-of-line constructor (#8031)
|
2017-04-30 08:59:47 +02:00 |
Simon Martin
|
5fd686c878
|
Ticket #4544: Also handle Foo<struct Bar> constructs.
|
2017-04-17 11:24:28 +02:00 |
Simon Martin
|
ee05fe7d77
|
Ticket #7942: Don't generate invalid syntax for out of line template class constructors during instantiation.
|
2017-04-09 16:12:59 +02:00 |
orbitcowboy
|
a7f1188151
|
Astyle run.
|
2017-03-21 14:22:28 +01:00 |
Simon Martin
|
fb2b29dc7d
|
Update TemplateSimplifier::getTemplateNamePosition to handle out-of-line template methods.
Add an optional extended description…
|
2017-03-19 20:44:20 +01:00 |
Simon Martin
|
326d152aa2
|
Ticket #7914: Properly recognize template parameters that contains operators. (#870)
|
2017-02-11 10:13:41 +01:00 |
Simon Martin
|
0943b2145b
|
Ticket #7891: Do not remove spaces in the internal representation for template instantiations.
|
2017-02-05 17:35:29 +01:00 |
Matthias Krüger
|
92d9e810f3
|
templatesimplifier: remove redundant assignments inside switchcase. They will always be overwritten by an assignment outside of the switch near the end of the function. Found by clang analyzer.
|
2017-01-30 22:26:54 +01:00 |
umanamente
|
a012e5b5fb
|
(Fixed #7846) Syntax error when using C++11 braced-initializer in function last argument
Add an optional extended description…
|
2017-01-23 12:50:36 +01:00 |
Simon Martin
|
417c7e36c0
|
Ticket #7548: Properly detect the end of template parameter default values during instantiation.
|
2017-01-08 09:38:29 +01:00 |
Matthias Krüger
|
b3ace258ab
|
there is no need to have "if(tok && Token::Match(tok,..." since Token::Match checks "tok" by itselfs already.
|
2016-11-26 17:22:30 +01:00 |
orbitcowboy
|
4e3fdedff9
|
templatesimplifier: Improved const correctness. There are no functional changes.
|
2016-10-31 17:24:15 +01:00 |
Dmitry-Me
|
667038a402
|
Merge overlapping patterns
|
2016-08-24 15:10:39 +03:00 |
Daniel Marjamäki
|
45ee29d5dc
|
Fixed #7604 (simplifyCalculation: expression '0 && x[2]' is not simplified properly)
|
2016-07-17 15:52:53 +02:00 |
Daniel Marjamäki
|
ac8341e3de
|
keep type suffixes after constant folding using bit operations
|
2016-03-21 21:20:02 +01:00 |
Daniel Marjamäki
|
072120d19f
|
TemplateSimplifier::templateParameters: Handling r-value arguments
|
2016-03-18 11:09:41 +01:00 |
Daniel Marjamäki
|
6c324013e7
|
Use MAXTIME in templatesimplifier
|
2016-02-12 12:05:32 +01:00 |
Daniel Marjamäki
|
07f3930923
|
report progress in TemplateSimplifier::simplifyTemplateInstantiations, as far as I see it can be very slow
|
2016-02-05 07:59:29 +01:00 |
Daniel Marjamäki
|
f3f9ea2d09
|
TemplateSimplifier: One more fix for #3130. Restored max recursion count to 100 and improve pattern for reference template instantiations instead.
|
2016-01-30 11:22:44 +01:00 |
Daniel Marjamäki
|
f116de678e
|
Fixed #3130 (Tokenizer: Doesn't instantiate recursive template correctly)
|
2016-01-30 10:33:25 +01:00 |
Daniel Marjamäki
|
8e79e5c1d3
|
Fixed #7147 (TemplateSimplifier: specialized template class with inheritance)
|
2016-01-11 18:45:12 +01:00 |
Daniel Marjamäki
|
036306d7c2
|
Refactoring Tokenizer::startOfExecutableScope(). Improve and reuse Tokenizer::isFunctionHead().
|
2016-01-03 22:52:24 +01:00 |
Lauri Nurmi
|
996c9244d8
|
Update copyright year to 2007-2016.
|
2016-01-01 15:34:45 +02:00 |
Alexander Mai
|
5b6758b03b
|
Add some debugging code (inspired by #6021)
|
2015-12-27 17:38:15 +01:00 |
PKEuS
|
32e2fb2f78
|
Refactorization: Prefer Token::simpleMatch over Token::Match also for non-const patterns.
|
2015-12-03 13:04:55 +01:00 |
Daniel Marjamäki
|
5fabe66ff7
|
simplifyCalculations: better handling of && and || in conditions (#4931)
|
2015-11-28 15:00:41 +01:00 |
PKEuS
|
93c02ce826
|
Fixed compiler error introduced in previous commit and several MSVC warnings
|
2015-11-28 10:49:08 +01:00 |
Daniel Marjamäki
|
8689693d6c
|
Fix Travis
|
2015-11-28 09:26:44 +01:00 |
Daniel Marjamäki
|
c0da6c1541
|
simplifyCalculations: handle '(4%1<<1&4!=1)' better. must combine '!' '=' before constant folding. fixed the operator precedence for comparison operators. (#4931)
|
2015-11-28 09:04:22 +01:00 |
Daniel Marjamäki
|
1bf547c716
|
Fixed #4931 (Wrong calculation for '2|0*0&2>>1+0%2*1')
|
2015-11-27 15:02:49 +01:00 |
Daniel Marjamäki
|
1977a18a1e
|
simplifyNumericCalculations: Don't fold negative constants in shift/bitmask calculation. Behaviour is not well defined.
|
2015-11-27 14:16:49 +01:00 |
Daniel Marjamäki
|
2737f63f71
|
Wrong calculation of constants (simplifying: +,<<,% operations)
|
2015-11-25 16:46:39 +01:00 |
Daniel Marjamäki
|
0022ce8075
|
Refactor handling of char constants
|
2015-11-20 10:10:38 +01:00 |
Daniel Marjamäki
|
0f9d90d2be
|
Changed Copyrights. Removed my name.
|
2015-11-18 20:04:50 +01:00 |
Alexander Mai
|
3b1d849476
|
Correct template syntax check which got introduced by an attempt fix #6865. Disable test for #6865, adjust some modified tests and add new regression tests
|
2015-10-19 20:03:33 +02:00 |
Alexander Mai
|
7112725d38
|
Simplify code (repair travis build)
|
2015-10-18 16:04:49 +02:00 |
Alexander Mai
|
21efa992e3
|
#6865 TemplateSimplifier::expandTemplate doesn't terminate on invalid code. Add some another syntax check on templates to avoid problems later on.
|
2015-10-18 15:47:37 +02:00 |
Daniel Marjamäki
|
ec87b09d89
|
Fixed #7056 (iscast does not handle '(ulong)~0' properly, Tokenizer::simplifyCalculations wrongly simplifies '(ulong)~0' to 'ulong~0')
|
2015-10-17 18:58:13 +02:00 |
Martin Ettl
|
8936985c5c
|
#7001: Fixed templatesimplifier.cpp: Remove double include.
|
2015-09-18 12:20:41 +02:00 |
PKEuS
|
a720153e1e
|
Refactorization: Removed redundant code for syntax error handling in templatesimplifier.cpp and symboldatabase.cpp
|
2015-08-19 19:29:48 +02:00 |
PKEuS
|
1627b19dd6
|
Refactorizations:
- Call std::string::find() with char instead of char* where possible
- Avoid string copying
- Optimized several Token::tokAt/strAt calls
|
2015-08-16 10:33:51 +02:00 |
PKEuS
|
ee4a5843bb
|
Some small refactorizations
|
2015-08-15 19:46:31 +02:00 |
PKEuS
|
4d80df2f4a
|
Added pointer to Type to Token (similar to Token::Variable() and Token::function()):
- Accessible via Token::type()
- Renamed former Token::type() to Token::tokType()
- Removed SymbolDatabase::isClassOrStruct()
|
2015-08-15 11:19:21 +02:00 |
Simon Martin
|
af1b0cfddf
|
Ticket #6835: Don't get confused by parentheses while detecting template parameter default values.
|
2015-07-17 21:30:34 +02:00 |