1) Don't propagate precision of built-in function arguments to return type when return type is bool (e.g., isnan).

2) Check an additional path for missing default precision qualification, except allow built-in declarations to pass the check.  

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22241 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-07-01 17:56:24 +00:00
parent 6c0928d924
commit 1fde51d3fb
6 changed files with 17 additions and 9 deletions

View file

@ -98,7 +98,7 @@ bool InitializeSymbolTable(TBuiltInStrings* BuiltInStrings, int version, EProfil
else
symbolTable = &symbolTables[language];
TParseContext parseContext(*symbolTable, intermediate, version, profile, language, infoSink);
TParseContext parseContext(*symbolTable, intermediate, true, version, profile, language, infoSink);
GlobalParseContext = &parseContext;
@ -411,7 +411,7 @@ int ShCompile(
// they get popped again further down.
AddContextSpecificSymbols(resources, compiler->infoSink, &symbolTable, version, profile, compiler->getLanguage());
TParseContext parseContext(symbolTable, intermediate, version, profile, compiler->getLanguage(), compiler->infoSink, forwardCompatible, messages);
TParseContext parseContext(symbolTable, intermediate, false, version, profile, compiler->getLanguage(), compiler->infoSink, forwardCompatible, messages);
if (! goodProfile)
parseContext.error(1, "incorrect", "#version", "");