summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2016-09-09 13:09:46 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2016-09-21 00:31:12 +0100
commit7b1bcae879305da138bb3e08d04735b54266c537 (patch)
tree1ca365c8b49b0696a61729bccf43fb1b1c58df3b
parent84ff8a4df9eac157ea9df22054b996fef5b34d8f (diff)
downloadrockbox-7b1bcae879305da138bb3e08d04735b54266c537.tar.gz
rockbox-7b1bcae879305da138bb3e08d04735b54266c537.zip
regtools: rename error_t to err_t to avoid name clash
Change-Id: Ib8d34e4f58f3225b1dafc533ce7e1b7867ad053b
-rw-r--r--utils/regtools/headergen_v2.cpp8
-rw-r--r--utils/regtools/include/soc_desc.hpp10
-rw-r--r--utils/regtools/lib/formula.cpp2
-rw-r--r--utils/regtools/lib/soc_desc.cpp13
-rw-r--r--utils/regtools/swiss_knife.cpp44
5 files changed, 38 insertions, 39 deletions
diff --git a/utils/regtools/headergen_v2.cpp b/utils/regtools/headergen_v2.cpp
index bc056aaeb5..22a99b7df4 100644
--- a/utils/regtools/headergen_v2.cpp
+++ b/utils/regtools/headergen_v2.cpp
@@ -87,12 +87,12 @@ void print_context(const error_context_t& ctx)
87{ 87{
88 for(size_t j = 0; j < ctx.count(); j++) 88 for(size_t j = 0; j < ctx.count(); j++)
89 { 89 {
90 error_t e = ctx.get(j); 90 err_t e = ctx.get(j);
91 switch(e.level()) 91 switch(e.level())
92 { 92 {
93 case error_t::INFO: printf("[INFO]"); break; 93 case err_t::INFO: printf("[INFO]"); break;
94 case error_t::WARNING: printf("[WARN]"); break; 94 case err_t::WARNING: printf("[WARN]"); break;
95 case error_t::FATAL: printf("[FATAL]"); break; 95 case err_t::FATAL: printf("[FATAL]"); break;
96 default: printf("[UNK]"); break; 96 default: printf("[UNK]"); break;
97 } 97 }
98 if(e.location().size() != 0) 98 if(e.location().size() != 0)
diff --git a/utils/regtools/include/soc_desc.hpp b/utils/regtools/include/soc_desc.hpp
index b8d16b423e..3d8481f963 100644
--- a/utils/regtools/include/soc_desc.hpp
+++ b/utils/regtools/include/soc_desc.hpp
@@ -43,7 +43,7 @@ typedef int soc_id_t;
43const soc_id_t DEFAULT_ID = 0xcafebabe; 43const soc_id_t DEFAULT_ID = 0xcafebabe;
44 44
45/** Error class */ 45/** Error class */
46class error_t 46class err_t
47{ 47{
48public: 48public:
49 enum level_t 49 enum level_t
@@ -52,7 +52,7 @@ public:
52 WARNING, 52 WARNING,
53 FATAL 53 FATAL
54 }; 54 };
55 error_t(level_t lvl, const std::string& loc, const std::string& msg) 55 err_t(level_t lvl, const std::string& loc, const std::string& msg)
56 :m_level(lvl), m_loc(loc), m_msg(msg) {} 56 :m_level(lvl), m_loc(loc), m_msg(msg) {}
57 level_t level() const { return m_level; } 57 level_t level() const { return m_level; }
58 std::string location() const { return m_loc; } 58 std::string location() const { return m_loc; }
@@ -66,11 +66,11 @@ protected:
66class error_context_t 66class error_context_t
67{ 67{
68public: 68public:
69 void add(const error_t& err) { m_list.push_back(err); } 69 void add(const err_t& err) { m_list.push_back(err); }
70 size_t count() const { return m_list.size(); } 70 size_t count() const { return m_list.size(); }
71 error_t get(size_t i) const { return m_list[i]; } 71 err_t get(size_t i) const { return m_list[i]; }
72protected: 72protected:
73 std::vector< error_t > m_list; 73 std::vector< err_t > m_list;
74}; 74};
75 75
76/** 76/**
diff --git a/utils/regtools/lib/formula.cpp b/utils/regtools/lib/formula.cpp
index 1a6b16c773..dbde20a321 100644
--- a/utils/regtools/lib/formula.cpp
+++ b/utils/regtools/lib/formula.cpp
@@ -24,7 +24,7 @@ struct formula_evaluator
24 va_start(args, fmt); 24 va_start(args, fmt);
25 vsnprintf(buffer,sizeof(buffer), fmt, args); 25 vsnprintf(buffer,sizeof(buffer), fmt, args);
26 va_end(args); 26 va_end(args);
27 ctx.add(error_t(error_t::FATAL, m_loc, buffer)); 27 ctx.add(err_t(err_t::FATAL, m_loc, buffer));
28 return false; 28 return false;
29 } 29 }
30 30
diff --git a/utils/regtools/lib/soc_desc.cpp b/utils/regtools/lib/soc_desc.cpp
index b52201672f..3238c4de73 100644
--- a/utils/regtools/lib/soc_desc.cpp
+++ b/utils/regtools/lib/soc_desc.cpp
@@ -149,23 +149,23 @@ std::string xml_loc(xmlAttr *attr)
149} 149}
150 150
151template<typename T> 151template<typename T>
152bool add_error(error_context_t& ctx, error_t::level_t lvl, T *node, 152bool add_error(error_context_t& ctx, err_t::level_t lvl, T *node,
153 const std::string& msg) 153 const std::string& msg)
154{ 154{
155 ctx.add(error_t(lvl, xml_loc(node), msg)); 155 ctx.add(err_t(lvl, xml_loc(node), msg));
156 return false; 156 return false;
157} 157}
158 158
159template<typename T> 159template<typename T>
160bool add_fatal(error_context_t& ctx, T *node, const std::string& msg) 160bool add_fatal(error_context_t& ctx, T *node, const std::string& msg)
161{ 161{
162 return add_error(ctx, error_t::FATAL, node, msg); 162 return add_error(ctx, err_t::FATAL, node, msg);
163} 163}
164 164
165template<typename T> 165template<typename T>
166bool add_warning(error_context_t& ctx, T *node, const std::string& msg) 166bool add_warning(error_context_t& ctx, T *node, const std::string& msg)
167{ 167{
168 return add_error(ctx, error_t::WARNING, node, msg); 168 return add_error(ctx, err_t::WARNING, node, msg);
169} 169}
170 170
171bool parse_wrong_version_error(xmlNode *node, error_context_t& ctx) 171bool parse_wrong_version_error(xmlNode *node, error_context_t& ctx)
@@ -529,7 +529,7 @@ bool parse_root_elem(xmlNode *node, soc_t& soc, error_context_t& ctx)
529 END_ATTR_MATCH() 529 END_ATTR_MATCH()
530 if(!has_version) 530 if(!has_version)
531 { 531 {
532 ctx.add(error_t(error_t::FATAL, xml_loc(node), "no version attribute, is this a v1 file ?")); 532 ctx.add(err_t(err_t::FATAL, xml_loc(node), "no version attribute, is this a v1 file ?"));
533 return false; 533 return false;
534 } 534 }
535 if(ver != MAJOR_VERSION) 535 if(ver != MAJOR_VERSION)
@@ -660,7 +660,7 @@ namespace
660 if((x) < 0) { \ 660 if((x) < 0) { \
661 std::ostringstream oss; \ 661 std::ostringstream oss; \
662 oss << __FILE__ << ":" << __LINE__; \ 662 oss << __FILE__ << ":" << __LINE__; \
663 ctx.add(error_t(error_t::FATAL, oss.str(), "write error")); \ 663 ctx.add(err_t(err_t::FATAL, oss.str(), "write error")); \
664 return -1; \ 664 return -1; \
665 } \ 665 } \
666 }while(0) 666 }while(0)
@@ -1576,7 +1576,6 @@ node_inst_t node_inst_t::child(const std::string& name) const
1576 return child(name, INST_NO_INDEX); 1576 return child(name, INST_NO_INDEX);
1577} 1577}
1578 1578
1579
1580node_inst_t node_inst_t::child(const std::string& name, size_t index) const 1579node_inst_t node_inst_t::child(const std::string& name, size_t index) const
1581{ 1580{
1582 std::vector< node_t > *nodes = get_children(m_node); 1581 std::vector< node_t > *nodes = get_children(m_node);
diff --git a/utils/regtools/swiss_knife.cpp b/utils/regtools/swiss_knife.cpp
index fb65b5ca24..2ea1fc4ad3 100644
--- a/utils/regtools/swiss_knife.cpp
+++ b/utils/regtools/swiss_knife.cpp
@@ -35,12 +35,12 @@ void print_context(const error_context_t& ctx)
35{ 35{
36 for(size_t j = 0; j < ctx.count(); j++) 36 for(size_t j = 0; j < ctx.count(); j++)
37 { 37 {
38 error_t e = ctx.get(j); 38 err_t e = ctx.get(j);
39 switch(e.level()) 39 switch(e.level())
40 { 40 {
41 case error_t::INFO: printf("[INFO]"); break; 41 case err_t::INFO: printf("[INFO]"); break;
42 case error_t::WARNING: printf("[WARN]"); break; 42 case err_t::WARNING: printf("[WARN]"); break;
43 case error_t::FATAL: printf("[FATAL]"); break; 43 case err_t::FATAL: printf("[FATAL]"); break;
44 default: printf("[UNK]"); break; 44 default: printf("[UNK]"); break;
45 } 45 }
46 if(e.location().size() != 0) 46 if(e.location().size() != 0)
@@ -110,7 +110,7 @@ bool convert_v1_to_v2(const soc_desc_v1::soc_reg_t& in, node_t& out, error_conte
110 soc_word_t base = 0, stride = 0; 110 soc_word_t base = 0, stride = 0;
111 if(in.addr.size() <= 1) 111 if(in.addr.size() <= 1)
112 { 112 {
113 ctx.add(error_t(error_t::WARNING, loc, 113 ctx.add(err_t(err_t::WARNING, loc,
114 "register uses a formula but has only one instance")); 114 "register uses a formula but has only one instance"));
115 is_stride = false; 115 is_stride = false;
116 } 116 }
@@ -125,7 +125,7 @@ bool convert_v1_to_v2(const soc_desc_v1::soc_reg_t& in, node_t& out, error_conte
125 125
126 if(is_stride) 126 if(is_stride)
127 { 127 {
128 ctx.add(error_t(error_t::INFO, loc, "promoted formula to base/stride")); 128 ctx.add(err_t(err_t::INFO, loc, "promoted formula to base/stride"));
129 out.instance[0].range.type = range_t::STRIDE; 129 out.instance[0].range.type = range_t::STRIDE;
130 out.instance[0].range.base = base; 130 out.instance[0].range.base = base;
131 out.instance[0].range.stride = stride; 131 out.instance[0].range.stride = stride;
@@ -167,7 +167,7 @@ bool convert_v1_to_v2(const soc_desc_v1::soc_dev_t& in, node_t& out, error_conte
167{ 167{
168 std::string loc = _loc + "." + in.name; 168 std::string loc = _loc + "." + in.name;
169 if(!in.version.empty()) 169 if(!in.version.empty())
170 ctx.add(error_t(error_t::INFO, loc, "dropped version")); 170 ctx.add(err_t(err_t::INFO, loc, "dropped version"));
171 out.name = in.name; 171 out.name = in.name;
172 out.title = in.long_name; 172 out.title = in.long_name;
173 out.desc = in.desc; 173 out.desc = in.desc;
@@ -330,10 +330,10 @@ int do_write(int argc, char **argv)
330void check_name(const std::string& path, const std::string& name, error_context_t& ctx) 330void check_name(const std::string& path, const std::string& name, error_context_t& ctx)
331{ 331{
332 if(name.empty()) 332 if(name.empty())
333 ctx.add(error_t(error_t::FATAL, path, "name is empty")); 333 ctx.add(err_t(err_t::FATAL, path, "name is empty"));
334 for(size_t i = 0; i < name.size(); i++) 334 for(size_t i = 0; i < name.size(); i++)
335 if(!isalnum(name[i]) && name[i] != '_') 335 if(!isalnum(name[i]) && name[i] != '_')
336 ctx.add(error_t(error_t::FATAL, path, "name '" + name + 336 ctx.add(err_t(err_t::FATAL, path, "name '" + name +
337 "' must only contain alphanumeric characters or '_'")); 337 "' must only contain alphanumeric characters or '_'"));
338} 338}
339 339
@@ -351,7 +351,7 @@ void check_instance(const std::string& _path, const instance_t& inst, error_cont
351 var[inst.range.variable] = inst.range.first; 351 var[inst.range.variable] = inst.range.first;
352 soc_word_t res; 352 soc_word_t res;
353 if(!evaluate_formula(inst.range.formula, var, res, path + ".<formula>", ctx)) 353 if(!evaluate_formula(inst.range.formula, var, res, path + ".<formula>", ctx))
354 ctx.add(error_t(error_t::FATAL, path + ".<formula>", 354 ctx.add(err_t(err_t::FATAL, path + ".<formula>",
355 "cannot evaluate formula")); 355 "cannot evaluate formula"));
356 } 356 }
357 } 357 }
@@ -362,7 +362,7 @@ void check_field(const std::string& _path, const field_t& field, error_context_t
362 std::string path = _path + "." + field.name; 362 std::string path = _path + "." + field.name;
363 check_name(path, field.name, ctx); 363 check_name(path, field.name, ctx);
364 if(field.width == 0) 364 if(field.width == 0)
365 ctx.add(error_t(error_t::WARNING, path, "field has width 0")); 365 ctx.add(err_t(err_t::WARNING, path, "field has width 0"));
366 soc_word_t max = field.bitmask() >> field.pos; 366 soc_word_t max = field.bitmask() >> field.pos;
367 std::set< std::string > names; 367 std::set< std::string > names;
368 std::map< soc_word_t, std::string > map; 368 std::map< soc_word_t, std::string > map;
@@ -373,12 +373,12 @@ void check_field(const std::string& _path, const field_t& field, error_context_t
373 std::string path_ = path + "." + n; 373 std::string path_ = path + "." + n;
374 check_name(path_, n, ctx); 374 check_name(path_, n, ctx);
375 if(v > max) 375 if(v > max)
376 ctx.add(error_t(error_t::FATAL, path_, "value does not fit into the field")); 376 ctx.add(err_t(err_t::FATAL, path_, "value does not fit into the field"));
377 if(names.find(n) != names.end()) 377 if(names.find(n) != names.end())
378 ctx.add(error_t(error_t::FATAL, path, "duplicate name '" + n + "' in enums")); 378 ctx.add(err_t(err_t::FATAL, path, "duplicate name '" + n + "' in enums"));
379 names.insert(n); 379 names.insert(n);
380 if(map.find(v) != map.end()) 380 if(map.find(v) != map.end())
381 ctx.add(error_t(error_t::WARNING, path, "'" + n + "' and '" + map[v] + "' have the same value")); 381 ctx.add(err_t(err_t::WARNING, path, "'" + n + "' and '" + map[v] + "' have the same value"));
382 map[v] = n; 382 map[v] = n;
383 } 383 }
384} 384}
@@ -387,7 +387,7 @@ void check_register(const std::string& _path, const soc_desc::register_t& reg, e
387{ 387{
388 std::string path = _path + ".<register>"; 388 std::string path = _path + ".<register>";
389 if(reg.width != 8 && reg.width != 16 && reg.width != 32) 389 if(reg.width != 8 && reg.width != 16 && reg.width != 32)
390 ctx.add(error_t(error_t::WARNING, path, "width is not 8, 16 or 32")); 390 ctx.add(err_t(err_t::WARNING, path, "width is not 8, 16 or 32"));
391 for(size_t i = 0; i < reg.field.size(); i++) 391 for(size_t i = 0; i < reg.field.size(); i++)
392 check_field(path, reg.field[i], ctx); 392 check_field(path, reg.field[i], ctx);
393 std::set< std::string > names; 393 std::set< std::string > names;
@@ -396,16 +396,16 @@ void check_register(const std::string& _path, const soc_desc::register_t& reg, e
396 { 396 {
397 std::string n = reg.field[i].name; 397 std::string n = reg.field[i].name;
398 if(names.find(n) != names.end()) 398 if(names.find(n) != names.end())
399 ctx.add(error_t(error_t::FATAL, path, "duplicate name '" + n + "' in fields")); 399 ctx.add(err_t(err_t::FATAL, path, "duplicate name '" + n + "' in fields"));
400 if(reg.field[i].pos + reg.field[i].width > reg.width) 400 if(reg.field[i].pos + reg.field[i].width > reg.width)
401 ctx.add(error_t(error_t::FATAL, path, "field '" + n + "' does not fit into the register")); 401 ctx.add(err_t(err_t::FATAL, path, "field '" + n + "' does not fit into the register"));
402 names.insert(n); 402 names.insert(n);
403 if(bitmap & reg.field[i].bitmask()) 403 if(bitmap & reg.field[i].bitmask())
404 { 404 {
405 /* find the duplicate to ease debugging */ 405 /* find the duplicate to ease debugging */
406 for(size_t j = 0; j < i; j++) 406 for(size_t j = 0; j < i; j++)
407 if(reg.field[j].bitmask() & reg.field[i].bitmask()) 407 if(reg.field[j].bitmask() & reg.field[i].bitmask())
408 ctx.add(error_t(error_t::FATAL, path, "overlap between fields '" + 408 ctx.add(err_t(err_t::FATAL, path, "overlap between fields '" +
409 reg.field[j].name + "' and '" + n + "'")); 409 reg.field[j].name + "' and '" + n + "'"));
410 } 410 }
411 bitmap |= reg.field[i].bitmask(); 411 bitmap |= reg.field[i].bitmask();
@@ -420,7 +420,7 @@ void check_node(const std::string& _path, const node_t& node, error_context_t& c
420 std::string path = _path + "." + node.name; 420 std::string path = _path + "." + node.name;
421 check_name(_path, node.name, ctx); 421 check_name(_path, node.name, ctx);
422 if(node.instance.empty()) 422 if(node.instance.empty())
423 ctx.add(error_t(error_t::WARNING, path, "subnode with no instances")); 423 ctx.add(err_t(err_t::WARNING, path, "subnode with no instances"));
424 for(size_t j = 0; j < node.instance.size(); j++) 424 for(size_t j = 0; j < node.instance.size(); j++)
425 check_instance(path, node.instance[j], ctx); 425 check_instance(path, node.instance[j], ctx);
426 for(size_t i = 0; i < node.register_.size(); i++) 426 for(size_t i = 0; i < node.register_.size(); i++)
@@ -440,7 +440,7 @@ void check_nodes(const std::string& path, const std::vector< node_t >& nodes,
440 { 440 {
441 std::string n = nodes[i].instance[j].name; 441 std::string n = nodes[i].instance[j].name;
442 if(names.find(n) != names.end()) 442 if(names.find(n) != names.end())
443 ctx.add(error_t(error_t::FATAL, path, "duplicate instance name '" + 443 ctx.add(err_t(err_t::FATAL, path, "duplicate instance name '" +
444 n + "' in subnodes")); 444 n + "' in subnodes"));
445 names.insert(n); 445 names.insert(n);
446 } 446 }
@@ -450,7 +450,7 @@ void check_nodes(const std::string& path, const std::vector< node_t >& nodes,
450 { 450 {
451 std::string n = nodes[i].name; 451 std::string n = nodes[i].name;
452 if(names.find(n) != names.end()) 452 if(names.find(n) != names.end())
453 ctx.add(error_t(error_t::FATAL, path, "duplicate node name '" + n + 453 ctx.add(err_t(err_t::FATAL, path, "duplicate node name '" + n +
454 "' in subnodes")); 454 "' in subnodes"));
455 names.insert(n); 455 names.insert(n);
456 } 456 }
@@ -832,4 +832,4 @@ int main(int argc, char **argv)
832 else 832 else
833 usage(); 833 usage();
834 return 0; 834 return 0;
835} \ No newline at end of file 835}