Commit Graph

86 Commits

Author SHA1 Message Date
Arkshine
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
Arkshine
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
Arkshine
92255bcdc3 Compiler: Fix crash when using tagof(tagname:)
Imported from SA-MP: 53ef10ffc7
2014-08-26 09:04:52 +02:00
Arkshine
b2442a2268 Compiler: Ignore #pragma tabsize with non-positive argument.
Imported from SA-MP: 7f30a03f94.
2014-08-26 09:04:50 +02:00
Arkshine
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
Arkshine
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
Arkshine
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
Arkshine
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
Arkshine
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
Arkshine
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
Arkshine
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
Arkshine
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
Arkshine
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
Arkshine
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
Arkshine
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
Vincent Herbet
ccf919c58c Fix typo in previous commit (r=dvander) 2014-08-21 20:57:08 +02:00
David Anderson
567fbcd517 Fix build. 2014-08-19 21:38:44 -07:00
David Anderson
6bbc4c8dbd Fix returning strings from variadic functions. 2014-08-17 10:00:51 -07:00
Asher Baker
3a43a41141 Added back estimated stack usage. 2014-08-15 23:46:16 +01:00
Asher Baker
f886e69dfb Fixed linux build. 2014-08-15 23:23:11 +01:00
Asher Baker
46123d359f Add support for Emscripten to the compiler. 2014-08-15 16:32:00 +00:00
Scott Ehlert
1cff91ced5 Update license headers for compiler. 2014-08-04 13:18:28 -05:00
xPaw
d7a74ebb94 🔥 Remove amxmod compat hack from the compiler 2014-07-19 18:12:15 +03:00
Arkshine
9815050287 Increase var/func and input line maximum length (bug 5924, r=dvander) 2014-03-24 01:04:17 +01:00
David Anderson
779e064a17 Add .rc files.
Former-commit-id: 3d9c34eff6
2014-02-08 20:53:01 -08:00
David Anderson
bd586d37e6 Add OS X support to AMBuild and 10.9 support to amxxpc.
Former-commit-id: 91779cb941
2014-02-08 15:25:57 -08:00
David Anderson
ad36859607 Port plugin building to AMBuild.
Former-commit-id: 9ac73de5b2
2014-02-08 12:42:00 -08:00
David Anderson
c4e90ce865 Initial import of AMBuild infrastructure for C++ projects.
Former-commit-id: 53baa4f8c2
2014-02-08 01:14:15 -08:00
Vincent Herbet
da30315556 Fix Wno-delete-non-virtual-dtor flag to be passed only for .cpp files.
Former-commit-id: 4f8b31483d
2013-08-10 19:29:28 +02:00
Scott Ehlert
40c1fee55a Added support for Mac OS X and building with clang (bug 5601, r=dvander). 2013-02-13 01:14:37 -06:00
Scott Ehlert
5a6c4ea408 Removed amxxpc64 and rebuilt amxxpc binaries. 2013-02-08 03:44:40 -06:00
David Anderson
6e4f09366e Ditch amxxpc64. AMXX files will now only contain 32-bit code. 2013-02-08 00:35:59 -08:00
Scott Ehlert
9d65198786 Upgraded MSVC project files for VS 2010 and modified build tool to use them. 2011-06-29 00:50:14 -05:00
David Anderson
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
David Anderson
f201592ddb Fixed regression. I'm not making new builds though. 2008-08-16 23:32:58 +00:00
Scott Ehlert
c07d8f3d93 Final VS 2005 + Linux tomfoolery 2008-08-16 20:13:12 +00:00
Scott Ehlert
0dc6a4a5dd Whoa, amb1941: All of AMX Mod X is now officially moved over to Visual Studio 2005 (MSVC 8)
Also did the following:
* Removed -fPIC from all Linux makefiles
* AMXX build tool now also moved over to VS 2005
* AMXX build tool binary renamed from "AMXXRelease" to "builder"
* MSVC project files now can use environment variables to point to the paths of the Metamod headers and HL SDK: $(METAMOD) and $(HLSDK) respectively
2008-08-16 09:48:39 +00:00
Steve Dudenhoeffer
1129f09660 Added the any tag fix for functions returning any: 2007-05-22 01:29:18 +00:00
Steve Dudenhoeffer
ea912f794c Stole the magical any: tag from sourcemod 2007-04-24 13:36:36 +00:00
Steve Dudenhoeffer
39d6cb7840 Fixed #error ignoring #if blocks 2007-02-16 18:49:21 +00:00
David Anderson
4f8917ec44 experimental hack fix for code generation bug 2006-09-12 07:42:15 +00:00
David Anderson
65eb0279b2 merged in compiler change for amxmod_compat 2006-09-10 06:33:55 +00:00
David Anderson
a7fcf76244 fixed up for gcc-4.1 2006-08-25 00:28:36 +00:00
David Anderson
87ac42cd98 fixed makefile for changes 2006-07-16 07:24:35 +00:00
Borja Ferrer
f64d2366e9 added 2 memfile files 2006-07-16 02:27:51 +00:00
Borja Ferrer
fb2e0c5f6c compiler is fast now 2006-07-16 02:25:32 +00:00
David Anderson
dd7529b42c Fixed a bug where three of the new pragmas parsed spaces wrong 2006-05-10 04:51:07 +00:00
David Anderson
58209dfb37 Added fix for __DATE__, added __TIME__
Added tag table crap for new autoloading feature
Version bump
2006-05-10 03:44:35 +00:00
David Anderson
f853f8f8cd added amxx to vers string 2006-02-28 05:14:36 +00:00
David Anderson
b2437451e3 implemented __DATE__ 2006-02-28 05:14:20 +00:00