Fix compiler warnings about "hidden" names

pull/20/head
hvellyr 8 years ago committed by gck
parent 15ce11b594
commit 8363407768
  1. 6
      lint/httplib.h
  2. 104
      peglib.h

@ -572,11 +572,11 @@ inline void parse_query_text(const std::string& s, Map& params)
split(&s[0], &s[s.size()], '&', [&](const char* b, const char* e) { split(&s[0], &s[s.size()], '&', [&](const char* b, const char* e) {
std::string key; std::string key;
std::string val; std::string val;
split(b, e, '=', [&](const char* b, const char* e) { split(b, e, '=', [&](const char* b2, const char* e2) {
if (key.empty()) { if (key.empty()) {
key.assign(b, e); key.assign(b2, e2);
} else { } else {
val.assign(b, e); val.assign(b2, e2);
} }
}); });
params[key] = detail::decode_url(val); params[key] = detail::decode_url(val);

@ -479,44 +479,44 @@ public:
std::function<void (const char*, const char*, size_t, const SemanticValues&, const Context&, const any&)> tracer; std::function<void (const char*, const char*, size_t, const SemanticValues&, const Context&, const any&)> tracer;
Context( Context(
const char* path, const char* a_path,
const char* s, const char* a_s,
size_t l, size_t a_l,
size_t def_count, size_t a_def_count,
std::shared_ptr<Ope> whitespaceOpe, std::shared_ptr<Ope> a_whitespaceOpe,
bool enablePackratParsing, bool a_enablePackratParsing,
Tracer tracer) Tracer a_tracer)
: path(path) : path(a_path)
, s(s) , s(a_s)
, l(l) , l(a_l)
, error_pos(nullptr) , error_pos(nullptr)
, message_pos(nullptr) , message_pos(nullptr)
, value_stack_size(0) , value_stack_size(0)
, nest_level(0) , nest_level(0)
, in_token(false) , in_token(false)
, whitespaceOpe(whitespaceOpe) , whitespaceOpe(a_whitespaceOpe)
, in_whitespace(false) , in_whitespace(false)
, def_count(def_count) , def_count(a_def_count)
, enablePackratParsing(enablePackratParsing) , enablePackratParsing(a_enablePackratParsing)
, cache_register(enablePackratParsing ? def_count * (l + 1) : 0) , cache_register(enablePackratParsing ? def_count * (l + 1) : 0)
, cache_success(enablePackratParsing ? def_count * (l + 1) : 0) , cache_success(enablePackratParsing ? def_count * (l + 1) : 0)
, tracer(tracer) , tracer(a_tracer)
{ {
} }
template <typename T> template <typename T>
void packrat(const char* s, size_t def_id, size_t& len, any& val, T fn) { void packrat(const char* a_s, size_t def_id, size_t& len, any& val, T fn) {
if (!enablePackratParsing) { if (!enablePackratParsing) {
fn(val); fn(val);
return; return;
} }
auto col = s - this->s; auto col = a_s - s;
auto has_cache = cache_register[def_count * static_cast<size_t>(col) + def_id]; auto has_cache = cache_register[def_count * static_cast<size_t>(col) + def_id];
if (has_cache) { if (has_cache) {
if (cache_success[def_count * static_cast<size_t>(col) + def_id]) { if (cache_success[def_count * static_cast<size_t>(col) + def_id]) {
const auto& key = std::make_pair(s - this->s, def_id); const auto& key = std::make_pair(a_s - s, def_id);
std::tie(len, val) = cache_result[key]; std::tie(len, val) = cache_result[key];
return; return;
} else { } else {
@ -528,7 +528,7 @@ public:
cache_register[def_count * static_cast<size_t>(col) + def_id] = true; cache_register[def_count * static_cast<size_t>(col) + def_id] = true;
cache_success[def_count * static_cast<size_t>(col) + def_id] = success(len); cache_success[def_count * static_cast<size_t>(col) + def_id] = success(len);
if (success(len)) { if (success(len)) {
const auto& key = std::make_pair(s - this->s, def_id); const auto& key = std::make_pair(a_s - s, def_id);
cache_result[key] = std::make_pair(len, val); cache_result[key] = std::make_pair(len, val);
} }
return; return;
@ -556,12 +556,12 @@ public:
value_stack_size--; value_stack_size--;
} }
void set_error_pos(const char* s) { void set_error_pos(const char* a_s) {
if (error_pos < s) error_pos = s; if (error_pos < a_s) error_pos = a_s;
} }
void trace(const char* name, const char* s, size_t n, SemanticValues& sv, any& dt) const { void trace(const char* name, const char* a_s, size_t n, SemanticValues& sv, any& dt) const {
if (tracer) tracer(name, s, n, sv, *this, dt); if (tracer) tracer(name, a_s, n, sv, *this, dt);
} }
}; };
@ -1418,14 +1418,14 @@ inline size_t Holder::parse(const char* s, size_t n, SemanticValues& sv, Context
size_t len; size_t len;
any val; any val;
c.packrat(s, outer_->id, len, val, [&](any& val) { c.packrat(s, outer_->id, len, val, [&](any& a_val) {
auto& chldsv = c.push(); auto& chldsv = c.push();
if (outer_->enter) { if (outer_->enter) {
outer_->enter(dt); outer_->enter(dt);
} }
auto se = make_scope_exit([&]() { auto se2 = make_scope_exit([&]() {
c.pop(); c.pop();
if (outer_->leave) { if (outer_->leave) {
@ -1442,7 +1442,7 @@ inline size_t Holder::parse(const char* s, size_t n, SemanticValues& sv, Context
chldsv.n_ = len; chldsv.n_ = len;
try { try {
val = reduce(chldsv, dt); a_val = reduce(chldsv, dt);
} catch (const parse_error& e) { } catch (const parse_error& e) {
if (e.what()) { if (e.what()) {
if (c.message_pos < s) { if (c.message_pos < s) {
@ -2201,43 +2201,43 @@ inline constexpr unsigned int operator "" _(const char* s, size_t) {
template <typename Annotation> template <typename Annotation>
struct AstBase : public Annotation struct AstBase : public Annotation
{ {
AstBase(const char* path, size_t line, size_t column, const char* name, const std::vector<std::shared_ptr<AstBase>>& nodes) AstBase(const char* a_path, size_t a_line, size_t a_column, const char* a_name, const std::vector<std::shared_ptr<AstBase>>& a_nodes)
: path(path ? path : "") : path(a_path ? a_path : "")
, line(line) , line(a_line)
, column(column) , column(a_column)
, name(name) , name(a_name)
, original_name(name) , original_name(a_name)
#ifndef PEGLIB_NO_CONSTEXPR_SUPPORT #ifndef PEGLIB_NO_CONSTEXPR_SUPPORT
, tag(str2tag(name)) , tag(str2tag(a_name))
, original_tag(tag) , original_tag(tag)
#endif #endif
, is_token(false) , is_token(false)
, nodes(nodes) , nodes(a_nodes)
{} {}
AstBase(const char* path, size_t line, size_t column, const char* name, const std::string& token) AstBase(const char* a_path, size_t a_line, size_t a_column, const char* a_name, const std::string& a_token)
: path(path ? path : "") : path(a_path ? a_path : "")
, line(line) , line(a_line)
, column(column) , column(a_column)
, name(name) , name(a_name)
, original_name(name) , original_name(a_name)
#ifndef PEGLIB_NO_CONSTEXPR_SUPPORT #ifndef PEGLIB_NO_CONSTEXPR_SUPPORT
, tag(str2tag(name)) , tag(str2tag(a_name))
, original_tag(tag) , original_tag(tag)
#endif #endif
, is_token(true) , is_token(true)
, token(token) , token(a_token)
{} {}
AstBase(const AstBase& ast, const char* original_name) AstBase(const AstBase& ast, const char* a_original_name)
: path(ast.path) : path(ast.path)
, line(ast.line) , line(ast.line)
, column(ast.column) , column(ast.column)
, name(ast.name) , name(ast.name)
, original_name(original_name) , original_name(a_original_name)
#ifndef PEGLIB_NO_CONSTEXPR_SUPPORT #ifndef PEGLIB_NO_CONSTEXPR_SUPPORT
, tag(ast.tag) , tag(ast.tag)
, original_tag(str2tag(original_name)) , original_tag(str2tag(a_original_name))
#endif #endif
, is_token(ast.is_token) , is_token(ast.is_token)
, token(ast.token) , token(ast.token)
@ -2358,8 +2358,8 @@ public:
s, n, s, n,
rules, rules,
start_, start_,
[&](const char* s, size_t n, size_t id, const std::string& name) { [&](const char* a_s, size_t a_n, size_t a_id, const std::string& a_name) {
if (match_action) match_action(s, n, id, name); if (match_action) match_action(a_s, a_n, a_id, a_name);
}, },
log); log);
@ -2637,8 +2637,8 @@ inline bool peg_match(const char* syntax, const char* s, match& m) {
m.matches.clear(); m.matches.clear();
parser pg(syntax); parser pg(syntax);
pg.match_action = [&](const char* s, size_t n, size_t id, const std::string& name) { pg.match_action = [&](const char* a_s, size_t a_n, size_t a_id, const std::string& a_name) {
m.matches.push_back(match::Item{ s, n, id, name }); m.matches.push_back(match::Item{ a_s, a_n, a_id, a_name });
}; };
auto ret = pg.parse(s); auto ret = pg.parse(s);
@ -2658,8 +2658,8 @@ inline bool peg_match(const char* syntax, const char* s) {
inline bool peg_search(parser& pg, const char* s, size_t n, match& m) { inline bool peg_search(parser& pg, const char* s, size_t n, match& m) {
m.matches.clear(); m.matches.clear();
pg.match_action = [&](const char* s, size_t n, size_t id, const std::string& name) { pg.match_action = [&](const char* a_s, size_t a_n, size_t a_id, const std::string& a_name) {
m.matches.push_back(match::Item{ s, n, id, name }); m.matches.push_back(match::Item{ a_s, a_n, a_id, a_name });
}; };
size_t mpos, mlen; size_t mpos, mlen;
@ -2701,8 +2701,8 @@ public:
, s_(s) , s_(s)
, l_(strlen(s)) , l_(strlen(s))
, pos_(0) { , pos_(0) {
peg_.match_action = [&](const char* s, size_t n, size_t id, const std::string& name) { peg_.match_action = [&](const char* a_s, size_t a_n, size_t a_id, const std::string& a_name) {
m_.matches.push_back(match::Item{ s, n, id, name }); m_.matches.push_back(match::Item{ a_s, a_n, a_id, a_name });
}; };
search(); search();
} }

Loading…
Cancel
Save