3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-10 19:27:07 +00:00

Merge pull request from pumbor/master

handle anonymous unions to fix 
This commit is contained in:
N. Engelhardt 2020-01-29 15:21:28 +01:00 committed by GitHub
commit 177a7cb23e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1935,6 +1935,19 @@ def parse_header(source):
line = source_text[i].replace("YOSYS_NAMESPACE_BEGIN", " namespace YOSYS_NAMESPACE{").replace("YOSYS_NAMESPACE_END"," }")
ugly_line = unpretty_string(line)
# for anonymous unions, ignore union enclosure by skipping start line and replacing end line with new line
if 'union {' in line:
j = i+1
while j < len(source_text):
union_line = source_text[j]
if '};' in union_line:
source_text[j] = '\n'
break
j += 1
if j != len(source_text):
i += 1
continue
if str.startswith(ugly_line, "namespace "):# and ugly_line.find("std") == -1 and ugly_line.find("__") == -1:
namespace_name = ugly_line[10:].replace("{","").strip()
namespaces.append((namespace_name, ugly_line.count("{")))