aboutsummaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/2010-08-12-asm-aggr-arg.c
blob: 8753bf193db7b157af0f03f763ff314c872dde4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
// A small aggregate can be passed as an integer. Make sure we don't get an
// error with "input constraint with a matching output constraint of
// incompatible type!" 

struct wrapper {
  int i;
};

// CHECK: xyz
int test(int i) {
  struct wrapper w;
  w.i = i;
  __asm__("xyz" : "=r" (w) : "0" (w));
  return w.i;
}