Josh @ Dreamland
|
|
Posted on: February 19, 2014, 10:51:53 am |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
Hi people,
I'm going to stop playing with blocks today and try to get this last JDI error fixed, at which point ENIGMA's engine will parse without error on Linux. I was going to boot up Windows and test it, but then I realized I don't feel like doing that at all. Plus, if I have people do this, I can test on multiple systems.
I'm going to assume that the preprocessor works without error, and so for the purpose of cross-platform testing, supplement GCC's. What I need from you is to do the following:
1. Open a terminal. 2. cd to your ENIGMA folder. 3. [snip]cd ENIGMAsystem/SHELL[/snip] 3. [snip]g++ -E SHELLmain.cpp <YOUR COMMAND LINE BUILD PARAMETERS, AS PRINTED IN LGM> -o preprocessed.cpp[/snip] 4. Upload preprocessed.cpp here as an attachment, or to dropbox, or if it's small enough (which is unlikely considering you people won't stop including STL headers from main), pastebin it. 5. Link me if necessary.
This will allow me to test JDI on arbitrary machines without booting or having access to any of them. The only thing that won't be tested this way is the preprocessor, which, as I said, should be working fine.
When this is done I'm going to go ahead and merge NewTemplates into master, at which point I will recommend integration into ENIGMA, but I will not advocate it or otherwise facilitate it, as it means writing the new compiler around it can finally happen.
I am particularly looking for a Windows dump, but any platform is welcome—the more, the merrier.
Cheers
|
|
« Last Edit: February 19, 2014, 10:55:12 am by Josh @ Dreamland »
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Goombert
|
|
Reply #1 Posted on: February 19, 2014, 10:55:33 am |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Josh, I get this error on Windus.
Owner@OWNER-PC ~/Desktop/ENIGMA/enigma-dev (master) $ g++ -E ENIGMAsystem/SHELL/SHELLmain.cpp -o preprocessed.cpp In file included from ENIGMAsystem/SHELL/SHELLmain.cpp:38:0: ENIGMAsystem/SHELL/Universal_System/spritestruct.h:24:47: fatal error: Collision _Systems/collision_types.h: No such file or directory #include "Collision_Systems/collision_types.h" ^ compilation terminated.
Owner@OWNER-PC ~/Desktop/ENIGMA/enigma-dev (master) $
May I also suggest, feature freeze on ENIGMA's repo?
|
|
« Last Edit: February 19, 2014, 11:14:42 am by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
Josh @ Dreamland
|
|
Reply #2 Posted on: February 19, 2014, 11:03:18 am |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
We are in no position for a feature freeze right now. There will be one when we have two branches for the new compiler. The new compiler branch, when I'm done, will be considered development. Bug fixes will go to the old branch, but this will have to be short-lived, as the new compiler will come with the new instance system (it has to).
Also, I edited in the fact that you need to specify LGM's parameters. I forgot to mention that, as my own test suite was the STL.
Those who are faint of heart can just preprocess this for me:
#include <cassert> #include <cctype> #include <cerrno> #include <cfloat> #include <ciso646> #include <climits> #include <clocale> #include <cmath> #include <csetjmp> #include <cstdarg> #include <cstddef> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <cwchar> #include <cwctype> #include <csignal>
#include <iso646.h>
#include <exception> #include <utility> #include <new> #include <numeric> #include <functional> #include <algorithm> #include <memory> #include <list> #include <deque> #include <vector> #include <stack> #include <queue> #include <set> #include <map> #include <limits> #include <string> #include <stdexcept> #include <bitset>
#include <iomanip> // 13 #include <streambuf> // 58 #include <ios> // 196 #include <ostream> // 220 #include <locale> // 242 #include <iterator> // 278 #include <hash_set> // 278 #include <istream> // 278 #include <iostream> // 278 #include <fstream> // 288 #include <sstream> // 292 #include <strstream> // 295 #include <complex> // 434
If you put that in file.cpp, the command [snip]g++ -E file.cpp -o preprocessed.cpp[/snip] will generate it.
The comments after the lower headers are the number of errors that will be generated by parsing only that file on linux, currently. There are a total of 500 errors remaining in all the STL, but none of them affect ENIGMA as they are not used.
|
|
« Last Edit: February 19, 2014, 11:08:04 am by Josh @ Dreamland »
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Goombert
|
|
Reply #3 Posted on: February 19, 2014, 11:14:22 am |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
I decided to just do that one header and got this. Owner@OWNER-PC ~/Desktop/ENIGMA/enigma-dev/ENIGMAsystem/SHELL (master) $ g++ -E newsballs.cpp -o preprocessed.cpp In file included from c:\users\owner\desktop\enigma\mingw32\include\c++\4.8.2\ba ckward\hash_set:60:0, from newsballs.cpp:47: c:\users\owner\desktop\enigma\mingw32\include\c++\4.8.2\backward\backward_warnin g.h:32:2: warning: #warning This file includes at least one deprecated or antiqu ated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a lis ting of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp] #warning \ ^
Owner@OWNER-PC ~/Desktop/ENIGMA/enigma-dev/ENIGMAsystem/SHELL (master) $
Here is the output of preprocessed.cpp https://www.dropbox.com/s/mn00ki6bvl5vz9g/preprocessed.cpp
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
Josh @ Dreamland
|
|
Reply #4 Posted on: February 19, 2014, 11:19:07 am |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
Well, good; your results are basically consistent with mine. Parse completed with 510 errors and 0 warnings.
====[++++++++++++++++++++++++++++++ SUCCESS! ++++++++++++++++++++++++++++++]====
Parse completed with 510 errors and 0 warnings.
============================================================================ =: Command Line Interface :================================================= ============================================================================
Commands are single-letter; 'h' for help. Follow commands with ENTER on non-unix. >
Goodbye ==13522== ==13522== HEAP SUMMARY: ==13522== in use at exit: 0 bytes in 0 blocks ==13522== total heap usage: 299,240 allocs, 299,240 frees, 18,037,235 bytes allocated ==13522== ==13522== All heap blocks were freed -- no leaks are possible ==13522== ==13522== For counts of detected and suppressed errors, rerun with: -v ==13522== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
I'm going to assume that your engine file will be roughly the same. I could have had you throw windows.h in with that, but there's not much point, since it's plain C.
|
|
« Last Edit: February 19, 2014, 11:22:19 am by Josh @ Dreamland »
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Goombert
|
|
Reply #5 Posted on: February 19, 2014, 11:25:15 am |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
@JoshDreamsex Fuck all this noise. And your little dog too.
|
|
« Last Edit: February 19, 2014, 11:31:45 am by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|