Martin Storsjo | 87c2ad2 | 2018-03-01 20:22:57 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -emit-llvm-only -triple i686-windows-gnu -fdump-record-layouts %s | FileCheck %s |
| 2 | // RUN: %clang_cc1 -emit-llvm-only -triple i686-linux -fdump-record-layouts -Wno-incompatible-ms-struct %s | FileCheck %s |
| 3 | // RUN: not %clang_cc1 -emit-llvm-only -triple i686-linux -fdump-record-layouts %s 2>&1 | FileCheck %s -check-prefix=ERROR |
| 4 | |
| 5 | struct ldb_struct { |
| 6 | char c; |
| 7 | long double ldb; |
| 8 | } __attribute__((__ms_struct__)); |
| 9 | |
| 10 | struct ldb_struct a; |
| 11 | |
| 12 | // CHECK: 0 | struct ldb_struct |
| 13 | // CHECK-NEXT: 0 | char c |
| 14 | // CHECK-NEXT: 4 | long double ldb |
| 15 | // CHECK-NEXT: | [sizeof=16, align=4] |
| 16 | |
| 17 | // ERROR: error: ms_struct may not produce Microsoft-compatible layouts with fundamental data types with sizes that aren't a power of two |