Commit Graph

252 Commits

Author SHA1 Message Date
drmortalwombat 982fe17aed Fix compiler crash when using function result in if condition 2023-10-24 14:29:46 +02:00
drmortalwombat 3377ac04fc Fix const use and vtable incompatibility 2023-10-22 12:34:26 +02:00
drmortalwombat da5326cc5f Fix local multi dim array init 2023-10-16 15:01:30 +02:00
drmortalwombat 19e2498cc8 Fix member constructor for multi dim array members 2023-10-16 14:13:20 +02:00
drmortalwombat 7858e32d12 Improve handling of single member structs 2023-10-15 20:17:04 +02:00
drmortalwombat 4e76b34f53 constexpr constructor 2023-10-14 18:50:27 +02:00
drmortalwombat 2027ac5d4c Fix template expansion in multiple cpp 2023-10-12 14:10:34 +02:00
drmortalwombat 6a30a38415 Fix multi instantiation of inline constructors 2023-10-10 09:02:30 +02:00
drmortalwombat 33d692194a Add iterators to string 2023-10-08 16:27:52 +02:00
drmortalwombat 313b6dcf93 Fix struct assign in constexpr 2023-10-03 12:47:24 +02:00
drmortalwombat da29a87477 Fix address of array in const declaration to return correct pointer type 2023-09-24 11:03:54 +02:00
drmortalwombat 9d8c6991e8 Add global optimizer for parameter/return optimizations 2023-09-23 14:56:04 +02:00
drmortalwombat a0409002b6 Fix pointers in constexpr 2023-09-20 14:19:56 +02:00
drmortalwombat f211eef837 Add fold expressions for argument packs 2023-09-17 20:34:42 +02:00
drmortalwombat 38274fb4f7 Add emplace_back in vector 2023-09-17 15:40:05 +02:00
drmortalwombat c674fc9a8b Add variadic sizeof... 2023-09-17 11:39:18 +02:00
drmortalwombat 06ebf85d9d Recursive variadic templates 2023-09-17 10:24:28 +02:00
drmortalwombat d9106be820 Lambda in constexpr 2023-09-14 12:03:28 +02:00
drmortalwombat 0e6cb5557a Auto parameters in lambdas 2023-09-14 10:30:52 +02:00
drmortalwombat 64b3bfa30f Optimize temporary object livetime 2023-09-13 19:05:33 +02:00
drmortalwombat 532bf51718 Range for loop with reference iteration 2023-09-13 17:24:38 +02:00
drmortalwombat eccb2787dc Add simple range for loop 2023-09-12 21:33:59 +02:00
drmortalwombat 2b51f20b1c Add lambda 2023-09-12 15:36:24 +02:00
drmortalwombat c926456560 Add simple return type deduction 2023-09-11 17:49:04 +02:00
drmortalwombat ab49281b0d Implement operator() 2023-09-11 16:19:11 +02:00
drmortalwombat 1b50baf852 Fix wrong unicode character in error message 2023-09-11 13:03:07 +02:00
drmortalwombat c1ecf1c281 Added bitfields 2023-09-11 08:04:09 +02:00
drmortalwombat 4dd3cd967a Add switch, break and continue to constexpr 2023-09-08 21:03:18 +02:00
drmortalwombat ab273181f5 First shot implementing constexpr 2023-09-08 20:12:38 +02:00
drmortalwombat e9afd5e284 Fix template function included multiple ways 2023-08-31 20:17:39 +02:00
drmortalwombat 5b4e5b545d Add or/and/shift to inline assembler 2023-08-20 19:06:24 +02:00
drmortalwombat 54296bdd71 Add friend classes 2023-08-20 15:06:51 +02:00
drmortalwombat 4732f76bd5 Add static member variables 2023-08-20 14:17:40 +02:00
drmortalwombat bd3c7571c5 bump version number 2023-08-19 21:57:44 +02:00
drmortalwombat 8dc37e9ab2 Mangling function types in template expansion 2023-08-18 23:03:15 +02:00
drmortalwombat 3a9cd85072 Optimize simple const ref to value in functions 2023-08-18 13:13:39 +02:00
drmortalwombat 0440f0ef19 More template support 2023-08-17 14:55:43 +02:00
drmortalwombat b7daafcac8 Add list and iterators to opp 2023-08-16 16:16:04 +02:00
drmortalwombat 952d087a2b Add using with list of names 2023-08-15 13:16:39 +02:00
drmortalwombat 69b46c4b7b Fix namespaces for templates 2023-08-15 12:46:57 +02:00
drmortalwombat 50cc2afb52 Add template algorithm sort 2023-08-15 11:05:52 +02:00
drmortalwombat 80426d974c Add RValue Reference 2023-08-13 20:53:39 +02:00
drmortalwombat 61f8b68c2f Fix duplicate member cons/destructor if class included from multiple cpp 2023-08-13 11:00:02 +02:00
drmortalwombat 9d6691cf91 Copy constructor and destruct for scalar types 2023-08-12 18:19:46 +02:00
drmortalwombat cb5451b9b9 Automatic function template expansion 2023-08-12 15:25:30 +02:00
drmortalwombat 5b7334bb17 Add placement new and destructor call 2023-08-11 19:04:13 +02:00
drmortalwombat fef6bc29bc Add templates 2023-08-11 07:41:27 +02:00
drmortalwombat b7630450f1 Improve C++ compliance 2023-08-08 14:19:08 +02:00
drmortalwombat 1407d9d948 Add function default parameters 2023-08-06 15:21:11 +02:00
drmortalwombat 1931f25475 Add struct member initializer 2023-08-05 21:52:44 +02:00
drmortalwombat 58ab6818ed Add alignment for functions 2023-08-03 13:34:23 +02:00
drmortalwombat f3eb6e19cf Fix linux build 2023-08-02 16:52:45 +02:00
drmortalwombat 551316fe59 Fix autotest assert 2023-07-26 18:02:22 +02:00
drmortalwombat d8f31b170d Mangle constructor name 2023-07-25 14:37:00 +02:00
drmortalwombat 07323b12f9 Static init of structs with base classes 2023-07-25 11:19:00 +02:00
drmortalwombat 9b2d90ec58 Add autotest for string stream 2023-07-23 11:19:26 +02:00
drmortalwombat bd6db60802 Add iostream library 2023-07-20 14:46:10 +02:00
drmortalwombat 9cdfad7d34 Improve cpp code generation 2023-07-17 07:52:59 +02:00
drmortalwombat 18c21b3fda Optimize long shifts 2023-07-15 22:32:07 +02:00
drmortalwombat fa60c2e658 Improve operator overloading 2023-07-14 07:48:48 +02:00
drmortalwombat 6178bb1f9d Shortcut jump cascades 2023-07-10 22:12:41 +02:00
drmortalwombat 66631c915b Prefix and inc operator overload 2023-07-09 10:52:11 +02:00
drmortalwombat a46cf3a0d3 Add virtual destructor 2023-07-08 22:04:55 +02:00
drmortalwombat ed9aa3503b Added virtual functions 2023-07-08 18:53:06 +02:00
drmortalwombat 0b6a9c3584 Copy elision on return statements 2023-07-05 17:10:23 +02:00
drmortalwombat 0b79d44345 Fix location of error message of duplicate function definition 2023-07-03 22:39:24 +02:00
drmortalwombat 6c7347310b Init const copy construction 2023-07-02 20:48:46 +02:00
drmortalwombat ef0a79b8f0 Index operator overload 2023-07-02 18:21:40 +02:00
drmortalwombat 7f6cf654f6 Implemented new and delete operators 2023-07-02 16:34:17 +02:00
drmortalwombat 7858c2135b Add malloc/free as intrinsic 2023-07-02 12:00:53 +02:00
drmortalwombat 1b73df7e25 const member functions 2023-06-29 18:11:11 +02:00
drmortalwombat fa9aa9c2bb Visibility in base classes 2023-06-29 16:34:38 +02:00
drmortalwombat 3d6b60c9f4 Implement base class constructors 2023-06-28 22:14:29 +02:00
drmortalwombat 478f93922d Error on pointer/integer compare 2023-06-27 18:16:13 +02:00
drmortalwombat a41c3d445b Add class, public, private and protected keywords 2023-06-27 17:18:12 +02:00
drmortalwombat 8f39d736d5 Fixing member functions with includes 2023-06-27 08:12:20 +02:00
drmortalwombat 0b1b4a7d9b Array constructors 2023-06-25 22:24:13 +02:00
drmortalwombat 0f67f7150f Fix linux build 2023-06-25 16:16:26 +02:00
drmortalwombat 6b753c1418 Destructor tracking of temporary variables 2023-06-25 14:25:29 +02:00
drmortalwombat 56740b630d Member constructor and destructor 2023-06-22 19:17:45 +02:00
drmortalwombat a854133f8e Fix over eager global address progpagation 2023-06-22 14:04:18 +02:00
drmortalwombat 9bcec5bf17 Destructors when leaving scopes the normal way 2023-06-21 22:07:00 +02:00
drmortalwombat daf412a47b Add default constructor 2023-06-20 17:16:22 +02:00
drmortalwombat e577791252 Constructors with parameter overloading 2023-06-20 10:26:49 +02:00
drmortalwombat b008d39eae Function overloading in cpp mode 2023-06-18 20:27:20 +02:00
drmortalwombat f72048383a Access to member variables in member functions 2023-06-18 16:37:53 +02:00
drmortalwombat 9e92c2863a Add member functions in cpp mode 2023-06-18 14:41:23 +02:00
drmortalwombat 37416a61cb Add struct inheritance in cpp mode 2023-06-18 10:20:50 +02:00
drmortalwombat 7b40aa59a1 Add references for cpp mode 2023-06-17 21:07:31 +02:00
drmortalwombat fd391690b9 Add .cpp mode and namespace/using 2023-06-17 15:08:03 +02:00
drmortalwombat c83804a76c Cross function constant propagation 2023-06-14 14:40:59 +02:00
drmortalwombat 72687b7581 Add compound literals 2023-06-10 15:17:57 +02:00
drmortalwombat 9175257bbc Fix function return source position with implicit return 2023-05-28 16:12:12 +02:00
drmortalwombat a4faf204cb Fix enums in debug output 2023-05-27 14:17:30 +02:00
drmortalwombat cdbb24b6b2 Add iecbus library 2023-05-21 17:19:26 +02:00
drmortalwombat f8d69f7945 Add "enter" and "leave" attributes to dbj for local variables 2023-05-17 18:27:09 +02:00
polluks 1616b9335f Fixed typos 2023-05-13 15:57:46 +02:00
drmortalwombat 30c602d468 Fix missing enums in dbj files 2023-05-11 09:39:00 +02:00
drmortalwombat 0639fdc008 Unify instruction dependency check in optimizer 2023-05-06 18:28:59 +02:00
drmortalwombat b1fc2e3736 Add __bankof operator 2023-04-30 18:35:04 +02:00