sourcemod/sourcepawn/compiler
Peace-Maker cf617a4d20 Add string literal concatenation using ellipses "..." (bug 4261)
Backported the changes CompuPhase did to the compiler to support string
literal concatenation including all fixes in later commits from r30 on.
http://code.google.com/p/pawnscript/source/detail?r=30

Pawn uses ellipses "..." to concatenate so it looks like this:

#define PROJECT_AUTHOR "Greyscale"
#define PROJECT_COPYRIGHT "Copyright (C) 2010  " ... PROJECT_AUTHOR

This would result in PROJECT_COPYRIGHT being defined as
"Copyright (C) 2010  Greyscale"

While i've been at it, that stringizing a macro parameter feature was
ported too.
From the changelog for version 3.3.4026
(http://www.compuphase.com/pawn/pawnhistory.htm):

The macro substition processor now recognizes the "#" character for
"stringizing" a parameter. For example, if you have the definition
#define log(%1) #%1
Then the expression log(test) will result in "test".
Note that concatenation of literal strings requires an ellipsis in pawn
(which is different than C/C++). So to combine the parameter with
literal strings, use a syntax like:
#define log(%1) "logging: " ... #%1 ... "\n"
The stringize operator is only available in the replacement text of a
macro.

Doing
PrintToServer(log(hello));
would print
logging: hello\n
2014-05-27 13:32:59 +02:00
..
msvc8 Added missing files to the spcomp project file (bug 4824, r=dvander). 2011-03-07 15:05:51 +07:00
msvc9 Added missing files to the spcomp project file (bug 4824, r=dvander). 2011-03-07 15:05:51 +07:00
zlib Imported support for new build system. 2009-08-30 00:21:42 -07:00
AMBuilder Use == instead of is operator for checking string equality in AMBuild scripts (bug 6043, r=dvander). 2014-02-09 22:50:20 -06:00
amx.h Increase symbol name limit to 63 characters (bug 4564, r=dvander). 2011-07-04 15:26:08 -07:00
amxdbg.h Support HUGE files in spcomp (bug 5959, r=dvander) 2013-10-15 23:36:16 +01:00
binreloc.c Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
binreloc.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
getch.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
libpawnc.c Add string literal concatenation using ellipses "..." (bug 4261) 2014-05-27 13:32:59 +02:00
lstring.c Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
lstring.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
Makefile Bring compiler Makefile more in line with ambuild (NPOTB) 2011-11-10 20:26:21 +00:00
memfile.c Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
memfile.h SourceMod can now be somewhat compiled on OS X for patch sanity testing (bug 3516, r=ds). 2008-12-23 01:33:37 -05:00
osdefs.h SourceMod can now be somewhat compiled on OS X for patch sanity testing (bug 3516, r=ds). 2008-12-23 01:33:37 -05:00
pawn.ico Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
pawncc.c Fixed unaligned memory access in spcomp (r=dvander). 2013-05-02 20:47:35 +00:00
sc1.c Add string literal concatenation using ellipses "..." (bug 4261) 2014-05-27 13:32:59 +02:00
sc2.c Add string literal concatenation using ellipses "..." (bug 4261) 2014-05-27 13:32:59 +02:00
sc3.c Remove 'state' keyword from compiler (bug 4572, r=dvander). 2013-12-28 08:42:50 -05:00
sc4.c Removed -Wno-parentheses from posix build and fixed warnings (bug 5745, r=psychonic). 2013-07-18 15:50:57 -04:00
sc5.c Removed -Wno-parentheses from posix build and fixed warnings (bug 5745, r=psychonic). 2013-07-18 15:50:57 -04:00
sc5.scp Prevent declaring arrays that the compiler is too buggy to handle (bug 4977, r=fyren). 2011-07-06 17:56:03 -04:00
sc6.c Removed -Wno-parentheses from posix build and fixed warnings (bug 5745, r=psychonic). 2013-07-18 15:50:57 -04:00
sc7.c Removed -Wno-parentheses from posix build and fixed warnings (bug 5745, r=psychonic). 2013-07-18 15:50:57 -04:00
sc7.scp Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
sc.h Add string literal concatenation using ellipses "..." (bug 4261) 2014-05-27 13:32:59 +02:00
scexpand.c Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
sci18n.c Add string literal concatenation using ellipses "..." (bug 4261) 2014-05-27 13:32:59 +02:00
sclinux.h Support emscripten for compiling spcomp (r=dvander). 2013-04-05 07:03:43 +01:00
sclist.c Removed -Wno-parentheses from posix build and fixed warnings (bug 5745, r=psychonic). 2013-07-18 15:50:57 -04:00
scmemfil.c Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
scpack.c Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
scstate.c Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
sctracker.c SourceMod can now be somewhat compiled on OS X for patch sanity testing (bug 3516, r=ds). 2008-12-23 01:33:37 -05:00
sctracker.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
scvars.c Add an spcomp option to print #included files (bug 5997 part 4, r=ds). 2013-12-30 17:50:58 -05:00
sp_file.c SourceMod can now be somewhat compiled on OS X for patch sanity testing (bug 3516, r=ds). 2008-12-23 01:33:37 -05:00
sp_file.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
sp_symhash.c Fixed Windows build fo' realz. 2010-07-11 18:06:06 -07:00
sp_symhash.h Use hash table for global name lookups (bug 4496, r=fyren). 2010-07-11 17:32:46 -07:00
version.rc Various Windows build fixes (bug 5997 part 13, r=ds). 2013-12-30 17:51:00 -05:00