Commit graph

237 commits

Author SHA1 Message Date
water111 cee6c21603
Add basic features for types and objects (#52)
* started adding simple functions in gcommon

* more tests and features

* more tests, debug windows

* debug prints for windows

* back up some regs for windows

* remove debugging prints
2020-09-19 13:22:14 -04:00
water 3f193013b9 fix bug 2020-09-15 18:57:18 -04:00
water ca3acdb5ec add format order test and fix reg order for windows 2020-09-15 18:49:55 -04:00
water111 7ffcfc4703
Merge pull request #41 from xTVaser/pragma-once
Add #pragma once to all header files
2020-09-14 20:31:41 -04:00
Tyler Wilding 345b8e30d8 Resolve a good chunk of windows compiler warnings
Mostly revolved around the new MSVC check for functions that don't cover all paths (ie. a switch statement without a default case).  It appears to not see an assert as a valid default case.

I switched assert(false) to exceptions in these cases.  I believe this should also abort the program, but will also provide a hopefully useful message?  Hopefully this is an improvement.

Resolves #32
2020-09-13 22:02:27 -04:00
Tyler Wilding 9737dfad34 Add #pragma once to all headers
Resolves #19
2020-09-13 21:36:35 -04:00
water111 90a7e9b4b9
Add addition and subtraction for integers, build macros, dgo building, and build/load test (#35)
* see if math works on windows

* add dgo

* windows debug

* windows debug 2

* one more debug try

* add extra debug print and change logic for slashes

* update

* again

* try again

* remove build game

* remove build game

* add back build-game

* remove runtime from test

* test

* reduce number of files

* go to c++ 14

* big stacks

* increase stack size again

* clean up cmake files
2020-09-12 20:41:12 -04:00
water111 d56540f8c0
Add lambda and static objects (#30)
* add some more tests for let

* support static strings

* add function calling

* add prints for windows debgu

* one test only

* try swapping r14 and r15 in windows

* swap back

* disable defun for now

* fix massive bug

* fix formatting
2020-09-12 13:11:42 -04:00
water 2e32bf7923 semicolon 2020-09-08 20:58:03 -04:00
water c04ab1a6ff try different print format for windows 2020-09-08 20:55:48 -04:00
water f0328dcc92 Merge branch 'master' of https://github.com/water111/jak-project into w/ir 2020-09-08 19:39:39 -04:00
Tyler Wilding aea7b692e4 Got rid of a lot of windows ifdefs 2020-09-07 20:00:02 -04:00
water 1394cf13cd 17 of 124 compiler tests passing 2020-09-07 19:17:48 -04:00
water ee4eb9f128 add some basic symbol stuff 2020-09-07 13:28:16 -04:00
water d49b01e310 working return integer tests as part of gtest 2020-09-06 16:58:25 -04:00
water 7d1625734f small fixes for linux 2020-09-04 20:00:45 -04:00
Tyler Wilding fa40b68a37 Aren't functions hoisted..? 2020-09-04 19:43:45 -04:00
Tyler Wilding d86775878e Address review feedback 2020-09-04 19:40:45 -04:00
Tyler Wilding dcde103c26 Address compiler and test failures 2020-09-03 23:56:35 -04:00
Tyler Wilding 39eb3a90ea Fix for cmake 2020-09-03 22:42:04 -04:00
Tyler Wilding ef09eb12c8 Add a bunch of #ifdefs to keep things working as expected on linux 2020-09-03 22:24:50 -04:00
Tyler Wilding f68f220e5b Merge remote-tracking branch 'water111/master' into windows-nodeci 2020-09-03 20:16:28 -04:00
water bf7a496bb0 implement some loads and stores 2020-08-29 19:13:29 -04:00
Tyler Wilding 324d2121b1 push 2020-08-28 21:01:59 -04:00
Tyler Wilding c5bb7aab54 nasm fixes #1 2020-08-28 20:26:27 -04:00
doctaweed 2138beb150 Windows threading fixes
Further cripple Deci2Listener pending Windows implementation, finish converting POSIX threads to std::thread. Hardcoded pathing in overlord\fake_iso.cpp until environment variables can be implemented for Windows.

Currently loads KERNEL.CGO and links gcommon object file, but crashes when executing due to Windows/Linux differences.
2020-08-28 11:59:20 -06:00
water 75f63d8ff3 add typecheck and tests 2020-08-27 16:47:54 -04:00
doctaweed 92976234a1 Replacing std::exception with std::runtime_error 2020-08-26 22:24:03 -06:00
water a32e6288ac Merge branch 'master' of https://github.com/water111/jak-project into w/type-system 2020-08-26 23:29:23 -04:00
doctaweed 86ee6637fe Symbol fixes
Quick fixing a few more unresolved symbols. This should compile as is, but will not run as it requires mman.dll.
2020-08-26 21:12:32 -06:00
water d2992ba4fe type system method tests 2020-08-26 23:07:55 -04:00
doctaweed 8a81ff78dd Windows fixes
Partially addresses issues with unresolved external symbols
2020-08-26 20:23:22 -06:00
Tyler Wilding e6e96400c8 commit doctor's latest changes 2020-08-26 21:02:24 -04:00
Tyler Wilding c4bd9eaf69 __attribute__ is technically not required. We can probably replace this in a cross platform way like with clang-tidy? 2020-08-26 20:38:42 -04:00
Tyler Wilding 5a2b39641f CMake adjustments, leave edits that didn't change file paths 2020-08-26 20:02:44 -04:00
Tyler Wilding 3c4fcbdd34 clang-format all the things 2020-08-26 01:21:33 -04:00
water acf086a3d2 check in existing work 2020-08-22 22:30:12 -04:00