summary refs log tree commit diff
path: root/test/abi7.ssa
blob: bf8ca1fdb27f2119614c27ac913152ebf7bcbcf2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# test padding calculation with                                                                     
# embedded struct                                                                                   
                                                                                                    
type :s1 = align 4 { w 3 }                                                                          
type :s2 = align 4 { b 1, :s1 1 }                                                                   
                                                                                                    
export function :s2 $test() {                                                                       
@start                                                                                              
        ret $s                                                                                      
}                                                                                                   
                                                                                                    
# >>> driver                                                                                        
# struct s2 {                                                                                       
#       char x;                                                                                     
#       struct { int a[3]; } s1;                                                                    
# } s = { .x = 123 };                                                                               
# extern struct s2 test(void);                                                                      
# int main(void) {                                                                                  
#       return !(test().x == 123);                                                                  
# }                                                                                                 
# <<<