[pixel shader]
    struct apple
    {
        float4 f;
    } a;
    struct apple b;
    apple c;
    struct
    {
        float4 f;
    } d;

    float4 main() : sv_target
    {
        return a.f + b.f + c.f + d.f;
    }

[pixel shader fail]
    float4 main() : sv_target
    {
        struct {} x = {};
        return x;
    }

[pixel shader fail]
    struct
    {
        float4 a;
    };

    float4 main() : sv_target
    {
        return 0;
    }

[pixel shader fail]
    struct apple
    {
        float4 f;
    };
    typedef struct apple myapple;
    struct myapple a;

    float4 main() : sv_target
    {
        return 0;
    }

[pixel shader fail]
    struct float4 a;

    float4 main() : sv_target
    {
        return 0;
    }

[pixel shader fail]
    typedef float myfloat;
    struct myfloat a;

    float4 main() : sv_target
    {
        return 0;
    }
