diff options
author | Chris Lattner <sabre@nondot.org> | 2010-06-30 19:14:05 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-06-30 19:14:05 +0000 |
commit | 5c740f1523ce425758ae2c3c5e454be18971d76d (patch) | |
tree | 3e4543e92d993c0cb76eb889f31fe7a6a923ffe3 /clang/test/CodeGen/decl.c | |
parent | 02995320e9cba5d2179700f14ce35bbffe12c24e (diff) | |
download | bcm5719-llvm-5c740f1523ce425758ae2c3c5e454be18971d76d.tar.gz bcm5719-llvm-5c740f1523ce425758ae2c3c5e454be18971d76d.zip |
Reapply:
r107173, "fix PR7519: after thrashing around and remembering how all this stuff"
r107216, "fix PR7523, which was caused by the ABI code calling ConvertType instead"
This includes a fix to make ConvertTypeForMem handle the "recursive" case, and call
it as such when lowering function types which have an indirect result.
llvm-svn: 107310
Diffstat (limited to 'clang/test/CodeGen/decl.c')
-rw-r--r-- | clang/test/CodeGen/decl.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/CodeGen/decl.c b/clang/test/CodeGen/decl.c index 7ffb7006b05..dcf120fd88a 100644 --- a/clang/test/CodeGen/decl.c +++ b/clang/test/CodeGen/decl.c @@ -89,3 +89,16 @@ struct test7s { int a; int b; } test7[] = { struct test8s { int f0; char f1; } test8g = {}; +// PR7519 + +struct S { + void (*x) (struct S *); +}; + +extern struct S *global_dc; +void cp_diagnostic_starter(struct S *); + +void init_error(void) { + global_dc->x = cp_diagnostic_starter; +} + |