File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed 
crates/rustc_codegen_spirv/src Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -1050,6 +1050,27 @@ fn trans_glam_like_struct<'tcx>(
10501050                    . span_err ( span,  format ! ( "{err_attr_name} must have 2, 3 or 4 members" ) ) 
10511051            } ) ?; 
10521052
1053+         for  i in  0 ..ty. fields . count ( )  { 
1054+             let  expected = element. size . checked_mul ( i as  u64 ,  cx) . unwrap ( ) ; 
1055+             let  actual = ty. fields . offset ( i) ; 
1056+             if  actual != expected { 
1057+                 let  name:  & str  = adt
1058+                     . non_enum_variant ( ) 
1059+                     . fields 
1060+                     . get ( FieldIdx :: from ( i) ) 
1061+                     . unwrap ( ) 
1062+                     . name 
1063+                     . as_str ( ) ; 
1064+                 tcx. dcx ( ) . span_fatal ( 
1065+                     span, 
1066+                     format ! ( 
1067+                         "Unexpected layout for {err_attr_name} annotated struct: \  
1068+                      Expected member `{name}` at offset {expected:?}, but was at {actual:?}"
1069+                     ) , 
1070+                 ) 
1071+             } 
1072+         } 
1073+ 
10531074        Ok ( ( element_word,  count) ) 
10541075    }  else  { 
10551076        Err ( tcx
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments