================
@@ -108,9 +109,15 @@ class PrototypeParser {
     } else if (T.consume_back("&")) {
       ParseType(T);
       Type += "&";
+    } else if (T.consume_front("long long")) {
----------------
chandlerc wrote:

Sure, I use the Fish shell and have a bunch of command line tools that help 
with this installed:

- https://github.com/BurntSushi/ripgrep as `rg`, nicer form of `grep`
- https://github.com/chmln/sd as `sd`, nicer form of `sed` for line-based regex 
search and replace

Combined, they let me write a `diff` command like:

```fish
diff -u (rg -I '^(TARGET|BUILTIN)' BuiltinsX86.def BuiltinsX86.inc | sd 
'^BUILTIN\((.*)\)' 'TARGET_BUILTIN($1, "")' | sd ' +' ' ' | sd ',([X"])' ', $1' 
| sort | psub)  (rg '^TARGET' 
dev/tools/clang/include/clang/Basic/BuiltinsX86.inc | sort | psub)
```

Here `BuiltinsX86.def` and `BuiltinsX86.inc` are copies of the `.def` and 
`.inc` from before this PR, and `dev/tools/.../BuiltinsX86.inc` is the `.inc` 
produced in my development build.

All the uses of `sd` on the original `.def` and `.inc` files are to process 
away weird whitespace artifacts, and the use of `BUILTIN` instead of 
`TARGET_BUILTIN` in four places.

https://github.com/llvm/llvm-project/pull/120831
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to