diff --git a/Cargo.toml b/Cargo.toml
index 66de27d..7b67ecb 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -16,6 +16,7 @@ default = ["llvm18-0"]
 llvm16-0 = []
 llvm17-0 = []
 llvm18-0 = []
+llvm19-0 = []
 
 [dependencies]
 thiserror = "1.0.61"
diff --git a/build.rs b/build.rs
index 80648b4..bf4e0ff 100644
--- a/build.rs
+++ b/build.rs
@@ -12,6 +12,8 @@ const LLVM_MAJOR_VERSION: usize = 16;
 const LLVM_MAJOR_VERSION: usize = 17;
 #[cfg(feature = "llvm18-0")]
 const LLVM_MAJOR_VERSION: usize = 18;
+#[cfg(feature = "llvm19-0")]
+const LLVM_MAJOR_VERSION: usize = 19;
 
 fn main() {
     if let Err(error) = run() {
diff --git a/src/record_keeper.rs b/src/record_keeper.rs
index 21b0a32..5f0e932 100644
--- a/src/record_keeper.rs
+++ b/src/record_keeper.rs
@@ -10,7 +10,7 @@
 
 use std::marker::PhantomData;
 
-#[cfg(feature = "llvm18-0")]
+#[cfg(any(feature = "llvm18-0", feature = "llvm19-0"))]
 use crate::error::TableGenError;
 #[cfg(any(feature = "llvm16-0", feature = "llvm17-0"))]
 use crate::error::{SourceLocation, TableGenError, WithLocation};