mirror of https://github.com/YosysHQ/yosys.git
Fixed handling of "//" in filenames in verilog pre-processor
This commit is contained in:
parent
756b4064b2
commit
ef151b0b30
|
@ -201,7 +201,7 @@ static void input_file(std::istream &f, std::string filename)
|
||||||
insert_input("");
|
insert_input("");
|
||||||
auto it = input_buffer.begin();
|
auto it = input_buffer.begin();
|
||||||
|
|
||||||
input_buffer.insert(it, "`file_push " + filename + "\n");
|
input_buffer.insert(it, "`file_push \"" + filename + "\"\n");
|
||||||
while ((rc = readsome(f, buffer, sizeof(buffer)-1)) > 0) {
|
while ((rc = readsome(f, buffer, sizeof(buffer)-1)) > 0) {
|
||||||
buffer[rc] = 0;
|
buffer[rc] = 0;
|
||||||
input_buffer.insert(it, buffer);
|
input_buffer.insert(it, buffer);
|
||||||
|
|
|
@ -85,6 +85,10 @@ YOSYS_NAMESPACE_END
|
||||||
fn_stack.push_back(current_filename);
|
fn_stack.push_back(current_filename);
|
||||||
ln_stack.push_back(frontend_verilog_yyget_lineno());
|
ln_stack.push_back(frontend_verilog_yyget_lineno());
|
||||||
current_filename = yytext+11;
|
current_filename = yytext+11;
|
||||||
|
if (!current_filename.empty() && current_filename.front() == '"')
|
||||||
|
current_filename = current_filename.substr(1);
|
||||||
|
if (!current_filename.empty() && current_filename.back() == '"')
|
||||||
|
current_filename = current_filename.substr(0, current_filename.size()-1);
|
||||||
frontend_verilog_yyset_lineno(0);
|
frontend_verilog_yyset_lineno(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue