Oliver Stöneberg
Oliver Stöneberg
This is to make sure that we (well, me) do not try to mess with code which can actually be optimized by the compiler. From my local system with `CXX=g++...
``` 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: static_assert ( true , "" ) ; ```
Subsequent `#line` markers are ignored. ``` 1: int main ( ) 2: { 3: char * ptr = 0 ; #line 16 "main.sc" 16: { 17: 18: struct sqlexd sqlstm...
`gcc -E` ``` # 0 "a.cpp" # 0 "" # 0 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 0 "" 2 # 1 "a.cpp" if(pGlobalCtx && pGlobalCtx->debug_level>=2) printf("FT-dbg: "fmt,...
This provides a cleaner callstack as a `std::function` object is never created. Before: ``` #2 0x557f52ae1bb9 in CppCheck::checkNormalTokens(Tokenizer const&, AnalyzerInformation*, std::__cxx11::basic_string const&)::$_0::operator()() const /home/user/CLionProjects/cppcheck/lib/cppcheck.cpp:1356:24 #3 0x557f52ae19fc in void std::__invoke_impl(std::__invoke_other, CppCheck::checkNormalTokens(Tokenizer...
> The problem is you throw away type safety. Concepts should be used to get sensible compiler error output. I have no idea what concepts to use here. That could...
``` 1: 2: 3: 4: printf ( "bar(3)" "\n" ) ; ```
Maybe this should be approached from the other end by resolving #424 first.
I started removing the need for the references from the inside out. I will post the first in series of several PRs soon.
I posted the first one with #569.