diff options
author | Volodymyr Sapsai <vsapsai@apple.com> | 2017-12-21 20:52:59 +0000 |
---|---|---|
committer | Volodymyr Sapsai <vsapsai@apple.com> | 2017-12-21 20:52:59 +0000 |
commit | c98d5adb4e64815effa4855a3804cc1a9a7d2958 (patch) | |
tree | 981a8637af50bc26cffee333bcd73007a93d52b8 /test/Sema | |
parent | 0cfb502ef74bf3e9444debaad649f928179136be (diff) | |
download | clang-c98d5adb4e64815effa4855a3804cc1a9a7d2958.tar.gz |
Revert "[CodeGen] Fix crash when a function taking transparent union is redeclared."
This reverts commit r321296. It caused performance regressions
FAIL: imp.execution_time
FAIL: 2007-01-04-KNR-Args.execution_time
FAIL: sse_expandfft.execution_time
FAIL: sse_stepfft.execution_time
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@321306 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Sema')
-rw-r--r-- | test/Sema/transparent-union.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/test/Sema/transparent-union.c b/test/Sema/transparent-union.c index 7967535db8..0481127674 100644 --- a/test/Sema/transparent-union.c +++ b/test/Sema/transparent-union.c @@ -43,35 +43,6 @@ void fi(int i) {} // expected-error{{conflicting types}} void fvpp(TU); // expected-note{{previous declaration is here}} void fvpp(void **v) {} // expected-error{{conflicting types}} -/* Test redeclaring a function taking a transparent_union arg more than twice. - Merging different declarations depends on their order, vary order too. */ - -void f_triple0(TU tu) {} -void f_triple0(int *); // expected-note{{previous declaration is here}} -void f_triple0(float *f); // expected-error{{conflicting types}} - -void f_triple1(int *); -void f_triple1(TU tu) {} // expected-note{{previous definition is here}} -void f_triple1(float *f); // expected-error{{conflicting types}} - -void f_triple2(int *); // expected-note{{previous declaration is here}} -void f_triple2(float *f); // expected-error{{conflicting types}} -void f_triple2(TU tu) {} - -/* Test calling redeclared function taking a transparent_union arg. */ - -void f_callee(TU); -void f_callee(int *i) {} // expected-note{{passing argument to parameter 'i' here}} - -void caller(void) { - TU tu; - f_callee(tu); // expected-error{{passing 'TU' to parameter of incompatible type 'int *'}} - - int *i; - f_callee(i); -} - - /* FIXME: we'd like to just use an "int" here and align it differently from the normal "int", but if we do so we lose the alignment information from the typedef within the compiler. */ |