Compiler: Increase input line length.

1023 can be achieved really fastly, e.g. with some SQL definitions.
This is the same value as SM.
Compiler: Generate .scp files as part of the build process.

Stolen from SM (https://github.com/alliedmodders/sourcemod/pull/112).
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.
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)
Compiler: Fix issue with multidimensional array variable release.

Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=6100.
Compiler: Fix memory corruption when parsing natives.

Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=5840
Compiler: Fix improper handling of constant chained relational operators.

Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=3838.
Compiler: Fix bogus assert about name lengths.

Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=4486.
Compiler: Fix asserting when returning a string literal.

Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=3836.
Compiler: Fix return omission with else-after-return.

Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=4852.
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.
Compiler: Ignore #pragma tabsize with non-positive argument.

Imported from SA-MP: https://github.com/Zeex/pawn/commit/7f30a03f9411d2169ee9e413ceb8f5b9c07dc120.
Compiler: Fix crash when using tagof(tagname:)

Imported from SA-MP: https://github.com/Zeex/pawn/commit/53ef10ffc787545672af4118355ba340dd6b5e7c
Compiler: Add #warning directive.

Basically same as error but as warning.
Imported from SA-MP: https://github.com/Zeex/pawn/commit/1bd6be93e06ff0e56d264e633b23c7d899b034e0

Example:

  #warning don't eat egg.

Result:

  warning.sma(1) : warning 234: user warning: don't eat egg.
Compiler: Add __line

Imported from SA-MP: https://github.com/Zeex/pawn/commit/605ae7f4d3530640f50c2d5d59668deb0db15079
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.
Compiler: Fix runtime error in variadic functions that return strings.

Imported from SM-AM: https://github.com/Zeex/pawn/commit/1d1244c2f04845051ef94f5455b18703b59e113f.

"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."
Compiler: Fix the "@" character was not allowed in macro definitions (while the documentation stated that they were).

Imported from Pawn 3.1.3599.
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"."
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).
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