Commit Graph
100 Commits
Author SHA1 Message Date
gingerBill aa620e8ea1 Fix Procedure value printing in ir.cpp 2020-04-17 16:20:50 +01:00
gingerBill 1addee32b5 package container with Queue and Array 2020-04-17 15:26:50 +01:00
gingerBill 92402603b9 Change find_or_generator_context_ptr behaviours 2020-04-17 14:02:45 +01:00
gingerBill 4438b3e7af Fix LLVM API backend for procedure "constant" values 2020-04-17 13:50:28 +01:00
gingerBill 602a651613 Fix name mangling for @(private) entities 2020-04-15 21:58:16 +01:00
gingerBill 1e321cd48c Fix reflect.capacity and reflect.index 2020-04-15 19:00:05 +01:00
gingerBill dbaf8568d6 Fix reflect.length 2020-04-15 18:56:19 +01:00
gingerBill f229084baa Basic polymorphic named procedure parameters for procedures and records 2020-04-13 15:48:56 +01:00
gingerBill f09b6a4c90 Simplify compiler's Map and create a StringMap specifically for strings 2020-04-13 13:02:30 +01:00
gingerBill 65a2125dba Add -build-mode=obj 2020-04-13 12:00:40 +01:00
gingerBill 9e698b720f Change behaviour for zero-sized value types of array-related types; Fix make behaviour to always zero memory 2020-04-12 10:41:44 +01:00
gingerBill 5157619eb7 Support endian specific float on -llvm-api; fix unary - for endian floats 2020-04-11 21:51:43 +01:00
gingerBill 90593fe6ae Endian specific floating point types (e.g. f32be) 2020-04-11 21:34:55 +01:00
gingerBill a736d0e83f Fix @force on non-windows platforms 2020-04-11 19:40:01 +01:00
gingerBill 7ba339e6bd Fix link_name for variables 2020-04-11 19:34:29 +01:00
gingerBill baf5b9edc3 Add runtime.bswap_* required for -llvm-api 2020-04-11 19:26:16 +01:00
gingerBill 62dc99dbef Begin to make the -llvm-api more general 2020-04-10 19:52:17 +01:00
gingerBill 29a3cb25d3 Add extra guards for window-only performance checking 2020-04-07 11:47:28 +01:00
gingerBill 7ff690500a Fix psapi.h to be windows only 2020-04-07 11:41:55 +01:00
gingerBill d0b913dad1 Add extra internal memory analysis 2020-04-06 12:17:54 +01:00
gingerBill d659e679fd Fix defer after return for -llvm-api 2020-04-06 12:17:27 +01:00
gingerBill ae97c1111a Fix -llvm-api for typeid comparison with a Type itself 2020-04-06 11:38:53 +01:00
gingerBill f38d7b02f3 Fix phi node check with untyped types 2020-04-05 14:20:26 +01:00
gingerBill 5e706bab56 Fix typeid comparison bug in ir.cpp 2020-04-04 21:23:11 +01:00
gingerBill b362ce9a22 Fix selector expressions for map[unknown-key] expressions for -llvm-api 2020-04-04 20:56:56 +01:00
gingerBill 9961ad8e48 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-04-04 19:46:00 +01:00
gingerBill b54b5aabac Fix crash on aliasing compiler-only packages (e.g. intrinsics) with _ at the global scope. 2020-04-04 19:45:54 +01:00
gingerBill 3f638f92e2 Fix -vet warning in core.odin for intrinsics not being used 2020-04-04 13:48:53 +01:00
gingerBill b0d668d254 Fix math.atan 2020-04-04 13:02:39 +01:00
gingerBill 488282409f Fix shadowing for -vet 2020-03-30 15:22:42 +01:00
gingerBill d3c2191cf7 Fix formatting 2020-03-30 12:38:09 +01:00
gingerBill 0804be5d81 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-03-30 12:21:51 +01:00
gingerBill 3c189d2cf6 Add basic support for Python-style {} printf formatting 2020-03-30 12:21:44 +01:00
gingerBill 1b3ee7153c Fix #599 - llvm-api GEP for structs with custom alignment 2020-03-28 16:08:14 +00:00
gingerBill bda5e8cc66 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-03-28 15:42:53 +00:00
gingerBill 6d6f8f8da9 LLVM API fixes: for in ^map; complex/quaternion negation 2020-03-28 15:42:46 +00:00
gingerBill b98a4c6d69 Fix #597 2020-03-27 13:33:31 +00:00
gingerBill 4be385d648 Add more helpers to package reflect 2020-03-27 13:30:22 +00:00
gingerBill b21993a1c4 Allow ability to reference compound literals like C99 for -llvm-api 2020-03-26 17:33:54 +00:00
gingerBill dd69fcba07 Merge branch 'master' into llvm-integration 2020-03-26 15:56:55 +00:00
gingerBill 7909872877 Allow referencing a compound literal to act like C99 2020-03-26 15:56:08 +00:00
gingerBill 0a920b5439 Fix map references in selector expressions 2020-03-25 15:55:00 +00:00
gingerBill 921ee82c97 Fix range statements for enumerated arrays without an element value but with an index 2020-03-25 15:11:35 +00:00
gingerBill b7893082ce Allow map indices to be referenced &m[key] and return a valid pointer if it exists otherwise nil 2020-03-24 15:51:17 +00:00
gingerBill 6bfe9b6656 Merge branch 'master' into llvm-integration 2020-03-24 15:48:57 +00:00
gingerBill da703edbf4 Allow map indices to be referenced &m[key] and return a valid pointer if it exists otherwise nil 2020-03-24 15:48:31 +00:00
gingerBill 796331fea6 Support by-reference semantics in for value_ref, i in &some_array and for key, value_ref in &some_map 2020-03-24 15:33:34 +00:00
gingerBill 820095ddac Merge branch 'master' into llvm-integration 2020-03-24 15:29:44 +00:00
gingerBill d57fbf48f0 Support by-reference semantics in for value_ref, index in &some_array and for key, value_ref in &some_map 2020-03-24 15:28:58 +00:00
gingerBill 53c842e9ba Change to new by-reference semantics for switch v in &value 2020-03-24 14:43:28 +00:00
gingerBill 1e375ba8de Merge branch 'master' into llvm-integration 2020-03-24 14:31:09 +00:00
gingerBill 5cbb266ef5 Change behaviour of switch v in &value to make v have by-reference semantics 2020-03-24 14:29:54 +00:00
gingerBill 0730e01b24 Merge branch 'master' into llvm-integration 2020-03-22 20:57:04 +00:00
gingerBill dfc63dcb60 Fix for in for pointer to map expressions 2020-03-22 20:56:46 +00:00
gingerBill 8093062e3b Wrap all LLVM C includes 2020-03-19 15:36:13 +00:00
gingerBill 9524739dfc Revert demo.odin 2020-03-19 15:31:05 +00:00
gingerBill 054e018e23 Remove dead stuff from build.bat 2020-03-19 15:30:10 +00:00
gingerBill 3d81ad46d2 Change demo.odin to default 2020-03-19 15:29:32 +00:00
gingerBill ed4d21045b Add LLVM_BACKEND_SUPPORT macro to make the backend optional 2020-03-19 15:14:31 +00:00
gingerBill 93955a0fd8 Remove context.std* parameters; Fix unary boolean not 2020-03-19 15:03:02 +00:00
gingerBill fc0002ab67 Fix enum type info generation 2020-03-19 12:28:39 +00:00
gingerBill 04fe23a3c8 Have different categories for optimization passes 2020-03-19 10:57:14 +00:00
gingerBill 1707e004ec Merge branch 'llvm-integration' of https://github.com/odin-lang/Odin into llvm-integration 2020-03-15 14:37:46 +00:00
gingerBill 5169dc07c7 Fix lb_add_proc_attribute_at_index 2020-03-15 14:37:39 +00:00
gingerBill 18fb6a4be4 Merge branch 'master' into llvm-integration 2020-03-15 14:31:26 +00:00
gingerBill 8dba0e332c Fix #590 2020-03-15 14:29:45 +00:00
gingerBill 3951b93d0a Fix branch statements within inline for blocks (partial hack) 2020-03-15 14:27:54 +00:00
gingerBill 10bac2445b Fix ir_print for byval types 2020-03-13 16:48:10 +00:00
gingerBill 06e364b9bd Apply byval to sret for System V ABI 2020-03-13 08:52:23 +00:00
gingerBill ce90509a07 Add initial -mem2reg pass to opt 2020-03-13 00:04:03 +00:00
gingerBill a0d0e93475 Fix os.read_entire_file 2020-03-12 23:45:46 +00:00
gingerBill 2ce1f4ba9f Revert os_windows.odin behaviour 2020-03-12 23:37:24 +00:00
gingerBill a985449c31 Fix os_windows.h 2020-03-12 23:24:30 +00:00
gingerBill 6abc93ad84 Fix os.read for windows 2020-03-12 23:22:01 +00:00
gingerBill da283d5a7f Add byval 2020-03-12 22:33:49 +00:00
gingerBill 2a2d3273ea Add @require for global variables 2020-03-12 14:40:13 +00:00
gingerBill bf0c6f5a30 Fixes for constants and nil parameters 2020-03-08 19:38:50 +00:00
gingerBill d1e670335f Fix lb_find_or_add_entity_string_byte_slice 2020-03-08 18:50:10 +00:00
gingerBill c6c6c56ba9 Fix mem.set for LLVM C API 2020-03-08 18:44:45 +00:00
gingerBill d4e95282c2 Fix llvm.memset for both backends 2020-03-08 18:42:30 +00:00
gingerBill 5a02ebe2c8 Fix foreign import dependencies; Fix lbParamPass_Integer ABI 2020-03-08 17:57:46 +00:00
gingerBill dae817e5ab Integrate linker code with the new LLVM API backend 2020-03-08 17:44:08 +00:00
gingerBill 28502ba53b Fix context system; add more to -show-more-timings for LLVM API; Add ODIN_USE_LLVM_API global constant 2020-03-08 12:34:36 +00:00
gingerBill 8dc74a004c Fix nested type declarations name generation, to be internally consistent 2020-03-08 11:46:05 +00:00
gingerBill c584456a21 Fix logical binary expressions 2020-03-08 10:43:00 +00:00
gingerBill c74d8405ec Merge branch 'master' into llvm-integration 2020-03-08 10:13:19 +00:00
gingerBill e0a370f8f1 Remove adding to path in shell.bat 2020-03-08 10:12:56 +00:00
gingerBill 4cf70f360b Add clone for ast.Ternary_If_Expr and ast.Ternary_When_Expr 2020-03-07 21:41:27 +00:00
gingerBill a83d9f59f6 Fix typo in parser.odin 2020-03-07 21:12:52 +00:00
gingerBill 5d14189a18 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-03-07 16:20:04 +00:00
gingerBill fb686bdebd Remove the need for parapoly to print an enum as a string 2020-03-07 16:19:55 +00:00
gingerBill f92334a769 Basic functionality, except for map and correct nested typename mangling 2020-03-07 10:38:14 +00:00
gingerBill 8d2ad0da0e Fill in more of the llvm_backend code generation 2020-03-05 22:01:07 +00:00
gingerBill db7a3ffd2a Merge branch 'master' into llvm-integration 2020-03-05 21:12:16 +00:00
gingerBill c213d72ec6 Fix #580 defer bug 2020-03-05 20:58:59 +00:00
gingerBill 01b1385672 Disable tmp_block behaviour for ir_find_or_generate_context_ptr 2020-03-05 20:36:53 +00:00
gingerBill e92fdb4a99 x if cond else y and x when cond else y expressions 2020-03-05 20:34:30 +00:00
gingerBill 7d93dd6024 Move module pass to after all function passes 2020-03-05 19:00:23 +00:00
gingerBill e1da631d26 General functionality without context 2020-03-04 22:09:58 +00:00
gingerBill 6151fdb324 Merge branch 'master' into llvm-integration 2020-03-04 19:27:01 +00:00