Pages: 1
  Print  
Author Topic: JDI NewTemplates branch  (Read 1818 times)
Offline (Male) Josh @ Dreamland
Posted on: February 19, 2014, 10:51:53 am

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2949

View Profile Email
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. cd ENIGMAsystem/SHELL
3. g++ -E SHELLmain.cpp <YOUR COMMAND LINE BUILD PARAMETERS, AS PRINTED IN LGM> -o preprocessed.cpp
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
Offline (Male) Goombert
Reply #1 Posted on: February 19, 2014, 10:55:33 am

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
Josh, I get this error on Windus.
Code: (Bash) [Select]
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.

Offline (Male) Josh @ Dreamland
Reply #2 Posted on: February 19, 2014, 11:03:18 am

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2949

View Profile Email
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:

Code: (C++) [Select]
#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 g++ -E file.cpp -o preprocessed.cpp 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
Offline (Male) Goombert
Reply #3 Posted on: February 19, 2014, 11:14:22 am

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
I decided to just do that one header and got this.
Code: (Bash) [Select]
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.

Offline (Male) Josh @ Dreamland
Reply #4 Posted on: February 19, 2014, 11:19:07 am

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2949

View Profile Email
Well, good; your results are basically consistent with mine.
Parse completed with 510 errors and 0 warnings.

Code: [Select]
====[++++++++++++++++++++++++++++++ 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
Offline (Male) Goombert
Reply #5 Posted on: February 19, 2014, 11:25:15 am

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
@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.

Pages: 1
  Print