diff --git a/Makefile b/Makefile index c7aab54..3439f7c 100644 --- a/Makefile +++ b/Makefile @@ -18,10 +18,28 @@ tests: FORCE tests-gcc10: FORCE - env CXX=g++10 CXXFLAGS="-Wl,-rpath=/usr/local/lib/gcc10/ -Wall -pedantic -O0 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C src - env CXX=g++10 CXXFLAGS="-Wl,-rpath=/usr/local/lib/gcc10/ -Wall -pedantic -O0 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C tests - #env CXX=clang++ CXXFLAGS="-fsanitize=address -Wall -pedantic -O0 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C src - #env CXX=clang++ CXXFLAGS="-fsanitize=address -Wall -pedantic -O0 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C tests + env CXX=g++10 CXXFLAGS="-Wl,-rpath=/usr/local/lib/gcc10/ -Wall -pedantic -O0 -g3 -std=c++20 -fmax-errors=1 -I../src -I/usr/local/include" $(MAKE) -C src + env CXX=g++10 CXXFLAGS="-Wl,-rpath=/usr/local/lib/gcc10/ -Wall -pedantic -O0 -g3 -std=c++20 -fmax-errors=1 -I../src -I/usr/local/include" $(MAKE) -C tests + + +tests-clang: FORCE + env CXX=clang++ CXXFLAGS="-Wall -pedantic -O0 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C src + env CXX=clang++ CXXFLAGS="-Wall -pedantic -O0 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C tests + + +tests-clang-sa: FORCE + env CXX=clang++ CXXFLAGS="-fsanitize=address -Wall -pedantic -O0 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C src + env CXX=clang++ CXXFLAGS="-fsanitize=address -Wall -pedantic -O0 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C tests + + +tests-clang-sm: FORCE + env CXX=clang++ CXXFLAGS="-fsanitize=memory -Wall -pedantic -O3 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C src + env CXX=clang++ CXXFLAGS="-fsanitize=memory -Wall -pedantic -O3 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C tests + + +tests-clang-su: FORCE + env CXX=clang++ CXXFLAGS="-fsanitize=undefined -Wall -pedantic -O3 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C src + env CXX=clang++ CXXFLAGS="-fsanitize=undefined -Wall -pedantic -O3 -g3 -std=c++20 -I../src -I/usr/local/include" $(MAKE) -C tests clean: FORCE diff --git a/src/csv/csvparser.cpp b/src/csv/csvparser.cpp index a4800ca..437804b 100644 --- a/src/csv/csvparser.cpp +++ b/src/csv/csvparser.cpp @@ -161,16 +161,16 @@ void CSVParser::parse() * */ - Space * row_space = new Space(); - row_space->set_empty_table(); + Space row_space; + row_space.set_empty_table(); parse_row(row_space); - space->add(row_space); + space->add(std::move(row_space)); } } -void CSVParser::parse_row(Space * row_space) +void CSVParser::parse_row(Space & row_space) { bool continue_reading; @@ -182,9 +182,9 @@ void CSVParser::parse_row(Space * row_space) } -bool CSVParser::read_value_to(Space * row_space) +bool CSVParser::read_value_to(Space & row_space) { - Space & space_value = row_space->add_empty_space(); + Space & space_value = row_space.add_empty_space(); space_value.set_empty_wstring(); if( lastc == '"' ) diff --git a/src/csv/csvparser.h b/src/csv/csvparser.h index bb01132..7402896 100644 --- a/src/csv/csvparser.h +++ b/src/csv/csvparser.h @@ -135,9 +135,9 @@ protected: void parse(); - void parse_row(Space * row_space); + void parse_row(Space & row_space); - bool read_value_to(Space * row_space); + bool read_value_to(Space & row_space); bool read_quoted_value_to(std::wstring & value); bool read_non_quoted_value_to(std::wstring & value);