cbuffer buf1 {
    float4 v1;
}; // extraneous ;

tbuffer buf2 {
    float4 v2;
}; // extraneous ;

cbuffer cbufName {
    float4 v3 : packoffset(c0);
    int i3    : packoffset(c1.y);
}

tbuffer tbufName : register(t8) {
    float4 v4 : packoffset(c1);
    int i4    : packoffset(c3);
    float f1  : packoffset(c3.w);
    float f3  : packoffset(c4.x);
    float f4  : packoffset(c4.y);
    float f5  : packoffset(c4.z);
    float f6  : packoffset(c);
    float f7  : packoffset(c8);
                 float3x4 m1 : packoffset(c7);
       row_major float3x4 m2 : packoffset(c11);
    column_major float3x4 m3 : packoffset(c15);
                 float3x4 m4 : packoffset(c19);
}

float foo() // float looks like identifier, but can't be part of tbuffer
{
    return 1.0;
}

float4 PixelShaderFunction(float4 input : SV_POSITION) : SV_TARGET0
{
    return (input + v1 + v2 + v3 + v4) * foo();
}
