Check for packing qualifiers on block members.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24353 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-12-04 21:01:32 +00:00
parent afda2411c0
commit 3a53006e0e
4 changed files with 60 additions and 48 deletions

View file

@ -9,5 +9,5 @@
// source have to figure out how to create revision.h just to get a build
// going. However, if it is not updated, it can be a version behind.
#define GLSLANG_REVISION "24347"
#define GLSLANG_DATE "2013/12/04 13:08:16"
#define GLSLANG_REVISION "24349"
#define GLSLANG_DATE "2013/12/04 13:41:33"

View file

@ -3387,6 +3387,8 @@ void TParseContext::declareBlock(TSourceLoc loc, TTypeList& typeList, const TStr
if (defaultQualification.layoutStream != memberQualifier.layoutStream)
error(memberLoc, "member cannot contradict block", "stream", "");
}
if (memberQualifier.layoutPacking != ElpNone)
error(memberLoc, "member of block cannot have a packing layout qualifier", typeList[member].type->getFieldName().c_str(), "");
TQualifier newMemberQualification = defaultQualification;
mergeQualifiers(memberLoc, newMemberQualification, memberQualifier, false);
memberQualifier = newMemberQualification;