Skip to content
Snippets Groups Projects
  1. Aug 06, 2018
  2. Aug 03, 2018
  3. Aug 01, 2018
  4. Jul 27, 2018
    • Daniel Koch's avatar
      Fix build warnings/errors: · 883607d5
      Daniel Koch authored
      1) On some old versions of MSVC:
      
      	glslang\MachineIndependent\Constant.cpp(187): warning C4056: overflow in floating-point constant arithmetic
      
      On this platform the definition of INFINITY is as follows:
      
      	#ifndef _HUGE_ENUF
      	   #define _HUGE_ENUF  1e+300  // _HUGE_ENUF*_HUGE_ENUF must overflow
      	#endif
      	#define INFINITY   ((float)(_HUGE_ENUF * _HUGE_ENUF))
      
      Moving the negation outside the cast seems to resolve that issue.
      
      2) Some Linux compilers were unhappy with lines 226/227
      
      	glslang/MachineIndependent/Constant.cpp: In member function 'virtual glslang::TIntermTyped* glslang::TIntermConstantUnion::fold(glslang::TOperator, const glslang::TIntermTyped*) const':
      	glslang/MachineIndependent/Constant.cpp:226:99: error: integer overflow in expression [-Werror=overflow]
      			 else if (rightUnionArray[i].getIConst() == -1 && leftUnionArray[i].getIConst() == -(int)0x80000000)
      													   ^~~~~~~~~~~~~~~~
      	glslang/MachineIndependent/Constant.cpp:227:48: error: integer overflow in expression [-Werror=overflow]
      			     newConstArray[i].setIConst(-(int)0x80000000);
      	                                                ^~~~~~~~~~~~~~~~
      
      Moving the negation to the right side of the cast made those happy, but then some Windows compilers were unhappy:
      
      	glslang\MachineIndependent\Constant.cpp(226): warning C4146: unary minus operator applied to unsigned type, result still unsigned
      	glslang\MachineIndependent\Constant.cpp(227): warning C4146: unary minus operator applied to unsigned type, result still unsigned
      
      which required adding on the "ll" suffix.
      
      3) Android builds where unhappy with line 242:
      
      	glslang/MachineIndependent/Constant.cpp:242:100: error: comparison of integers of different signs: 'long long' and 'unsigned long long' [-Werror,-Wsign-compare]
              	        else if (rightUnionArray[i].getI64Const() == -1 && leftUnionArray[i].getI64Const() == -0x8000000000000000ll)
                      	                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~
      	1 error generated.
      
      Adding an explicit (long long) cast resolved this.
      And the negation needs to be on the right side of the cast otherwise linux
      builds are unhappy as in (2).
      
      4) Android builds are unhappy with out of order initializers:
      
      	glslang/MachineIndependent/reflection.h:60:84: error: field 'type' will be initialized after field 'stages' [-Werror,-Wreorder]
      		glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1), type(pType.clone()), stages(EShLanguageMask(0)) { }
      											   ^
      	1 error generated.
      
      
      Change-Id: Ic9a05fa7912498284885113d8b051f93f822f62b
      883607d5
    • John Kessenich's avatar
      Merge pull request #1457 from KhronosGroup/parse-floats · e99a2681
      John Kessenich authored
      Tests: Add more string -> float tests. Related to #1456.
    • John Kessenich's avatar
    • John Kessenich's avatar
  5. Jul 26, 2018
  6. Jul 25, 2018
  7. Jul 23, 2018
  8. Jul 20, 2018
  9. Jul 19, 2018
  10. Jul 12, 2018
  11. Jul 11, 2018
  12. Jul 10, 2018
Loading