25 lines
700 B
C#
25 lines
700 B
C#
|
using System;
|
||
|
using Unity.Burst;
|
||
|
using Unity.Mathematics;
|
||
|
|
||
|
namespace Burst.Compiler.IL.Tests
|
||
|
{
|
||
|
internal partial class VectorsExceptions
|
||
|
{
|
||
|
[TestCompiler(1.0f, ExpectedDiagnosticId = DiagnosticId.WRN_ExceptionThrownInNonSafetyCheckGuardedFunction)]
|
||
|
public static float Float4WithException(float a)
|
||
|
{
|
||
|
return GetFloat4(a).x;
|
||
|
}
|
||
|
|
||
|
private static float4 GetFloat4(float value)
|
||
|
{
|
||
|
if (value < 0)
|
||
|
{
|
||
|
throw new ArgumentException();
|
||
|
// Here the generated code should have a burst.abort + a return zero float4 (SIMD type)
|
||
|
}
|
||
|
return new float4(value);
|
||
|
}
|
||
|
}
|
||
|
}
|