Check BuiltIn Decoration rules.
authorEhsan Nasiri <ehsann@google.com>
Mon, 16 Jan 2017 17:54:15 +0000 (12:54 -0500)
committerDavid Neto <dneto@google.com>
Thu, 19 Jan 2017 21:01:06 +0000 (16:01 -0500)
commit9c71c572e5a1fcd5de8a926571b4122aa10a0c6c
treebca0ca321d577c07e4c2803eaceca2a2a6e59f8a
parent3a7df2cf1bb4127e6bdb9c19e94cba12e0d97276
Check BuiltIn Decoration rules.

When applied to a structure-type member, all members of that structure
type must also be decorated with BuiltIn. (No allowed mixing of built-in
variables and non-built-in variables within a single structure.)

When applied to a structure-type member, that structure type cannot be
contained as a member of another structure type.

There is at most one object per Storage Class that can contain a
structure type containing members decorated with BuiltIn, consumed per
entry-point.
source/val/decoration.h
source/val/validation_state.h
source/validate.cpp
source/validate_decorations.cpp
source/validate_id.cpp
test/val/val_decoration_test.cpp
test/val/val_id_test.cpp