[clang] [clang-format] Don't split "DPI"/"DPI-C" in Verilog imports (PR #66951)

via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 21 07:22:58 PDT 2023


================
@@ -2270,7 +2270,18 @@ ContinuationIndenter::createBreakableToken(const FormatToken &Current,
     if (State.Stack.back().IsInsideObjCArrayLiteral)
       return nullptr;
 
+    // The "DPI"/"DPI-C" in SystemVerilog direct programming interface imports
+    // cannot be split, e.g.
+    // `import "DPI" function foo();`
     StringRef Text = Current.TokenText;
+    if (Style.isVerilog()) {
+      const FormatToken *Prev = Current.getPreviousNonComment();
+      if (Prev && Prev == State.Line->getFirstNonComment() &&
+          Prev->TokenText == "import") {
+        return nullptr;
+      }
+    }
+
----------------
sstwcw wrote:

> Also, I don't think this is Verilog specific.

For C++, it is already handled on line 2166.  I prefer fixing the Verilog problem by annotating the import lines instead of implementing said line again.  But if you think it is too much work for you, then I am also fine with your current fix.

https://github.com/llvm/llvm-project/pull/66951


More information about the cfe-commits mailing list