Skip to content

Commit 4c99d7f

Browse files
committed
fixed -Wlifetime-safety-cross-tu-suggestions Clang warnings
1 parent 1c67298 commit 4c99d7f

2 files changed

Lines changed: 10 additions & 10 deletions

File tree

simplecpp.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ namespace {
379379
class StdCharBufStream : public simplecpp::TokenList::Stream {
380380
public:
381381
// cppcheck-suppress uninitDerivedMemberVar - we call Stream::init() to initialize the private members
382-
StdCharBufStream(const unsigned char* str, std::size_t size)
382+
StdCharBufStream(const unsigned char* str SIMPLECPP_LIFETIMEBOUND, std::size_t size)
383383
: str(str)
384384
, size(size)
385385
{
@@ -1498,12 +1498,12 @@ namespace simplecpp {
14981498

14991499
class Macro {
15001500
public:
1501-
explicit Macro(std::vector<std::string> &f) : nameTokDef(nullptr), valueToken(nullptr), endToken(nullptr), files(f), tokenListDefine(f), variadic(false), variadicOpt(false), valueDefinedInCode_(false) {}
1501+
explicit Macro(std::vector<std::string> &f SIMPLECPP_LIFETIMEBOUND) : nameTokDef(nullptr), valueToken(nullptr), endToken(nullptr), files(f), tokenListDefine(f), variadic(false), variadicOpt(false), valueDefinedInCode_(false) {}
15021502

15031503
/**
15041504
* @throws std::runtime_error thrown on bad macro syntax
15051505
*/
1506-
Macro(const Token *tok, std::vector<std::string> &f) : nameTokDef(nullptr), files(f), tokenListDefine(f), valueDefinedInCode_(true) {
1506+
Macro(const Token *tok, std::vector<std::string> &f SIMPLECPP_LIFETIMEBOUND) : nameTokDef(nullptr), files(f), tokenListDefine(f), valueDefinedInCode_(true) {
15071507
if (sameline(tok->previousSkipComments(), tok))
15081508
throw std::runtime_error("bad macro syntax");
15091509
if (tok->op != '#')

simplecpp.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,20 +88,20 @@ namespace simplecpp {
8888
struct View
8989
{
9090
// cppcheck-suppress noExplicitConstructor
91-
View(const char* data)
91+
View(const char* data SIMPLECPP_LIFETIMEBOUND)
9292
: mData(data)
9393
, mSize(strlen(data))
9494
{}
9595

9696
// only provide when std::span is not available so using untyped initialization won't use View
9797
#if !defined(__cpp_lib_span)
98-
View(const char* data, std::size_t size)
98+
View(const char* data SIMPLECPP_LIFETIMEBOUND, std::size_t size)
9999
: mData(data)
100100
, mSize(size)
101101
{}
102102

103103
// cppcheck-suppress noExplicitConstructor
104-
View(const std::string& str)
104+
View(const std::string& str SIMPLECPP_LIFETIMEBOUND)
105105
: mData(str.data())
106106
, mSize(str.size())
107107
{}
@@ -269,9 +269,9 @@ namespace simplecpp {
269269
public:
270270
class Stream;
271271

272-
explicit TokenList(std::vector<std::string> &filenames);
272+
explicit TokenList(std::vector<std::string> &filenames SIMPLECPP_LIFETIMEBOUND);
273273
/** generates a token list from the given std::istream parameter */
274-
TokenList(std::istream &istr, std::vector<std::string> &filenames, const std::string &filename=std::string(), OutputList *outputList = nullptr);
274+
TokenList(std::istream &istr, std::vector<std::string> &filenames SIMPLECPP_LIFETIMEBOUND, const std::string &filename=std::string(), OutputList *outputList = nullptr);
275275
/** generates a token list from the given buffer */
276276
template<size_t size>
277277
TokenList(const char (&data)[size], std::vector<std::string> &filenames, const std::string &filename=std::string(), OutputList *outputList = nullptr)
@@ -309,7 +309,7 @@ namespace simplecpp {
309309
#endif // __cpp_lib_span
310310

311311
/** generates a token list from the given filename parameter */
312-
TokenList(const std::string &filename, std::vector<std::string> &filenames, OutputList *outputList = nullptr);
312+
TokenList(const std::string &filename, std::vector<std::string> &filenames SIMPLECPP_LIFETIMEBOUND, OutputList *outputList = nullptr);
313313
TokenList(const TokenList &other);
314314
TokenList(TokenList &&other);
315315
~TokenList();
@@ -389,7 +389,7 @@ namespace simplecpp {
389389
const std::string& file(const Location& loc) const;
390390

391391
private:
392-
TokenList(const unsigned char* data, std::size_t size, std::vector<std::string> &filenames, const std::string &filename, OutputList *outputList, int /*unused*/);
392+
TokenList(const unsigned char* data, std::size_t size, std::vector<std::string> &filenames SIMPLECPP_LIFETIMEBOUND, const std::string &filename, OutputList *outputList, int /*unused*/);
393393

394394
void combineOperators();
395395

0 commit comments

Comments
 (0)