Commit Graph

523 Commits

Author SHA1 Message Date
Ginger Bill
fec6df65b3 Use 128-bit integers for ExactValue integers 2017-05-30 15:23:01 +01:00
Ginger Bill
78494e84d5 Remove some asserts in timings.c 2017-05-29 19:41:13 +01:00
Ginger Bill
60d7c833c0 Fix unary expression type check 2017-05-28 21:56:40 +01:00
Ginger Bill
98dbbf11f3 Fix procedure overloading distinguishing 2017-05-28 18:51:42 +01:00
Ginger Bill
f4924e39d4 Fix printing of struct literals with custom alignment 2017-05-28 16:11:19 +01:00
Ginger Bill
826e05c96e Convert windows.odin to the new naming convention 2017-05-28 16:08:29 +01:00
Ginger Bill
d3f63e5903 Change label syntax for for and match from #label name to name: 2017-05-28 15:01:39 +01:00
Ginger Bill
80c034ec7c Change naming convention from Ada_Like to RustLike
Naming Conventions:
In general, PascalCase for types and snake_case for values

Import Name:        snake_case (but prefer single word)
Types:              PascalCase
Union Variants:     PascalCase
Enum Values:        PascalCase
Procedures:         snake_case
Local Variables:    snake_case
Constant Variables: SCREAMING_SNAKE_CASE
2017-05-28 14:47:11 +01:00
Ginger Bill
b41f09b730 Experimental try for ABI for return values on windows
It's all done by reverse engineering it. I may be wrong...
2017-05-28 14:11:00 +01:00
Ginger Bill
06185e1769 Try a different ABI type for return values on Windows 2017-05-28 01:07:52 +01:00
Ginger Bill
f8fa7fe380 Fix bug with too many field values in a structure literal. 2017-05-27 20:57:48 +01:00
Ginger Bill
45dbe8d354 default: to case:; no_alias to #no_alias 2017-05-27 11:47:21 +01:00
Ginger Bill
ddb99dd638 Fix interval loop constant bug; Fix ir edge checking; Fix vector arithmetic with scalars 2017-05-22 23:29:09 +01:00
Ginger Bill
41aa4e606b Optional main for DLL; access struct elements by "index" 2017-05-17 21:23:52 +01:00
Ginger Bill
e025a828ca Fix issue #66 2017-05-14 10:32:48 +01:00
Ginger Bill
807e17207a Merge branch 'master' of https://github.com/gingerBill/Odin 2017-05-13 16:09:04 +01:00
Ginger Bill
3e18f5f057 Fix Ternary Operator IR bug 2017-05-13 16:08:50 +01:00
gingerBill
9637cc5690 Add #ordered to the "raw" types in raw.odin 2017-05-12 16:04:05 +01:00
Ginger Bill
ded99a2cab Fix issue with os.file_size on *nix 2017-05-12 10:29:55 +01:00
Ginger Bill
45eecc0905 Reimplement #ordered again 2017-05-12 10:27:14 +01:00
Ginger Bill
87f1a62ca4 Fix alignment for normal structures to match LLVM 2017-05-10 22:51:35 +01:00
Ginger Bill
c6d531df95 Add %% operator (divisor modulo) 2017-05-09 16:21:31 +01:00
Ginger Bill
8677c81da7 Fix ir bug; allow formatting options for arrays & et al. 2017-05-09 12:05:17 +01:00
Ginger Bill
5595daf5a3 Revert demo.odin 2017-05-09 10:01:50 +01:00
Ginger Bill
64b5afd820 Fix issue #63 for block comments not terminating at an EOF 2017-05-09 10:01:10 +01:00
Ginger Bill
7692061eef Add XOR for booleans 2017-05-07 20:52:20 +01:00
Ginger Bill
f7f2272c50 Fix fmt_float precision 2017-05-07 11:42:27 +01:00
Ginger Bill
03fbdc3f75 Fix IR printing bug with global unicode identifiers 2017-05-06 23:02:47 +01:00
Ginger Bill
ea6a4859ed Merge branch 'master' of https://github.com/gingerBill/Odin 2017-05-06 20:56:18 +01:00
Ginger Bill
615fa82d1f Fix using issue #62 2017-05-06 20:55:09 +01:00
gingerBill
b60b310121 Merge pull request #61 from ThisDrunkDane/master
Fix constant casing and add several win32 functions, structure and constants
2017-05-05 21:00:58 +01:00
Mikkel Hjortshoej
c7f7e562a0 Add following win32 functions
- ShowCursor
	- GetFileAttributesA
	- FindFirstFileA
	- FindNextFileA
	- FindClose

Add following win32 constants
	- MAX_PATH
	- INVALID_FILE_ATTRIBUTES

Add following win32 structure
	- Find_Data
2017-05-05 20:32:48 +02:00
Mikkel Hjortshoej
a317237404 Fix casing on FILE_ATTRIBUTE_DIRECTORY 2017-05-05 20:22:18 +02:00
Ginger Bill
51ea59d76a Fix calculation of vector type sizes 2017-05-04 23:18:54 +01:00
Ginger Bill
789b297f32 Add hidden __tag for union variables. 2017-05-04 20:34:50 +01:00
Ginger Bill
3b25f924cb Remove debug bug 2017-05-03 11:01:17 +01:00
Ginger Bill
cc6282a6e3 Fix alignment and size bug of enums; Remove #ordered and make the default #ordered. 2017-05-02 21:16:09 +01:00
Ginger Bill
206a3e093c Remove check on array/slice/dynamic element size 2017-05-02 20:17:53 +01:00
Ginger Bill
19bde275a3 Add files in core v0.2.1 2017-05-01 15:30:16 +01:00
Ginger Bill
634ee450f4 v0.2.1 2017-05-01 15:28:26 +01:00
Ginger Bill
750d7256fc Unary expression for vector (fix) 2017-05-01 15:27:21 +01:00
Ginger Bill
fae5df2ed8 Fix IR vector arith conv bug 2017-05-01 15:05:56 +01:00
Ginger Bill
01d9161772 Fix value conversion with enum value on for in. 2017-05-01 10:10:07 +01:00
Ginger Bill
aceabb2f2f for in iteration of Enum Type (request from issue #58) 2017-05-01 10:02:25 +01:00
Ginger Bill
04f5fff7fa Improve vector math; Make bprint* return string 2017-05-01 00:38:26 +01:00
Ginger Bill
dc5587eae2 Fix statement parsing of unary: & and ^ 2017-04-30 17:20:37 +01:00
Ginger Bill
7057034b75 v0.2.0 v0.2.0 2017-04-30 16:28:13 +01:00
Ginger Bill
1430ca30a3 Fix subtype polymorphism implicit conversion 2017-04-30 16:22:24 +01:00
Ginger Bill
e63393e394 Add type assertion for any 2017-04-30 15:29:46 +01:00
Ginger Bill
784f3ecf7e Syntax change: cast(T)x => T(x); union_cast(T)x => x.(T); transmute(T)x => transmute(T, x); y:=^x => y:=&x;
Sorry for all the code breaking in this commit :(
2017-04-30 15:09:36 +01:00