substr() -> compare()
[yosys.git] / frontends / verific / verific.cc
index 2bf99e58e8628acfa2c3699cc2c3cc170cbf7b33..594da45ebc28f15724030cba07831ee3fc12e032 100644 (file)
@@ -2140,7 +2140,7 @@ struct VerificPass : public Pass {
                        veri_file::DefineMacro("VERIFIC");
                        veri_file::DefineMacro(args[argidx] == "-formal" ? "FORMAL" : "SYNTHESIS");
 
-                       for (argidx++; argidx < GetSize(args) && GetSize(args[argidx]) >= 2 && args[argidx].substr(0, 2) == "-D"; argidx++) {
+                       for (argidx++; argidx < GetSize(args) && GetSize(args[argidx]) >= 2 && args[argidx].compare(0, 2, "-D") == 0; argidx++) {
                                std::string name = args[argidx].substr(2);
                                if (args[argidx] == "-D") {
                                        if (++argidx >= GetSize(args))
@@ -2283,7 +2283,7 @@ struct VerificPass : public Pass {
                                break;
                        }
 
-                       if (argidx > GetSize(args) && args[argidx].substr(0, 1) == "-")
+                       if (argidx > GetSize(args) && args[argidx].compare(0, 1, "-") == 0)
                                cmd_error(args, argidx, "unknown option");
 
                        if (mode_all)
@@ -2484,7 +2484,7 @@ struct ReadPass : public Pass {
                                args[0] = "verific";
                        } else {
                                args[0] = "read_verilog";
-                               args.erase(args.begin()+1, args.begin()+2);
+                               args[1] = "-defer";
                        }
                        Pass::call(design, args);
                        return;
@@ -2498,6 +2498,7 @@ struct ReadPass : public Pass {
                                if (args[1] == "-formal")
                                        args.insert(args.begin()+1, std::string());
                                args[1] = "-sv";
+                               args.insert(args.begin()+1, "-defer");
                        }
                        Pass::call(design, args);
                        return;