Commit Graph

149 Commits (250ea57e8b2dfd081116ae93b07122e582c87363)

Author SHA1 Message Date
melex750 250ea57e8b Fix arithmetic operations with integers (#993)
Also fixed unsigned right shift operator ">>>"
2019-04-11 04:15:27 -04:00
krzys_h 5283865a5c
Merge pull request #1136 from colobot/dev-cbot-optimizations
Some CBot code optimizations
2018-05-07 20:53:52 +02:00
AbigailBuccaneer ea64edaa0b Compile with -Wmissing-declarations
-Wmissing-declarations enforces that every function (except for static
functions) must be declared separately before it's defined. This
essentially enforces that every function must be either static, or
declared in a header elsewhere.

This helps the optimizer, as it can do a better job of inlining if it
knows that a function won't be used outside of a given file. It also
helps -Wunused-function (which is enabled by -Wall) find more unused
functions.

Note that Clang spells this option -Wmissing-prototypes, which
confusingly is the name of a related but different warning option under
GCC.
2018-04-21 16:49:27 +01:00
krzys-h 1c2bdc9cab Update license headers 2018-04-20 02:08:50 +02:00
krzys-h 477dc0cae7 Some CBot code optimizations 2018-04-06 15:02:06 +02:00
melex750 a9e0874abc Fix 'this' for object:: functions
Fixes #672
Fixes #1026
2017-10-24 04:46:07 -04:00
melex750 c03dfc1284 Add escape codes for string literals 2017-07-22 14:29:05 -04:00
melex750 15b8cf7f78 Update object variable when concatenating strings 2017-05-25 02:09:44 -04:00
Abigail 11d950221b Fix all compiler warnings and enable -Werror (#955)
This removes all compilation warnings on:
* g++ 4.7.4, 4.8.5, 4.9.4, 5.4.1, 6.3.0, 7.0.1-svn246759
* clang++ 3.9.1, 4.0.0, 5.0.0-svn303007
2017-05-22 11:10:35 +02:00
melex750 f80db9e8fb Fix using negative numbers in default arguments
Issue #919
2017-03-03 02:11:10 -05:00
melex750 b032dad578 Fix execution of default arguments 2017-03-03 01:09:09 -05:00
melex750 92a8c48953 Add syntax for parameters with default values
Also fixes #642
2017-01-24 15:19:03 -05:00
melex750 baba6081b3 Add checking for return statements in functions
issue #30
2017-01-24 14:41:22 -05:00
melex750 2ff8251a81 Fix game crashing with syntax errors 2017-01-24 13:47:00 -05:00
melex750 8e54f7ca9c Fix memory leaks in CBOT engine 2017-01-16 21:16:59 +01:00
melex750 64bc1f1afb Fix constructor/destructor and field syntax 2017-01-16 21:16:59 +01:00
melex750 8fc0151444 Fix increment and decrement syntax 2017-01-16 21:16:59 +01:00
krzys-h e325efa447 Fix crash after precompiling a CBot class with errors (#881) 2016-12-27 13:23:41 +01:00
krzys-h 88c6818cfd Fix code style issues 2016-11-26 13:48:12 +01:00
krzys-h b49fbf0cd6 Another this==nullptr fix (#828) 2016-11-11 22:58:39 +01:00
krzys-h 48f703282e Refactor CBotCallMethode -> CBotExternalCall 2016-11-11 21:58:25 +01:00
krzys-h 6b7233c6ae Remove CBotLinkedList from CBotFunction
Fixup for 191151eb7b
No idea how I managed to forget that
2016-11-11 19:47:59 +01:00
krzys-h 191151eb7b Refactor CBotClass and CBotFunction list to std::list 2016-11-11 19:37:19 +01:00
krzys-h 266b34d578 Make CBotFunction implement CBotLinkedList 2016-11-11 18:16:12 +01:00
krzys-h 8764d28e9e Remove remaining "this != nullptr" checks in CBOT, closes #828 2016-11-11 18:03:46 +01:00
krzys-h ca548e2902 Update CBotFieldExpr::ProtectionError docs 2016-09-24 17:04:47 +02:00
melex750 9ab7f7d140 Fix access to protected and private variables 2016-09-17 08:00:34 -04:00
melex750 3debfb9182 Fix finding in-class methods when searching by ID 2016-09-17 07:59:34 -04:00
melex750 4a14a44f3f Add implicit cast and null for passing arguments 2016-09-17 07:58:39 -04:00
melex750 3146d4ef35 Add method chaining for class constructor calls 2016-08-14 16:56:17 -04:00
krzys-h b9d4d57e33 Syntax sugar: Accessing members of returned objects (#808)
Conflicts:
	src/CBot/CBotInstr/CBotInstrMethode.h
2016-08-09 20:28:37 +02:00
Jeremy Mickelson 6b8e240d26 Fix implicit downcast with variable initialization 2016-08-07 08:27:01 -04:00
melex750 a205eace38 Add missing license headers 2016-08-06 16:29:02 -04:00
melex750 e48188b429 Fix failed assert when literal null is returned 2016-08-06 04:56:57 -04:00
melex750 fad38cd0e9 Add accessing members to function calls 2016-08-04 03:16:59 -04:00
melex750 c9c02f5461 Fix assigning instance to pointer for inheritance 2016-08-04 01:06:37 -04:00
melex750 d0a8a32a57 Fix RestoreMethode when calling inherited methods 2016-08-03 18:34:39 -04:00
melex750 64157090e6 Fix crash when calling method on a null object 2016-06-24 17:18:11 -04:00
melex750 51665e8396 Fix "new" keyword syntax checking 2016-06-24 17:03:50 -04:00
melex750 66984a4bb3 Fix using compound-assignment with an array
...that was initialized in the definition
2016-06-24 17:00:41 -04:00
melex750 0d74b4f36b Fix initializing an array using variables
Resolves a conflict between CBotListArray and CBotExprVar
2016-06-24 16:56:17 -04:00
melex750 37ab015c8d Fix conversion to string with = operator 2016-05-29 06:55:28 -04:00
melex750 6db2832577 Fix conversion to string with + operator 2016-05-29 06:45:08 -04:00
melex750 0165e8f348 Fix and document TypeCompatible 2016-05-29 06:40:42 -04:00
melex750 6491ce0aa5 Fix passing "this" as an argument to a method 2016-05-24 10:30:20 -04:00
melex750 e7942962d3 Fix checking parameters in CBotFunction 2016-04-19 10:36:06 -04:00
melex750 8b7410f803 Fix class.arrays using size of one before comma 2016-03-21 06:11:55 -04:00
melex750 6be1f56288 Add error code no expression, remove some bad code 2016-03-20 20:55:22 -04:00
melex750 5b3da83715 Fix inline declaration of an array of string 2016-03-20 13:27:02 -04:00
melex750 707ef97626 Fix syntax+type checking, base types+CBotDefArray 2016-03-20 07:54:41 -04:00