Avoid assert when label is an empty string
authorJon Burgess <jburgess777@gmail.com>
Sun, 28 Oct 2018 14:49:09 +0000 (14:49 +0000)
committerJon Burgess <jburgess777@gmail.com>
Sun, 28 Oct 2018 14:57:04 +0000 (14:57 +0000)
commit6732e566321b828c83b563d24a10ac31c6d03e28
tree20b999fa4b614f5c72defc8420e53ac96acb3e62
parentdb676957a0c3032ff44e3195d770948c1c3660af
Avoid assert when label is an empty string

Calling back() on an empty string is not allowed and triggers
an assert with recent gcc:

$ cd manual/PRESENTATION_Intro
$ ../../yosys counter.ys
...
/usr/include/c++/8/bits/basic_string.h:1136: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::back() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference = char&]: Assertion '!empty()' failed.

802             if (label.back() == ':' && GetSize(label) > 1)
(gdb) p label
$1 = ""
kernel/yosys.cc