mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Updated cast code.
This commit is contained in:
committed by
Christoffer Lerno
parent
ca1885fe09
commit
37bb16cca1
@@ -9,6 +9,7 @@ fn void tester()
|
||||
{
|
||||
int[<2>] x = { 1, 2 };
|
||||
int[2] y = (int[2])(x);
|
||||
double[<2>] zz = y;
|
||||
x = (int[<2>])(y);
|
||||
}
|
||||
|
||||
@@ -21,6 +22,7 @@ define void @test.tester() #0 {
|
||||
entry:
|
||||
%x = alloca <2 x i32>, align 8
|
||||
%y = alloca [2 x i32], align 4
|
||||
%zz = alloca <2 x double>, align 16
|
||||
store <2 x i32> <i32 1, i32 2>, ptr %x, align 8
|
||||
%0 = load <2 x i32>, ptr %x, align 8
|
||||
%1 = extractelement <2 x i32> %0, i64 0
|
||||
@@ -33,6 +35,13 @@ entry:
|
||||
%7 = insertelement <2 x i32> undef, i32 %6, i64 0
|
||||
%8 = extractvalue [2 x i32] %5, 1
|
||||
%9 = insertelement <2 x i32> %7, i32 %8, i64 1
|
||||
store <2 x i32> %9, ptr %x, align 8
|
||||
%sifp = sitofp <2 x i32> %9 to <2 x double>
|
||||
store <2 x double> %sifp, ptr %zz, align 16
|
||||
%10 = load [2 x i32], ptr %y, align 4
|
||||
%11 = extractvalue [2 x i32] %10, 0
|
||||
%12 = insertelement <2 x i32> undef, i32 %11, i64 0
|
||||
%13 = extractvalue [2 x i32] %10, 1
|
||||
%14 = insertelement <2 x i32> %12, i32 %13, i64 1
|
||||
store <2 x i32> %14, ptr %x, align 8
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@ fn void main()
|
||||
int[<*>] z = x;
|
||||
int[<*>] w = y;
|
||||
double[<2>] ww = x;
|
||||
double[<2>] www = y; // #error: 'int[2]' to 'double[<2>]'
|
||||
short[<2>] www = y; // #error: implicitly be converted
|
||||
}
|
||||
Reference in New Issue
Block a user