Commit Graph

197 Commits

Author SHA1 Message Date
Arkshine
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
Arkshine
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
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
63774d75f3 Remove "Done." text from compiler. 2014-08-16 18:03:34 +01:00
Arkshine
ab81658471 Update VS projects in #117. 2014-08-16 14:19:09 +02:00
Asher Baker
62f6b25b63 Remove pre-compiled zlib from the tree. 2014-08-16 00:33:33 +01: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
Arkshine
eeb4ecd109 Update project files. 2014-08-08 11:27:40 +02:00
Scott Ehlert
1cff91ced5 Update license headers for compiler. 2014-08-04 13:18:28 -05:00
David Anderson
6bf21c5687 Tweak build scripts so the vs build frontend will work. 2014-08-02 12:29:53 -07:00
Vincent Herbet
d2595b8b92 Merge pull request #31 from xPaw/burn-baby-burn
Remove compatibility stuff from the core
2014-07-27 12:07:58 +02:00
xPaw
ef1e1edea5 Update copyright year 2014-07-27 11:22:40 +03:00
xPaw
d7a74ebb94 🔥 Remove amxmod compat hack from the compiler 2014-07-19 18:12:15 +03:00
Scott Ehlert
2d4e3a6d25 Link amxxpc with static libstdc++ on Linux. 2014-04-20 14:52:50 -05: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
4125796569 Remove the debug clamp. 2014-02-09 10:37:02 -08:00
David Anderson
779e064a17 Add .rc files.
Former-commit-id: 3d9c34eff6
2014-02-08 20:53:01 -08:00
David Anderson
1f15fdd6cb Update versioning for AMBuild and git.
Former-commit-id: ea473061ef
2014-02-08 20:37:33 -08:00
David Anderson
922b4802f1 Port AMBuild scripts to Windows.
Former-commit-id: 9af9b5f205
2014-02-08 16:09:29 -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
90b2860fd2 Get parity with makefile flags.
Former-commit-id: d1ee3b0780
2014-02-08 14:49:03 -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
37f7975416 Rebuilt compiler binaries and built new binaries for OS X. 2013-02-13 01:16:41 -06: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
7d9376a64b Remove SCASM, which was pointless and buggy bloat. 2013-02-08 00:38:35 -08: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
b4767cb99e fixed amxxpc builds 2006-08-27 02:34:03 +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
Borja Ferrer
65513c6037 bumped version 2006-07-16 02:22:38 +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
67d4c5ccad bumped version 2006-05-09 22:47:16 +00:00
David Anderson
2653f88b73 bumped vers on this early 2006-02-28 05:15:29 +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
David Anderson
9946a6892c wtfversion 2006-02-07 13:03:06 +00:00
David Anderson
636f1141e4 removed test code 2006-01-07 06:16:52 +00:00
David Anderson
3b79a063b6 finally, a correct fix 2006-01-07 05:39:40 +00:00
David Anderson
07b9bb9987 okay, works 2006-01-07 04:47:49 +00:00
David Anderson
39fd00c5be real fix this time 2006-01-07 04:43:01 +00:00
David Anderson
a4db0d927a Fixed bug at22981 2006-01-07 02:20:54 +00:00
David Anderson
9e4b1661e3 Fixed bug at21914 (faluco) 2005-11-20 19:10:13 +00:00
David Anderson
a5bd8463e8 Fixed bug at21691 (Podunk) 2005-11-19 21:38:50 +00:00
David Anderson
83ea8b82b9 Fixed issue at19616 2005-11-19 09:26:30 +00:00
David Anderson
4d9f2ded74 Fix for issue at19199 2005-11-19 09:16:27 +00:00
David Anderson
6163e25d7d *** empty log message *** 2005-11-19 09:07:28 +00:00
David Anderson
dcf39196d5 Ugly hack to get around ELF garbage 2005-09-18 01:14:44 +00:00
David Anderson
58dd553d00 Loads from non-cwd now 2005-09-18 01:14:23 +00:00
Borja Ferrer
24260137ec hope to have fixed the spacings finally 2005-09-14 01:40:48 +00:00
David Anderson
315e69797d more fixes 2005-09-14 00:42:56 +00:00
David Anderson
dddc693369 Fixed spacing 2005-09-14 00:38:48 +00:00
David Anderson
f02c73f94c Correct spacing! 2005-09-13 07:37:50 +00:00
David Anderson
92f79ffe88 left debug stuff in 2005-09-13 07:36:01 +00:00
David Anderson
db33e50f92 Fixed a bug where stocks using native names crashed 2005-09-13 07:32:07 +00:00
David Anderson
e566413224 Fixed MORE lines 2005-09-10 05:23:30 +00:00
David Anderson
368856f122 Fixed lines 2005-09-10 05:22:06 +00:00
David Anderson
52cc204787 Fixed numerous bugs in preprocessor (string literals being parsed, mismatched args being wiped) 2005-09-10 05:04:23 +00:00
David Anderson
80dd7f034d version bump 2005-09-06 22:28:47 +00:00
David Anderson
67f012b74a Fixed bug where static declarations would crash 2005-09-06 21:34:33 +00:00
David Anderson
5705e69abb Fixed bug where level>1 arrays were walked incorrectly 2005-09-06 20:36:02 +00:00
David Anderson
824caab2c5 Fixed bug p1123143748 (Twilight Suzuka) 2005-09-06 03:00:01 +00:00
David Anderson
a105bc7402 Fixed bug at18003 (Geesu)
Fixed bug p1123149221 (Twilight Suzuka)
2005-09-06 01:55:41 +00:00
David Anderson
58fec512e5 Now requires GCC-3 to compile, fixes retarded linking problem 2005-08-18 07:01:47 +00:00
David Anderson
96c9fc8bc8 Changes for linux compatibility 2005-08-02 19:05:51 +00:00
David Anderson
a819a494b8 ugh, amd64-32 compat 2005-08-02 18:37:59 +00:00