diff --git a/OGLCompilersDLL/Makefile b/OGLCompilersDLL/Makefile index f45495bd..f7885478 100644 --- a/OGLCompilersDLL/Makefile +++ b/OGLCompilersDLL/Makefile @@ -1,12 +1,11 @@ INCLUDE = -I. -I../glslang -I../glslang/Include -I../glslang/OSDependent/Linux -I../glslang/MachineIndependent WARNINGS = -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes \ -Wnested-externs -DEFINE = -Dlinux -D__i386__ - + CPP = g++ -CPPOPTIONS = -O3 -Wno-deprecated -D_ALT_NS=1 -CPPOPTIONS = -g -Wno-deprecated -D_ALT_NS=1 -CPPFLAGS = $(CPPOPTIONS) $(DEFINE) $(INCLUDE) +CPPOPTIONS = -O3 -Wno-deprecated -D_ALT_NS=1 -fPIC +CPPOPTIONS = -g -Wno-deprecated -D_ALT_NS=1 -fPIC +CPPFLAGS = $(CPPOPTIONS) $(INCLUDE) # # Linking related diff --git a/StandAlone/Makefile b/StandAlone/Makefile index 80023b1d..43372370 100644 --- a/StandAlone/Makefile +++ b/StandAlone/Makefile @@ -17,7 +17,7 @@ SHAREDOBJECT: cd $(OBJECTPATH); make all %.o : %.cpp - $(CC) -c $< + $(CC) -g -c $< # # Cleanup diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index 45446640..576c6d71 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -36,6 +36,7 @@ #include "./../glslang/Include/ShHandle.h" #include "./../glslang/Public/ShaderLang.h" #include +#include #include #ifdef _WIN32 @@ -283,17 +284,46 @@ void usage() } +#ifndef _WIN32 + +#include + +int fopen_s( + FILE** pFile, + const char *filename, + const char *mode +) +{ + if (!pFile || !filename || !mode) { + return EINVAL; + } + + FILE* f = fopen(filename, mode); + if (! f) { + if (errno != 0) { + return errno; + } else { + return ENOENT; + } + } + *pFile = f; + + return 0; +} + +#endif + // // Malloc a string of sufficient size and read a string into it. // -# define MAX_SOURCE_STRINGS 5 char** ReadFileData(const char *fileName) { FILE *in; int errorCode = fopen_s(&in, fileName, "r"); char *fdata; int count = 0; - char**return_data=(char**)malloc(MAX_SOURCE_STRINGS+1); + const int maxSourceStrings = 5; + char** return_data = (char**)malloc(maxSourceStrings+1); //return_data[MAX_SOURCE_STRINGS]=NULL; if (errorCode) { diff --git a/glslang/GenericCodeGen/Makefile b/glslang/GenericCodeGen/Makefile index 2a2f62a1..44b0fd2a 100644 --- a/glslang/GenericCodeGen/Makefile +++ b/glslang/GenericCodeGen/Makefile @@ -5,6 +5,8 @@ AR=ar SRCS=CodeGen.cpp Link.cpp +CPPFLAGS = -fPIC + default : all all : libCodeGen.a @@ -13,7 +15,7 @@ libCodeGen.a : $(OBJECTS) ranlib $@ %.o : %.cpp - $(CC) -c $< + $(CC) -c $(CPPFLAGS) $< # # Cleanup diff --git a/glslang/Include/ConstantUnion.h b/glslang/Include/ConstantUnion.h index a4fd4667..cd6a88c7 100644 --- a/glslang/Include/ConstantUnion.h +++ b/glslang/Include/ConstantUnion.h @@ -107,6 +107,11 @@ public: if (constant.iConst == iConst) return true; + break; + case EbtUint: + if (constant.uConst == uConst) + return true; + break; case EbtFloat: if (constant.fConst == fConst) @@ -123,6 +128,8 @@ public: return true; break; + default: + assert(false && "Default missing"); } return false; diff --git a/glslang/Include/PoolAlloc.h b/glslang/Include/PoolAlloc.h index 3cacba36..b62bd234 100644 --- a/glslang/Include/PoolAlloc.h +++ b/glslang/Include/PoolAlloc.h @@ -62,6 +62,7 @@ // #include +#include #include // If we are using guard blocks, we must track each indivual diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h index 22c88cb3..644e6b86 100644 --- a/glslang/Include/Types.h +++ b/glslang/Include/Types.h @@ -110,6 +110,7 @@ struct TSampler { case EbtFloat: break; case EbtInt: s.append("i"); break; case EbtUint: s.append("u"); break; + default: break; // some compilers want this } if (image) s.append("image"); @@ -122,6 +123,7 @@ struct TSampler { case EsdCube: s.append("Cube"); break; case EsdRect: s.append("2DRect"); break; case EsdBuffer: s.append("Buffer"); break; + default: break; // some compilers want this } if (ms) s.append("MS"); @@ -453,7 +455,7 @@ public: } } - TString TType::getCompleteString() const + TString getCompleteString() const { const int maxSize = 200; char buf[maxSize]; diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp index 0cc4e4f0..dad01c95 100644 --- a/glslang/MachineIndependent/Initialize.cpp +++ b/glslang/MachineIndependent/Initialize.cpp @@ -1318,6 +1318,9 @@ void IdentifyBuiltIns(int version, EProfile profile, EShLanguage language, TSymb case EShLangTessEvaluation: case EShLangGeometry: // TODO: support these stages + + default: + assert(false && "Language not supported"); break; } diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp index 7b50ee1b..09bb9586 100644 --- a/glslang/MachineIndependent/Intermediate.cpp +++ b/glslang/MachineIndependent/Intermediate.cpp @@ -93,6 +93,7 @@ TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIn case EOpMul: if (left->getType().getBasicType() == EbtStruct || left->getType().getBasicType() == EbtBool || left->getType().isArray()) return 0; + default: break; // some compilers want this } // @@ -218,6 +219,7 @@ TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermNode* childNode, case EOpNegative: if (child->getType().getBasicType() == EbtStruct || child->getType().isArray()) return 0; + default: break; // some compilers want this } // @@ -229,6 +231,7 @@ TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermNode* childNode, case EOpConstructBool: newType = EbtBool; break; case EOpConstructFloat: newType = EbtFloat; break; case EOpConstructDouble: newType = EbtDouble; break; + default: break; // some compilers want this } if (newType != EbtVoid) { @@ -249,6 +252,7 @@ TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermNode* childNode, case EOpConstructFloat: case EOpConstructDouble: return child; + default: break; // some compilers want this } TIntermConstantUnion *childTempConstant = 0; diff --git a/glslang/MachineIndependent/Makefile b/glslang/MachineIndependent/Makefile index 3f1137a9..4a84f67b 100644 --- a/glslang/MachineIndependent/Makefile +++ b/glslang/MachineIndependent/Makefile @@ -11,13 +11,13 @@ LIBCODEGEN=./../GenericCodeGen/libCodeGen.a OBJECTS= Initialize.o IntermTraverse.o \ Intermediate.o ParseHelper.o PoolAlloc.o QualifierAlive.o \ RemoveTree.o ShaderLang.o intermOut.o parseConst.o SymbolTable.o \ - InfoSink.o + InfoSink.o Versions.o Constant.o SRCS= gen_glslang.cpp gen_glslang_tab.cpp Initialize.cpp IntermTraverse.cpp \ Intermediate.cpp ParseHelper.cpp PoolAlloc.cp QualifierAlive.cpp \ RemoveTree.cpp ShaderLang.cpp SymbolTable.cpp intermOut.cpp \ - parseConst.cpp InfoSink.cpp -CPPFLAGS=$(DEFINE) $(INCLUDE) + parseConst.cpp InfoSink.cpp Versions.cpp Constant.cpp +CPPFLAGS=$(DEFINE) $(INCLUDE) -fPIC SHAREDOBJECT=./lib/libglslang.so default: all @@ -26,13 +26,13 @@ all: $(SHAREDOBJECT) $(SHAREDOBJECT): gen_glslang.o gen_glslang_tab.o $(OBJECTS) \ $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION) - $(CC) -fPIC -shared -lc -o $@ $(OBJECTS) $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION) gen_glslang.o gen_glslang_tab.o + $(CC) -fPIC -shared -o $@ -rdynamic -Wl,-whole-archive $(OBJECTS) $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION) gen_glslang.o gen_glslang_tab.o -Wl,-no-whole-archive gen_glslang.o : gen_glslang.cpp glslang_tab.h - $(CC) -c $(INCLUDE) gen_glslang.cpp -o $@ + $(CC) -fPIC -c $(INCLUDE) gen_glslang.cpp -o $@ gen_glslang_tab.o : gen_glslang_tab.cpp - $(CC) -c $(INCLUDE) gen_glslang_tab.cpp -o $@ + $(CC) -fPIC -c $(INCLUDE) gen_glslang_tab.cpp -o $@ gen_glslang.cpp: glslang.l @echo Generating gen_glslang.cpp @@ -159,3 +159,5 @@ parseConst.o: ../Include/ConstantUnion.h ../Include/InfoSink.h parseConst.o: localintermediate.h ../Include/intermediate.h parseConst.o: ../Public/ShaderLang.h InfoSink.o: ../Include/InfoSink.h +Versions.o: ParseHelper.h Versions.h ../Include/ShHandle.h SymbolTable.h localintermediate.h +Constant.o: localintermediate.h ../Include/intermediate.h ../Public/ShaderLang.h SymbolTable.h Versions.h diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 001755fd..93c23c23 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -264,6 +264,7 @@ void TParseContext::variableErrorCheck(TIntermTyped*& nodePtr) case EvqPointCoord: profileRequires(symbol->getLine(), ENoProfile, 120, 0, "gl_PointCoord"); break; + default: break; // some compilers want this } } } @@ -647,6 +648,7 @@ bool TParseContext::globalQualifierFixAndErrorCheck(int line, TQualifier& qualif error(line, "cannot use 'inout' at global scope", "", ""); return true; + default: break; // some compilers want this } return false; diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 9a27d0e9..93fcc066 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -40,7 +40,7 @@ // This is the platform independent interface between an OGL driver // and the shading language compiler/linker. // - +#include #include "SymbolTable.h" #include "ParseHelper.h" diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp index 9fe5dc18..1a958eb0 100644 --- a/glslang/MachineIndependent/SymbolTable.cpp +++ b/glslang/MachineIndependent/SymbolTable.cpp @@ -64,6 +64,7 @@ void TType::buildMangledName(TString& mangledName) switch (sampler.type) { case EbtInt: mangledName += "i"; break; case EbtUint: mangledName += "u"; break; + default: break; // some compilers want this } if (sampler.image) mangledName += "I"; @@ -80,6 +81,7 @@ void TType::buildMangledName(TString& mangledName) case EsdCube: mangledName += "C"; break; case EsdRect: mangledName += "R2"; break; case EsdBuffer: mangledName += "B"; break; + default: break; // some compilers want this } break; case EbtStruct: diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp index 3aff3630..118a3f10 100644 --- a/glslang/MachineIndependent/Versions.cpp +++ b/glslang/MachineIndependent/Versions.cpp @@ -108,6 +108,7 @@ void TParseContext::profileRequires(int line, EProfile callingProfile, int minVe case EBhEnable: okay = true; break; + default: break; // some compilers want this } } diff --git a/glslang/MachineIndependent/glslang.l b/glslang/MachineIndependent/glslang.l index 48a7a960..4671352c 100644 --- a/glslang/MachineIndependent/glslang.l +++ b/glslang/MachineIndependent/glslang.l @@ -920,6 +920,8 @@ void updateExtensionBehavior(const char* extName, const char* behavior) msg = TString("extension '") + extName + "' is not supported"; pc.infoSink.info.message(EPrefixWarning, msg.c_str(), yylineno); break; + default: + assert(0 && "unexpected behaviorVal"); } return; diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index 93dff178..477fa0fd 100644 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -669,6 +669,7 @@ function_identifier case 2: op = EOpConstructMat2x2; break; case 3: op = EOpConstructMat2x3; break; case 4: op = EOpConstructMat2x4; break; + default: break; // some compilers want this } break; case 3: @@ -676,6 +677,7 @@ function_identifier case 2: op = EOpConstructMat3x2; break; case 3: op = EOpConstructMat3x3; break; case 4: op = EOpConstructMat3x4; break; + default: break; // some compilers want this } break; case 4: @@ -683,8 +685,10 @@ function_identifier case 2: op = EOpConstructMat4x2; break; case 3: op = EOpConstructMat4x3; break; case 4: op = EOpConstructMat4x4; break; + default: break; // some compilers want this } break; + default: break; // some compilers want this } } else { switch($1.vectorSize) { @@ -692,6 +696,7 @@ function_identifier case 2: op = EOpConstructVec2; break; case 3: op = EOpConstructVec3; break; case 4: op = EOpConstructVec4; break; + default: break; // some compilers want this } } break; @@ -703,6 +708,7 @@ function_identifier case 2: op = EOpConstructDMat2x2; break; case 3: op = EOpConstructDMat2x3; break; case 4: op = EOpConstructDMat2x4; break; + default: break; // some compilers want this } break; case 3: @@ -710,6 +716,7 @@ function_identifier case 2: op = EOpConstructDMat3x2; break; case 3: op = EOpConstructDMat3x3; break; case 4: op = EOpConstructDMat3x4; break; + default: break; // some compilers want this } break; case 4: @@ -717,6 +724,7 @@ function_identifier case 2: op = EOpConstructDMat4x2; break; case 3: op = EOpConstructDMat4x3; break; case 4: op = EOpConstructDMat4x4; break; + default: break; // some compilers want this } break; } @@ -726,6 +734,7 @@ function_identifier case 2: op = EOpConstructDVec2; break; case 3: op = EOpConstructDVec3; break; case 4: op = EOpConstructDVec4; break; + default: break; // some compilers want this } } break; @@ -735,6 +744,7 @@ function_identifier case 2: op = EOpConstructIVec2; break; case 3: op = EOpConstructIVec3; break; case 4: op = EOpConstructIVec4; break; + default: break; // some compilers want this } break; case EbtBool: @@ -743,8 +753,10 @@ function_identifier case 2: op = EOpConstructBVec2; break; case 3: op = EOpConstructBVec3; break; case 4: op = EOpConstructBVec4; break; + default: break; // some compilers want this } break; + default: break; // some compilers want this } if (op == EOpNull) { parseContext.error($1.line, "cannot construct this type", TType::getBasicString($1.type), ""); @@ -829,7 +841,7 @@ unary_expression case EOpNegative: errorOp[0] = '-'; break; case EOpLogicalNot: errorOp[0] = '!'; break; case EOpBitwiseNot: errorOp[0] = '~'; break; - default: break; + default: break; // some compilers want this } parseContext.unaryOpError($1.line, errorOp, $2->getCompleteString()); parseContext.recover(); diff --git a/glslang/MachineIndependent/preprocessor/Makefile b/glslang/MachineIndependent/preprocessor/Makefile index 1219cc0c..73af8abe 100644 --- a/glslang/MachineIndependent/preprocessor/Makefile +++ b/glslang/MachineIndependent/preprocessor/Makefile @@ -1,7 +1,7 @@ INCLUDE = -I../ -CC = g++ +CC = gcc -CPPFLAGS=$(DEFINE) $(INCLUDE) +CPPFLAGS=$(DEFINE) $(INCLUDE) -fPIC OBJECTS = atom.o cpp.o cppstruct.o memory.o scanner.o symbols.o tokens.o AR=ar @@ -14,7 +14,7 @@ libPreprocessor.a : $(OBJECTS) ranlib $@ %.o : %.c - $(CC) $(CPPFLAGS) -c $< + $(CC) -c $(CPPFLAGS) $< # # Cleanup diff --git a/glslang/MachineIndependent/preprocessor/cpp.c b/glslang/MachineIndependent/preprocessor/cpp.c index b8fa1cbe..577bfbb8 100644 --- a/glslang/MachineIndependent/preprocessor/cpp.c +++ b/glslang/MachineIndependent/preprocessor/cpp.c @@ -128,6 +128,10 @@ static Scope *macros = 0; static SourceLoc ifloc; /* outermost #if */ +int ChkCorrectElseNesting(void); +int PredefineMacro(char *); +void FreeMacro(MacroSymbol *); + int InitCPP(void) { char buffer[64], *t; diff --git a/glslang/MachineIndependent/preprocessor/cpp.h b/glslang/MachineIndependent/preprocessor/cpp.h index 2995892f..91d31dc0 100644 --- a/glslang/MachineIndependent/preprocessor/cpp.h +++ b/glslang/MachineIndependent/preprocessor/cpp.h @@ -85,12 +85,6 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "tokens.h" #include "Versions.h" -int InitCPP(void); -int FinalCPP(void); -int readCPPline(yystypepp * yylvalpp); -int MacroExpand(int atom, yystypepp * yylvalpp); -int ChkCorrectElseNesting(void); - typedef struct MacroSymbol { int argc; int *args; @@ -99,8 +93,14 @@ typedef struct MacroSymbol { unsigned undef:1; } MacroSymbol; -void FreeMacro(MacroSymbol *); -int PredefineMacro(char *); +int InitCPP(void); +int FinalCPP(void); +int readCPPline(yystypepp * yylvalpp); +int MacroExpand(int atom, yystypepp * yylvalpp); + +#ifdef __cplusplus +extern "C" { +#endif void CPPDebugLogMsg(const char *msg); // Prints information into debug log void CPPShInfoLogMsg(const char*); // Store cpp Err Msg into Sh.Info.Log @@ -118,4 +118,9 @@ void SetProfile(EProfile); void updateExtensionBehavior(const char* extName, const char* behavior); int FreeCPP(void); +#ifdef __cplusplus +} +#endif + + #endif // !(defined(__CPP_H) diff --git a/glslang/MachineIndependent/preprocessor/memory.c b/glslang/MachineIndependent/preprocessor/memory.c index 36022bd0..7024671f 100644 --- a/glslang/MachineIndependent/preprocessor/memory.c +++ b/glslang/MachineIndependent/preprocessor/memory.c @@ -79,7 +79,7 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include -#ifdef __STDC99__ +#ifdef _WIN32 #include #elif defined (_WIN64) typedef unsigned __int64 uintptr_t; diff --git a/glslang/MachineIndependent/preprocessor/scanner.c b/glslang/MachineIndependent/preprocessor/scanner.c index 1f6f9251..13459f11 100644 --- a/glslang/MachineIndependent/preprocessor/scanner.c +++ b/glslang/MachineIndependent/preprocessor/scanner.c @@ -208,7 +208,7 @@ static void str_ungetch(StringInputSrc *in, int ch, yystypepp *type) { int ScanFromString(char *s) { - StringInputSrc *in = malloc(sizeof(StringInputSrc)); + StringInputSrc *in = (StringInputSrc *)malloc(sizeof(StringInputSrc)); memset(in, 0, sizeof(StringInputSrc)); in->p = s; in->base.line = 1; diff --git a/glslang/MachineIndependent/preprocessor/scanner.h b/glslang/MachineIndependent/preprocessor/scanner.h index c45c4d7b..1bcb0246 100644 --- a/glslang/MachineIndependent/preprocessor/scanner.h +++ b/glslang/MachineIndependent/preprocessor/scanner.h @@ -87,6 +87,9 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "parser.h" // Not really atom table stuff but needed first... +#ifdef __cplusplus +extern "C" { +#endif typedef struct SourceLoc_Rec { unsigned short file, line; @@ -114,5 +117,10 @@ void SetStringNumber(int); void IncLineNumber(void); void DecLineNumber(void); int FreeScanner(void); // Free the cpp scanner + +#ifdef __cplusplus +} +#endif + #endif // !(defined(__SCANNER_H) diff --git a/glslang/MachineIndependent/preprocessor/symbols.c b/glslang/MachineIndependent/preprocessor/symbols.c index 2929ef1d..579779e7 100644 --- a/glslang/MachineIndependent/preprocessor/symbols.c +++ b/glslang/MachineIndependent/preprocessor/symbols.c @@ -94,7 +94,7 @@ Scope *CurrentScope = NULL; Scope *GlobalScope = NULL; static void unlinkScope(void *_scope) { - Scope *scope = _scope; + Scope *scope = (Scope*)_scope; if (scope->next) scope->next->prev = scope->prev; @@ -112,7 +112,7 @@ Scope *NewScopeInPool(MemoryPool *pool) { Scope *lScope; - lScope = mem_Alloc(pool, sizeof(Scope)); + lScope = (Scope*)mem_Alloc(pool, sizeof(Scope)); lScope->pool = pool; lScope->parent = NULL; lScope->funScope = NULL; diff --git a/glslang/MachineIndependent/preprocessor/tokens.c b/glslang/MachineIndependent/preprocessor/tokens.c index 4a2d3933..af18d741 100644 --- a/glslang/MachineIndependent/preprocessor/tokens.c +++ b/glslang/MachineIndependent/preprocessor/tokens.c @@ -242,7 +242,7 @@ void DeleteTokenStream(TokenStream *pTok) void RecordToken(TokenStream *pTok, int token, yystypepp * yylvalpp) { const char *s; - unsigned char *str=NULL; + char *str = NULL; if (token > 256) lAddByte(pTok, (unsigned char)((token & 0x7f) + 0x80)); @@ -259,10 +259,10 @@ void RecordToken(TokenStream *pTok, int token, yystypepp * yylvalpp) break; case CPP_FLOATCONSTANT: case CPP_INTCONSTANT: - str=yylvalpp->symbol_name; + str = yylvalpp->symbol_name; while (*str){ - lAddByte(pTok,(unsigned char) *str); - *str++; + lAddByte(pTok, (unsigned char) *str); + str++; } lAddByte(pTok, 0); break; @@ -398,7 +398,7 @@ static int scan_token(TokenInputSrc *in, yystypepp * yylvalpp) int ReadFromTokenStream(TokenStream *ts, int name, int (*final)(CPPStruct *)) { - TokenInputSrc *in = malloc(sizeof(TokenInputSrc)); + TokenInputSrc *in = (TokenInputSrc *) malloc(sizeof(TokenInputSrc)); memset(in, 0, sizeof(TokenInputSrc)); in->base.name = name; in->base.prev = cpp->currentInput; @@ -426,12 +426,14 @@ static int reget_token(UngotToken *t, yystypepp * yylvalpp) return token; } +typedef int (*scanFnPtr_t)(struct InputSrc *, yystypepp *); + void UngetToken(int token, yystypepp * yylvalpp) { - UngotToken *t = malloc(sizeof(UngotToken)); + UngotToken *t = (UngotToken *) malloc(sizeof(UngotToken)); memset(t, 0, sizeof(UngotToken)); t->token = token; t->lval = *yylvalpp; - t->base.scan = (void *)reget_token; + t->base.scan = (scanFnPtr_t)reget_token; t->base.prev = cpp->currentInput; t->base.name = cpp->currentInput->name; t->base.line = cpp->currentInput->line; diff --git a/glslang/OSDependent/Linux/Makefile b/glslang/OSDependent/Linux/Makefile index dc8d0745..e09ad49a 100644 --- a/glslang/OSDependent/Linux/Makefile +++ b/glslang/OSDependent/Linux/Makefile @@ -9,12 +9,11 @@ INCLUDE = -I. -I../.. -I../../Include -I../../../OGLCompilersDLL WARNINGS = -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes \ -Wnested-externs -DEFINE = -Dlinux -D__i386__ CPP = g++ -CPPOPTIONS = -O3 -Wno-deprecated -D_ALT_NS=1 -CPPOPTIONS = -g -Wno-deprecated -D_ALT_NS=1 -CPPFLAGS = $(CPPOPTIONS) $(DEFINE) $(INCLUDE) +CPPOPTIONS = -O3 -Wno-deprecated -D_ALT_NS=1 -fPIC +CPPOPTIONS = -g -Wno-deprecated -D_ALT_NS=1 -fPIC +CPPFLAGS = $(CPPOPTIONS) $(INCLUDE) # # Linking related