diff --git a/syntax/parse.rs b/syntax/parse.rs
index 8429d80..f72253a 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -157,7 +157,7 @@
     let mut variants = Vec::new();
     let mut discriminants = DiscriminantSet::new(repr);
     for variant in item.variants {
-        match parse_variant(variant, &mut discriminants) {
+        match parse_variant(cx, variant, &mut discriminants) {
             Ok(variant) => variants.push(variant),
             Err(err) => cx.push(err),
         }
@@ -194,7 +194,23 @@
     }))
 }
 
-fn parse_variant(variant: RustVariant, discriminants: &mut DiscriminantSet) -> Result<Variant> {
+fn parse_variant(
+    cx: &mut Errors,
+    variant: RustVariant,
+    discriminants: &mut DiscriminantSet,
+) -> Result<Variant> {
+    let mut cxx_name = None;
+    let mut rust_name = None;
+    attrs::parse(
+        cx,
+        &variant.attrs,
+        attrs::Parser {
+            cxx_name: Some(&mut cxx_name),
+            rust_name: Some(&mut rust_name),
+            ..Default::default()
+        },
+    );
+
     match variant.fields {
         Fields::Unit => {}
         _ => {
@@ -213,7 +229,7 @@
         Err(err) => return Err(Error::new_spanned(variant, err)),
     };
 
-    let name = pair(Namespace::ROOT, &variant.ident, None, None);
+    let name = pair(Namespace::ROOT, &variant.ident, cxx_name, rust_name);
     let expr = variant.discriminant.map(|(_, expr)| expr);
 
     Ok(Variant {
