a873066466
Compiler: Fix enum field size was not taken into account when implicitly passed to a function.
...
Imported from Pawn 3.3.3930.
Example:
---
enum tag
{
member[32]
}
new var[tag];
foo(const string[], size = sizeof(string))
{
// size returns 1 before fix, 32, after.
}
public plugin_init()
{
foo(var[member]);
}
---
2014-08-26 09:05:22 +02:00
f60b00ee71
Compiler: Use hash table for global name lookups.
...
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=4496 .
2014-08-26 09:05:20 +02:00
a876962405
Compiler: Use in-memory buffers for reading files, and handle newlines better.
...
Imported from https://github.com/alliedmodders/sourcemod/pull/63 .
2014-08-26 09:05:18 +02:00
c2ca5d857d
Compiler: Change __line to __LINE__.
2014-08-26 09:05:17 +02:00
27825963f6
Compiler: Fix indentation.
2014-08-26 09:05:15 +02:00
ca7b0ceadd
Compiler: Revert "Add #warning directive."
...
Probably not that useful.
2014-08-26 09:05:13 +02:00
32b546df69
Compiler: Revert "Fix runtime error in variadic functions that return strings."
...
Better fix by dvander will be provided later.
2014-08-26 09:05:11 +02:00
cea2f598b2
Compiler: Fix a regression in handling multi-dimensional arrays (introduced in 744d67b)
...
Fix imported from Pawn 3.3.4058.
2014-08-26 09:05:10 +02:00
d44eb7bf8d
Compiler: Update VERSION_INT.
...
Some people may want to check compiler version with __Pawn, and it would be a good idea to bump the version.
Since we have a special version, and to avoid to use digit which may be used by official version, I propose using letters, so: 0x30A.
This should be resonneable.
2014-08-26 09:05:08 +02:00
e1445316aa
Compiler: Fix moar.
2014-08-26 09:05:07 +02:00
238e3707c8
Compiler: Fix linux compilation.
2014-08-26 09:05:05 +02:00
16e5f54507
Compiler: Improve the reported line number accuracy on warning 203/4 (symbol never used).
...
Imported from Pawn 3.1.3541+.
https://code.google.com/p/pawnscript/source/detail?r=25
2014-08-26 09:05:03 +02:00
65c29cafa0
Compiler: Fix #elseif handling not working as expected.
...
Improted from Pawn 3.1.3636.
-- Example
#define VAR 1
#if VAR == 1
// code
#elseif VAR == 2
// code
#endif
--
Returns error(38).
2014-08-26 09:05:01 +02:00
c4b233d094
Compiler: Improve sizeof return on array without specifiying the dimensions.
...
Imported from Pawn 3.1.3636.
"When making an array without specifiying the dimensions, but where the element
count at the lowest dimension is the same for all, the compiler now "counts"
this size, rather than setting the lowest dimension as "variable length".
An example for this situation is the declaration:
new my_array[][] = { {1,0}, {2,1}, {3,1} }
No dimensions are given, but the new compiler determines that the minor
dimension is 2 (and the major dimension is 3). Previous compilers set the
minor dimension to 0 --meaning "variable"."
2014-08-26 09:05:00 +02:00
cd189320e5
Compiler: Fix the "@" character was not allowed in macro definitions (while the documentation stated that they were).
...
Imported from Pawn 3.1.3599.
2014-08-26 09:04:58 +02:00
17114347d1
Compiler: Fix runtime error in variadic functions that return strings.
...
Imported from SM-AM: 1d1244c2f0
.
"This fixes a bug where returning a string from a variadic function caused
an invalid memory access error during runtime. It seems like they forgot
to update existing string return code for variadic functions."
2014-08-26 09:04:56 +02:00
1866afd80b
Compiler: Add __line
...
Imported from SA-MP: 605ae7f4d3
This is a backport from Pawn 4.0. It sets to the current line number during compile time.
Documention for 3.x actually mention this.
2014-08-26 09:04:55 +02:00
fcdeea683b
Compiler: Add #warning directive.
...
Basically same as error but as warning.
Imported from SA-MP: 1bd6be93e0
Example:
#warning don't eat egg.
Result:
warning.sma(1) : warning 234: user warning: don't eat egg.
2014-08-26 09:04:53 +02:00
92255bcdc3
Compiler: Fix crash when using tagof(tagname:)
...
Imported from SA-MP: 53ef10ffc7
2014-08-26 09:04:52 +02:00
b2442a2268
Compiler: Ignore #pragma tabsize with non-positive argument.
...
Imported from SA-MP: 7f30a03f94
.
2014-08-26 09:04:50 +02:00
1b3b07d4d8
Compiler: Add __BINARY_PATH__ and __BINARY_FILE__.
...
Imported from SM: https://hg.alliedmods.net/sourcemod-central/rev/bd38ac67afe1 and https://hg.alliedmods.net/sourcemod-central/rev/eb4c45360aaf .
2014-08-26 09:04:48 +02:00
95f3b0d354
Compiler: Fix return omission with else-after-return.
...
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=4852 .
2014-08-26 09:04:47 +02:00
9b5c6bfff0
Compiler: Fix asserting when returning a string literal.
...
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=3836 .
2014-08-26 09:04:45 +02:00
57b172072a
Compiler: Fix bogus assert about name lengths.
...
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=4486 .
2014-08-26 09:04:44 +02:00
3b2618f63b
Compiler: Fix improper handling of constant chained relational operators.
...
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=3838 .
2014-08-26 09:04:42 +02:00
4f525b9150
Compiler: Fix memory corruption when parsing natives.
...
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=5840
2014-08-26 09:04:40 +02:00
325a746d90
Compiler: Fix issue with multidimensional array variable release.
...
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=6100 .
2014-08-26 09:04:39 +02:00
6978e2dc4c
Compiler: Fix in recursion detection.
...
Original fix imported from pawn 3.1.3522.
This fixes where for some plugins you would have:
Stack/heap size: 16384 bytes; usage is unknown, due to recursion
Now, you get:
Stack/heap size: 16384 bytes; estimated max. usage=782 cells (3128 bytes)
2014-08-26 09:04:37 +02:00
520493fab1
Compiler: Add #pragma deprecated.
...
This is based on SM, including patch to support macros/constants (https://hg.alliedmods.net/sourcemod-central/rev/ef8dd1cddc35 ).
Updated also some pawn includes to use this new pragma.
2014-08-26 09:04:36 +02:00
09303625fb
Compiler: Generate .scp files as part of the build process.
...
Stolen from SM (https://github.com/alliedmodders/sourcemod/pull/112 ).
2014-08-26 09:02:38 +02:00
02b6d0a288
Compiler: Increase input line length.
...
1023 can be achieved really fastly, e.g. with some SQL definitions.
This is the same value as SM.
2014-08-26 09:02:36 +02:00
ccf919c58c
Fix typo in previous commit (r=dvander)
2014-08-21 20:57:08 +02:00
567fbcd517
Fix build.
2014-08-19 21:38:44 -07:00
6bbc4c8dbd
Fix returning strings from variadic functions.
2014-08-17 10:00:51 -07:00
3a43a41141
Added back estimated stack usage.
2014-08-15 23:46:16 +01:00
f886e69dfb
Fixed linux build.
2014-08-15 23:23:11 +01:00
46123d359f
Add support for Emscripten to the compiler.
2014-08-15 16:32:00 +00:00
1cff91ced5
Update license headers for compiler.
2014-08-04 13:18:28 -05:00
d7a74ebb94
🔥 Remove amxmod compat hack from the compiler
2014-07-19 18:12:15 +03:00
9815050287
Increase var/func and input line maximum length (bug 5924, r=dvander)
2014-03-24 01:04:17 +01:00
779e064a17
Add .rc files.
...
Former-commit-id: 3d9c34eff669112a54d181ca3f970e2c77d31409
2014-02-08 20:53:01 -08:00
bd586d37e6
Add OS X support to AMBuild and 10.9 support to amxxpc.
...
Former-commit-id: 91779cb9414e0ade9c170752cfc313c0425c8d14
2014-02-08 15:25:57 -08:00
ad36859607
Port plugin building to AMBuild.
...
Former-commit-id: 9ac73de5b247da341b0b4cdf00ec3c7e0472be82
2014-02-08 12:42:00 -08:00
c4e90ce865
Initial import of AMBuild infrastructure for C++ projects.
...
Former-commit-id: 53baa4f8c25525674f5e71f8f6ff2663928500ab
2014-02-08 01:14:15 -08:00
da30315556
Fix Wno-delete-non-virtual-dtor flag to be passed only for .cpp files.
...
Former-commit-id: 4f8b31483ddf784589bc2bd53f736772147c631d
2013-08-10 19:29:28 +02:00
40c1fee55a
Added support for Mac OS X and building with clang (bug 5601, r=dvander).
2013-02-13 01:14:37 -06:00
5a6c4ea408
Removed amxxpc64 and rebuilt amxxpc binaries.
2013-02-08 03:44:40 -06:00
6e4f09366e
Ditch amxxpc64. AMXX files will now only contain 32-bit code.
2013-02-08 00:35:59 -08:00
9d65198786
Upgraded MSVC project files for VS 2010 and modified build tool to use them.
2011-06-29 00:50:14 -05:00
b706108ed6
Squashed commit of the following:
...
commit 011d9b6b07d904ad1e81ef7c747269903e2d47c4
Author: David Anderson <dvander@alliedmods.net >
Date: Mon Jan 11 00:17:08 2010 -0600
Initial import from Subversion (amxmodx/trunk rev 3757).
2014-02-06 23:06:54 -08:00