search for: return_arg_1

Displaying 1 result from an estimated 1 matches for "return_arg_1".

Did you mean: return_arg_2
2018 May 10
0
suboptimal type isomorphy handling involving opaque structs
...le, LLVM's logic for merging isomorphic types causes two functions in different compilation units with identical function signatures to have different signatures in the resulting bitcode: =========================== $ cat demo-struct1.c struct foo { int x; }; struct bar { int x; }; struct foo *return_arg_1(struct foo *a, struct bar *b) { return a; } $ cat demo-struct2.c struct foo; struct bar; struct foo *return_arg_2(struct foo *a, struct bar *b) { return a; } $ ~/git/foreign/llvm-build/bin/clang -c -emit-llvm demo-struct1.c && ~/git/foreign/llvm-build/bin/clang -c -emit-llvm demo-struct2.c...