From c2a35ff9e2fee9299058ee8ff4b8b3f6274f84b7 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Tue, 10 Jun 2014 02:05:37 -0400 Subject: [PATCH] ide/Project: (#241) Seeing GCC warnings when building from IDE - Also fixed remaining warnings in documentor, epj2make, extras and samples - Now that the warnings from the generated C code have been limited, we filter out only those warnings which have not yet been fixed. - Remaining warnings (which will be addressed by #685) are related to: - A few more potentially unused generated eC declarations (will mark with unused) - Incompatible function pointers and void ** (will need to generate casts) - Declaration ordering problems (e.g. declared inside parameter list, we'll fix this with the topo sort in #26) - Warnings coming out of objidl.h from MinGW-w64 (declaration does not declare anything) - Warnings in release mode - Warnings compiling in 32 bit (will need to add (u)intptr casts prior) --- documentor/src/Documentor.ec | 71 ++++++++++++------------------------ epj2make/epj2make.ec | 2 +- extras/html/HTMLView.ec | 29 +++------------ extras/html/htmlParser.ec | 12 +++--- extras/html/lines.ec | 16 ++------ extras/html/tables.ec | 10 ++--- ide/src/project/Project.ec | 56 +++++++++++++++++++++++++++- samples/3D/terrainCameraDemo/demo.ec | 2 +- samples/3D/terrainCameraDemo/dna.ec | 4 +- samples/net/XMLSample/xmlSample.ec | 2 +- 10 files changed, 103 insertions(+), 101 deletions(-) diff --git a/documentor/src/Documentor.ec b/documentor/src/Documentor.ec index a5e3d7e..d8c91c4 100644 --- a/documentor/src/Documentor.ec +++ b/documentor/src/Documentor.ec @@ -8,7 +8,7 @@ static Context globalContext { }; static OldList defines { }; static OldList imports { }; static NameSpace globalData; -static OldList excludedSymbols { offset = (uint)&((Symbol)0).left }; +static OldList excludedSymbols { offset = (uint)(uintptr)&((Symbol)0).left }; static bool readOnly; define app = (GuiApplication)__thisModule.application; @@ -20,10 +20,10 @@ default: private: -static void Dummy() +static __attribute__((unused)) void Dummy() { -int a; -a.OnGetString(null, null, null); + int a; + a.OnGetString(null, null, null); } static bool editing = true; @@ -270,10 +270,6 @@ static void _PrintType(Type type, char * string, bool printName, bool printFunct strcat(string, ""); } } - else - { - printf(""); - } } if(printFunction) @@ -369,7 +365,7 @@ static void _PrintType(Type type, char * string, bool printName, bool printFunct strcat(string, ")"); break; default: - printf(""); + break; } if(type.name && printName && type.kind != functionType && (type.kind != pointerType || type.type.kind != functionType)) { @@ -385,7 +381,6 @@ void DocPrintType(Type type, char * string, bool printName, bool fullName) for(funcType = type; funcType && (funcType.kind == pointerType || funcType.kind == arrayType); funcType = funcType.type); if(funcType && funcType.kind == functionType && type != funcType) { - char typeString[1024]; Type param; DocPrintType(funcType.returnType, string, false, fullName); @@ -652,11 +647,9 @@ class APIPageNameSpace : APIPage void Generate(File f) { - char string[1024]; char nsName[1024], temp[1024]; NameSpace * ns; BTNamedLink link; - int64 tag; nsName[0] = 0; ns = nameSpace; @@ -673,14 +666,10 @@ class APIPageNameSpace : APIPage if(nsName[0]) { f.Printf("%s

\n", nsName ); - tag = (int64)nameSpace; f.Printf($"Module: %s
\n", (module && module.name) ? module : null, (!module || !module.name || !strcmp(nsName, "ecere::com")) ? "ecereCOM" : module.name); } else - { - tag = (int64)(!module || !module.name || !strcmp(nsName, "ecere::com") ? null : module); f.Printf($"Module %s
\n", (!module || !module.name || !strcmp(nsName, "ecere::com")) ? "ecereCOM" : module.name); - } nsName[0] = 0; ns = nameSpace->parent; @@ -886,7 +875,6 @@ class APIPageClass : APIPage char string[1024]; Method method; Property prop; - DataMember member; char nsName[1024], temp[1024]; NameSpace * ns = cl.nameSpace; Module module = cl.module; @@ -1053,7 +1041,6 @@ class APIPageClass : APIPage if((prop.memberAccess == publicAccess || (prop.memberAccess == privateAccess && showPrivate)) && prop.name) { char * desc = ReadDoc(module, classDoc, cl, conversion, prop); - DataRow mRow; const char * name; Type type = ProcessTypeString(prop.name, false); name = RSearchString(prop.name, "::", strlen(prop.name), true, false); @@ -1805,8 +1792,6 @@ static void AddNameSpace(DataRow parentRow, Module module, NameSpace mainNameSpa DataRow functionsRow = null, definesRow = null; APIPage page; - char fileName[MAX_LOCATION]; - strcpy(nsName, parentName ? parentName : ""); if(nameSpace->name) { @@ -1829,25 +1814,22 @@ static void AddNameSpace(DataRow parentRow, Module module, NameSpace mainNameSpa page = parentRow.GetData(null); } + for(ns = (NameSpace *)mainNameSpace.nameSpaces.first; ns; ns = (NameSpace *)((BTNode)ns).next) { - bool first = true; - - for(ns = (NameSpace *)mainNameSpace.nameSpaces.first; ns; ns = (NameSpace *)((BTNode)ns).next) - { - NameSpace * comNS = (comNameSpace != null) ? (NameSpace *)comNameSpace.nameSpaces.FindString(ns->name) : null; - AddNameSpace(row, module, ns, comNS, nsName, showPrivate); - } - if(comNameSpace != null) + NameSpace * comNS = (comNameSpace != null) ? (NameSpace *)comNameSpace.nameSpaces.FindString(ns->name) : null; + AddNameSpace(row, module, ns, comNS, nsName, showPrivate); + } + if(comNameSpace != null) + { + for(ns = (NameSpace *)comNameSpace.nameSpaces.first; ns; ns = (NameSpace *)((BTNode)ns).next) { - for(ns = (NameSpace *)comNameSpace.nameSpaces.first; ns; ns = (NameSpace *)((BTNode)ns).next) + if(!mainNameSpace.nameSpaces.FindString(ns->name)) { - if(!mainNameSpace.nameSpaces.FindString(ns->name)) - { - AddNameSpace(row, module, ns, null, nsName, showPrivate); - } + AddNameSpace(row, module, ns, null, nsName, showPrivate); } } } + if(mainNameSpace.classes.first || (comNameSpace && comNameSpace.classes.first)) { for(nameSpace = mainNameSpace ; nameSpace; nameSpace = (nameSpace == mainNameSpace) ? comNameSpace : null) @@ -1992,12 +1974,8 @@ static void AddDataMember(DataRow parentRow, APIPage page, DataMember member) static void AddClass(DataRow parentRow, Module module, Class cl, char * nsName, bool showPrivate) { - char fileName[MAX_LOCATION]; - char string[1024]; Method method; Property prop; - DataMember member; - Type param; DataRow row; DataRow methodsRow = null, virtualsRow = null, eventsRow = null; DataRow propertiesRow = null, membersRow = null, conversionsRow = null, enumRow = null; @@ -2372,7 +2350,7 @@ class MainForm : Window default: { char hex[20]; - sprintf(hex, "%p", row.tag); + sprintf(hex, "%p", (void *)(uintptr)row.tag); view.GoToAnchor(hex); } } @@ -2552,7 +2530,7 @@ class HelpView : HTMLView char archiveFile[MAX_LOCATION]; char fileName[MAX_FILENAME]; char directory[MAX_LOCATION]; - char * location; + const char * location; Archive archive = null; if(SplitArchivePath(editString, archiveFile, &location)) { @@ -2750,7 +2728,7 @@ class HelpView : HTMLView if(block.type == BR && (!block.prev || !block.next || block.next.type != TEXT)) { Block newBlock { type = TEXT, parent = block.parent, font = block.parent.font }; - int tw = 0, th = 0; + int th = 0; display.FontExtent(block.font.font, " ", 1, null, &th); if(!block.prev) { @@ -2997,7 +2975,7 @@ class HelpView : HTMLView } { - int tw = 0, th = 0; + int th = 0; int textPos = 0; int sx = textBlock.startX, sy = textBlock.startY; char * text = textBlock.text; @@ -3107,7 +3085,7 @@ class HelpView : HTMLView case Key { down, shift = true }: case down: { - int tw = 0, th = 0; + int th = 0; int textPos = 0; int sx = textBlock.startX, sy = textBlock.startY; char * text = textBlock.text; @@ -3503,7 +3481,7 @@ class HelpView : HTMLView break; case enter: { - int tw = 0, th = 0; + int th = 0; Block block; Block newBlock; int startY, startX; @@ -3590,7 +3568,7 @@ class HelpView : HTMLView Block block { type = BR, parent = parent, font = font }; Block newBlock { type = TEXT, parent = parent, font = font }; int startY = textBlock.startY, startX = textBlock.startX; - int tw = 0, th = 0; + int th = 0; display.FontExtent(textBlock.font.font, " ", 1, null, &th); textBlock.parent.subBlocks.Insert(textBlock, block); @@ -3815,7 +3793,6 @@ class HelpView : HTMLView while(textPos < textBlock.textLen) { - int startPos = textPos; int width = 0; int x = 0; bool lineComplete = false; @@ -3913,12 +3890,12 @@ class Documentor : GuiApplication PathCat(programFilesDir, "ECERE SDK\\doc"); settings.docDir = programFilesDir; } - else if(homeDrive && homeDrive[0]) + else if(homeDrive[0]) { PathCat(homeDrive, "ECERE SDK\\doc"); settings.docDir = homeDrive; } - else if(winDir && winDir[0]) + else if(winDir[0]) { PathCat(winDir, "..\\ECERE SDK\\doc"); settings.docDir = winDir; diff --git a/epj2make/epj2make.ec b/epj2make/epj2make.ec index 5bb0e25..de6c49f 100644 --- a/epj2make/epj2make.ec +++ b/epj2make/epj2make.ec @@ -19,7 +19,7 @@ extern int getch(void); void ParseDirList(char * string, Container list) { int c; - byte * tokens[256]; + char * tokens[256]; int numTokens = TokenizeWith(string, sizeof(tokens) / sizeof(byte *), tokens, ";", false); list.Free(); for(c = 0; c < numTokens; c++) diff --git a/extras/html/HTMLView.ec b/extras/html/HTMLView.ec index 8ba45af..c50114f 100644 --- a/extras/html/HTMLView.ec +++ b/extras/html/HTMLView.ec @@ -124,7 +124,7 @@ class ObjectThread : Thread //((GuiApplication)__thisModule).Unlock(); - if(path && strstr(path, "http://") == path) + if(strstr(path, "http://") == path) { HTTPFile httpFile {}; file = httpFile; @@ -225,7 +225,7 @@ static OldList imageCache; static OldList objectRequests; -static void WriteBlock(File f, Block block) +/*static void WriteBlock(File f, Block block) { static int indent = 0; Block child; @@ -274,7 +274,7 @@ static void WriteBlock(File f, Block block) WriteBlock(f, child); indent --; } -} +}*/ static void ComputeImageSize(Block block) { @@ -427,7 +427,6 @@ class HTMLView : Window if(surface) { int maxH = height - BOTTOM_MARGIN; - int h = 0; if(html.defaultFont.font) surface.TextFont(html.defaultFont.font.font); @@ -441,10 +440,7 @@ class HTMLView : Window newH = ComputeLine(surface, block, textPos, &nextBlock, &nextTextPos, ¢ered, &w, maxW, maxH - y, RenderFlags { lineW = true, width = true }, 0, null, null, &changeLine, true, y, LEFT_MARGIN); if(changeLine) - { y += newH; - h = 0; - } block = nextBlock; textPos = nextTextPos; @@ -556,7 +552,7 @@ class HTMLView : Window block.bitmap = entry.bitmap; else { - if(path && (strstr(path, "http://") == path || strstr(path, "https://") == path)) + if(strstr(path, "http://") == path || strstr(path, "https://") == path) { RequestLink request; objectsMutex.Wait(); @@ -691,7 +687,6 @@ class HTMLView : Window OldList leftObjects { }; OldList rightObjects { }; AlignedObject object, nextObject; - int h = 0; Surface surface = display.GetSurface(0,0,null); if(surface) @@ -747,10 +742,7 @@ class HTMLView : Window left - scroll.x, right - scroll.x); if(changeLine) - { y += newH; - h = 0; - } block = nextBlock; textPos = nextTextPos; } @@ -1013,7 +1005,6 @@ class HTMLView : Window void OpenFile(File f, char * firstReferer) { char referer[MAX_LOCATION] = ""; - char relocation[MAX_LOCATION]; bool opened = false; clickedLink = null; @@ -1170,7 +1161,6 @@ class HTMLView : Window Font font; AlignedObject object, nextObject; - int h = 0; surface.SetBackground(html.background); if(html.background.a < 255) @@ -1224,19 +1214,13 @@ class HTMLView : Window surface.TextFont(font); - //h = Max(h, newH); RenderLine(this, surface, x - scroll.x, y - scroll.y, maxW, newH, block, textPos, nextBlock, nextTextPos, left - scroll.x, right - scroll.x); if(changeLine) - { - // y += h; y += newH; - h = 0; - } block = nextBlock; textPos = nextTextPos; } - //y += h; } void OnVScroll(ScrollBarAction action, int position, Key key) @@ -1300,7 +1284,6 @@ class HTMLView : Window OldList leftObjects { }; OldList rightObjects { }; AlignedObject object, nextObject; - int h = 0; Surface surface = display.GetSurface(0,0,null); if(surface) @@ -1357,10 +1340,8 @@ class HTMLView : Window } if(changeLine) - { y += newH; - h = 0; - } + block = nextBlock; textPos = nextTextPos; } diff --git a/extras/html/htmlParser.ec b/extras/html/htmlParser.ec index a7f9d77..a747877 100644 --- a/extras/html/htmlParser.ec +++ b/extras/html/htmlParser.ec @@ -83,7 +83,7 @@ class Block : struct delete entryPtr; } - while(child = subBlocks.first) + while((child = subBlocks.first)) { subBlocks.Remove(child); delete child; @@ -176,7 +176,7 @@ static int GetKeyWord(char ** input, char * keyWord, int maxSize) return GetKeyWordEx(input, keyWord, maxSize, true, false); } -static char * GetString(char * string, char * what, int count) +/*static char * GetString(char * string, char * what, int count) { int wc, sc; @@ -192,7 +192,7 @@ static char * GetString(char * string, char * what, int count) return null; } return string + sc; -} +}*/ #include @@ -280,7 +280,7 @@ class HTMLFile // Parse entire file while(!f.Eof() && block) { - byte ch = 0; + char ch = 0; f.Getc(&ch); #ifdef _DEBUG @@ -724,9 +724,9 @@ class HTMLFile } else if(!strcmpi(keyWord, "maxlength")) { - int maxlength; + //int maxlength; GetKeyWord(&string, keyWord, sizeof(keyWord)); - maxlength = atoi(keyWord); + //maxlength = atoi(keyWord); } else if(!strcmpi(keyWord, "value")) { diff --git a/extras/html/lines.ec b/extras/html/lines.ec index 6aa9be3..0274d14 100644 --- a/extras/html/lines.ec +++ b/extras/html/lines.ec @@ -316,7 +316,6 @@ void RenderLine(HTMLView browser, Surface surface, int x, int y, int w, int h, B { int textPos = startTextPos; Block block = startBlock; - bool lineComplete = false; int startSel, endSel; Block startSelBlock = null, endSelBlock = null; if(browser.textBlock != browser.selBlock || browser.curPosition != browser.selPosition) @@ -457,7 +456,6 @@ void RenderLine(HTMLView browser, Surface surface, int x, int y, int w, int h, B break; case TABLE: RenderTable(browser, surface, x, y, w, h, left, right, block); - lineComplete = true; block = NextBlockUp(surface, block, null, RenderFlags { render = true }); textPos = 0; break; @@ -480,7 +478,6 @@ bool PickLine(HTMLView browser, Surface surface, int x, int y, int w, int h, Blo bool result = false; int textPos = startTextPos; Block block = startBlock; - bool lineComplete = false; for(;!result;) { @@ -565,7 +562,6 @@ bool PickLine(HTMLView browser, Surface surface, int x, int y, int w, int h, Blo break; case TABLE: result = PickTable(browser, surface, x, y, w, h, left, right, block, pickX, pickY, pickBlock, pickTextPos); - lineComplete = true; block = NextBlockUp(surface, block, null, RenderFlags { render = true }); textPos = 0; break; @@ -589,7 +585,6 @@ void PositionLine(HTMLView browser, Surface surface, int x, int y, int w, int h, { int textPos = startTextPos; Block block = startBlock; - bool lineComplete = false; for(;;) { @@ -608,18 +603,14 @@ void PositionLine(HTMLView browser, Surface surface, int x, int y, int w, int h, block.window.size.w, block.window.size.h); //block.window.visible = false; x += block.window.size.w; - if(block.inputType == text) - { - printf(""); - } } break; } case IMAGE: { int bw = block.pWidth ? (w * block.pWidth / 100) : block.w; - int bh = block.pHeight ? (h * block.pHeight / 100) : block.h; - int dx, dy; + //int bh = block.pHeight ? (h * block.pHeight / 100) : block.h; + int dx;//, dy; switch(block.halign) { @@ -637,12 +628,14 @@ void PositionLine(HTMLView browser, Surface surface, int x, int y, int w, int h, break; } + /* switch(block.valign) { case bottom: dy = y + h - bh; break; case top: dy = y; break; case middle: dy = y + (h - bh) / 2; break; } + */ x += bw; break; @@ -667,7 +660,6 @@ void PositionLine(HTMLView browser, Surface surface, int x, int y, int w, int h, break; case TABLE: PositionTable(browser, surface, x, y, w, h, left, right, block); - lineComplete = true; block = NextBlockUp(surface, block, null, RenderFlags { render = true }); textPos = 0; break; diff --git a/extras/html/tables.ec b/extras/html/tables.ec index 9570f1b..a2f553d 100644 --- a/extras/html/tables.ec +++ b/extras/html/tables.ec @@ -50,7 +50,7 @@ void ComputeTable(Surface surface, Block table, int textPos, int * width, int * if(cell.type == TD) { int c; - bool centered = false; + int centered = 0; int minW = 0, lineW = 0; Block block; int textPos = 0; @@ -587,7 +587,7 @@ void ComputeTable(Surface surface, Block table, int textPos, int * width, int * { if(cell.type == TD) { - bool centered = false; + int centered = 0; Block block; int textPos = 0; int c; @@ -797,7 +797,7 @@ void ComputeTable(Surface surface, Block table, int textPos, int * width, int * static void RenderCell(HTMLView browser, Surface surface, Block cell, int cellX, int y) { - bool centered = false; + int centered = 0; Block block = cell; int textPos = 0; Block row = cell.parent; @@ -1024,7 +1024,7 @@ static bool PickCell(HTMLView browser, Surface surface, Block cell, int cellX, i int pickX, int pickY, Block* pickBlock, int * pickTextPos) { bool result = false; - bool centered = false; + int centered = 0; Block block = cell; int textPos = 0; Block row = cell.parent; @@ -1221,7 +1221,7 @@ bool PickTable(HTMLView browser, Surface surface, int x, int y, int w, int h, in static void PositionCell(HTMLView browser, Surface surface, Block cell, int cellX, int y) { - bool centered = false; + int centered = 0; Block block = cell; int textPos = 0; Block row = cell.parent; diff --git a/ide/src/project/Project.ec b/ide/src/project/Project.ec index 87e3ec2..77463d5 100644 --- a/ide/src/project/Project.ec +++ b/ide/src/project/Project.ec @@ -42,8 +42,8 @@ IDESettingsContainer settingsContainer void OnLoad(GlobalSettingsData data) { - IDESettings settings = (IDESettings)data; #ifndef MAKEFILE_GENERATOR + IDESettings settings = (IDESettings)data; globalSettingsDialog.ideSettings = settings; ide.UpdateRecentMenus(); ide.UpdateCompilerConfigs(true); @@ -1183,6 +1183,8 @@ private: { #ifndef MAKEFILE_GENERATOR return ide.project == this && ide.debugger && ide.debugger.prjConfig == config && ide.debugger.isActive; +#else + return false; #endif } @@ -1190,6 +1192,8 @@ private: { #ifndef MAKEFILE_GENERATOR return ide.project == this && ide.debugger && ide.debugger.prjConfig == config && ide.debugger.isPrepared; +#else + return false; #endif } @@ -1787,7 +1791,53 @@ private: numErrors++; } else if(compilingEC == 1 || (objDir && objDir == moduleName)) - continue; + { + bool skip = false; + + // Filter out these warnings caused by eC generated C code: + + // Declaration ordering bugs -- Awaiting topo sort implementation + if(strstr(line, "declared inside parameter list")) skip = true; + else if(strstr(line, "its scope is only this definition")) skip = true; + else if(strstr(line, "note: expected 'struct ") || strstr(line, "note: expected ‘struct ")) + { + #define STRUCT_A "'struct " + #define STRUCT_B "‘struct " + char * struct1, * struct2, ch1, ch2; + struct1 = strstr(line, STRUCT_A); + if(struct1) { struct1 += sizeof(STRUCT_A)-1; } else { struct1 = strstr(line, STRUCT_B); struct1 += sizeof(STRUCT_B)-1; }; + + struct2 = strstr(struct1, STRUCT_A); + if(struct2) { struct2 += sizeof(STRUCT_A)-1; } else { struct2 = strstr(struct1, STRUCT_B); if(struct2) struct2 += sizeof(STRUCT_B)-1; }; + + if(struct1 && struct2) + { + while(ch1 = *(struct1++), ch2 = *(struct2++), ch1 && ch2 && (ch1 == '_' || isalnum(ch1)) && (ch2 == '_' || isalnum(ch2))); + if(ch1 == ch2) + skip = true; + } + } + // Pointers warnings (eC should already warn about relevant problems, more forgiving for function pointers, should cast in generated code) + else if((strstr(line, "note: expected '") || strstr(line, "note: expected ‘")) && strstr(line, "(*)")) skip = true; + else if(strstr(line, "expected 'void **") || strstr(line, "expected ‘void **")) skip = true; + else if(strstr(line, "from incompatible pointer type")) skip = true; + else if(strstr(line, "comparison of distinct pointer types lacks a cast")) skip = true; + + // Things being defined for potential use -- Should mark as unused + else if(strstr(line, "unused variable") && (strstr(line, "'__") || strstr(line, "‘__") || strstr(line, "'class'") || strstr(line, "‘class’"))) skip = true; + else if(strstr(line, "defined but not used") && strstr(line, "__ecereProp")) skip = true; + + // For preprocessed code from objidl.h (MinGW-w64 headers) + else if(strstr(line, "declaration does not declare anything")) skip = true; + + // Location information that could apply to ignored warnings + else if(strstr(line, "In function '") || strstr(line, "In function ‘") ) skip = true; + else if(strstr(line, "At top level")) skip = true; + else if(strstr(line, "(near initialization for '") || strstr(line, "(near initialization for ‘")) skip = true; + + if(skip) continue; + numWarnings++; + } else if(strstr(line, "warning:")) { numWarnings++; @@ -4580,6 +4630,7 @@ Project LoadProject(const char * filePath, const char * activeConfigName) return project; } +#ifndef MAKEFILE_GENERATOR static GccVersionInfo GetGccVersionInfo(CompilerConfig compiler, const String compilerCommand) { GccVersionInfo result = unknown; @@ -4651,3 +4702,4 @@ static enum GccVersionInfo return result; } }; +#endif diff --git a/samples/3D/terrainCameraDemo/demo.ec b/samples/3D/terrainCameraDemo/demo.ec index dc18421..138d484 100644 --- a/samples/3D/terrainCameraDemo/demo.ec +++ b/samples/3D/terrainCameraDemo/demo.ec @@ -106,7 +106,7 @@ static void OutputTexture(String fileName) } */ -static bool LoadTerrain(Terrain terrain, char * fileName, Angle lat) +static bool LoadTerrain(Terrain terrain, const char * fileName, Angle lat) { bool result = false; File f = FileOpen(fileName, read); diff --git a/samples/3D/terrainCameraDemo/dna.ec b/samples/3D/terrainCameraDemo/dna.ec index 2c5ca30..7cda358 100644 --- a/samples/3D/terrainCameraDemo/dna.ec +++ b/samples/3D/terrainCameraDemo/dna.ec @@ -283,7 +283,7 @@ public: } } -static char * names[7] = { "Adenine", "Cytosine", "Guanine", "Thymine", "Phosphate", "Desoxyribose", "Hydrogene" }; +static const char * names[7] = { "Adenine", "Cytosine", "Guanine", "Thymine", "Phosphate", "Desoxyribose", "Hydrogene" }; public class DNAModel : Object { @@ -297,7 +297,7 @@ public class DNAModel : Object int baseHeight; int baseDepth; int desoxyriboseWidth; - char * textureFile; + const char * textureFile; public: bool Create(DisplaySystem displaySystem) diff --git a/samples/net/XMLSample/xmlSample.ec b/samples/net/XMLSample/xmlSample.ec index cdd4f20..5bd3f23 100644 --- a/samples/net/XMLSample/xmlSample.ec +++ b/samples/net/XMLSample/xmlSample.ec @@ -118,7 +118,7 @@ class MyParser : XMLParser void ProcessKeyword(char * keyWord) { - NamedLink nl; + NamedLink64 nl; EnumClassData tagData = class(MyTag).data; for(nl = tagData.values.first; nl; nl = nl.next) { -- 1.8.3.1