core/irrt: build.rs capture IR defined constants

This commit is contained in:
lyken 2024-07-13 14:02:50 +08:00
parent 342206989e
commit 115fff9e65
No known key found for this signature in database
GPG Key ID: 3BD5FC6AC8325DD8

View File

@ -64,8 +64,11 @@ fn main() {
// - `(?ms:^define.*?\}$)` captures LLVM `define` blocks // - `(?ms:^define.*?\}$)` captures LLVM `define` blocks
// - `(?m:^declare.*?$)` captures LLVM `declare` lines // - `(?m:^declare.*?$)` captures LLVM `declare` lines
// - `(?m:^%.+?=\s*type\s*\{.+?\}$)` captures LLVM `type` declarations // - `(?m:^%.+?=\s*type\s*\{.+?\}$)` captures LLVM `type` declarations
let regex_filter = // - `(?m:^@.+?=.+$)` captures global constants
Regex::new(r"(?ms:^define.*?\}$)|(?m:^declare.*?$)|(?m:^%.+?=\s*type\s*\{.+?\}$)").unwrap(); let regex_filter = Regex::new(
r"(?ms:^define.*?\}$)|(?m:^declare.*?$)|(?m:^%.+?=\s*type\s*\{.+?\}$)|(?m:^@.+?=.+$)",
)
.unwrap();
for f in regex_filter.captures_iter(&output) { for f in regex_filter.captures_iter(&output) {
assert_eq!(f.len(), 1); assert_eq!(f.len(), 1);
filtered_output.push_str(&f[0]); filtered_output.push_str(&f[0]);