Commit Graph
136 Commits
Author SHA1 Message Date
Arkshine c0b9b91a06 Remove MakeFile 2015-07-14 00:13:24 +02:00
Vincent Herbet 3792e7dc20 Merge pull request #248 from Arkshine/fix/update-compiler3
Update compiler - 3
2015-06-01 21:45:04 +02:00
Shooting King 4a58365b2c Correcting SolutionFileFormat version as well 2015-05-19 18:31:19 +05:30
Arkshine 41dfdc7f59 Compiler: Prevent declaring arrays that the compiler is too buggy to handle
AM Bug 7977: https://bugs.alliedmods.net/show_bug.cgi?id=4977
2015-05-19 00:01:29 +02:00
Arkshine f710188c86 Compiler: Ability to directly reference another address in a default argument (for arrays only)
SM patch: https://github.com/alliedmodders/sourcemod/commit/d8d13f19204fc682a090e549ca1a286d4f9f8524
2015-05-19 00:01:29 +02:00
Shooting King ad23638913 Correcting years in MSVS project solutions. 2015-05-18 21:54:06 +05:30
Ni3znajomy 92c2c84617 Update copyright year 2015-03-29 20:01:25 +02:00
Arkshine 52c73126e1 VFS: Fix various things
- The "ALL" fake pathID is replaced by what does SM, having a public var NULL_STRING which will acts as NULL when needed.
  To make compiler accepting public array, this patch was needed: https://hg.alliedmods.net/sourcemod-central/rev/b12f329def09
- The offset thing in read_dir: considering that's something very specific to this native and that implementation in CDirectory doesn't make sense because of the offset compatibility for windows, all code is now in the native.
2015-03-25 13:50:07 +01:00
Arkshine d397619939 Fix compiler output 2015-03-21 15:29:55 +01:00
xPaw 8b06e5bdcd Remove strexpand 2015-03-10 20:37:57 +02:00
xPaw a134a75572 Remove scpack 2015-03-10 20:03:57 +02:00
Arkshine acf910b64b Fix and clean up VS projects files
+ removed unused variable :P
2015-03-10 16:20:21 +01:00
Arkshine b0543a111d Fix tagof operator used as a default value for function arguments 2015-01-30 23:34:04 +01:00
Vincent Herbet 5ca0e5617d Merge pull request #173 from Arkshine/feature/compiler-concatenation
Add string literal concatenation and stringizing operator
2015-01-22 20:00:32 +01:00
Arkshine 97369c5d6c Upgrade VS projetcs to use v120_xp toolset and fix missing include paths 2015-01-14 10:25:46 +01:00
Arkshine a0cfa59e56 Compiler: Fix tautological warning with clang-3.5 2015-01-11 23:09:53 +01:00
Vincent Herbet 7f71cfaee7 Merge pull request #165 from Arkshine/feature/add-version-lib-and-missing-rc
Update versioning system and add missing module RC file (bug 6222)
2015-01-07 18:59:51 +01:00
Arkshine 2ffd4cb9fa Fix with parsing literal strings ending with character '\\'
From Pawn rev32: https://code.google.com/p/pawnscript/source/detail?r=32
E.g.: #define EGG "Gaben^^" (control character + something)

This fixes also compilation under linux.
2015-01-07 00:35:20 +01:00
Arkshine de2796508f Add string literal concatenation and stringizing operator 2015-01-06 23:39:46 +01:00
Vincent Herbet 1df58d6231 Merge pull request #164 from Arkshine/fix/regression-member-tag-of-enum
FIx regression with member tag of enum not being checked on assigment
2014-12-13 11:23:10 +01:00
Arkshine c068eed19d Simplify code. 2014-12-13 11:15:06 +01:00
Arkshine ab4294f3ca Fix linux compilation 2014-12-10 15:41:52 +01:00
Arkshine 4b11a54345 Make sure overriden tag is done with _: 2014-12-09 22:59:57 +01:00
Arkshine 78940b46a4 Untabify code 2014-12-09 22:29:43 +01:00
Arkshine 45bf43d76e FIx regression with member tag of an enum not being checked on assigment 2014-12-09 22:26:59 +01:00
Arkshine 5e622aa69f Remove static on 'disable' variable 2014-12-08 23:55:30 +01:00
Arkshine a50f104fd3 Fix trailing commas in array literals changing the result of sizeof() 2014-12-08 20:45:33 +01:00
Arkshine 1a97b2cbe1 Improve more sizeof return on array without specifiying the dimension 2014-11-11 12:34:16 +01:00
Arkshine 3b3e78d65b Compiler: Remove commented code in previous commit 2014-09-29 20:36:14 +02:00
Arkshine e7c7313f77 Compiler: Add a flag for warnings-as-errors 2014-09-29 15:54:39 +02:00
Arkshine ae2699ca98 Compiler: Disable estimated memory usage 2014-09-29 15:12:56 +02:00
Arkshine de85f2735e Fix compiler crash due to missing recursion message warning. 2014-08-31 14:52:24 +02:00
Arkshine f30c7a63b1 Compiler: Fix linux compilation and close file handle on success in pc_opensrc. 2014-08-26 09:06:02 +02:00
Arkshine e46785a434 Compiler: Improve/fix recursion detection.
Imported from Pawn 3.2.3664 and 3.3.3875.
2014-08-26 09:05:23 +02:00
Arkshine 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
Arkshine 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
Arkshine 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
Arkshine c2ca5d857d Compiler: Change __line to __LINE__. 2014-08-26 09:05:17 +02:00
Arkshine 27825963f6 Compiler: Fix indentation. 2014-08-26 09:05:15 +02:00
Arkshine ca7b0ceadd Compiler: Revert "Add #warning directive."
Probably not that useful.
2014-08-26 09:05:13 +02:00
Arkshine 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
Arkshine 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
Arkshine 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
Arkshine e1445316aa Compiler: Fix moar. 2014-08-26 09:05:07 +02:00
Arkshine 238e3707c8 Compiler: Fix linux compilation. 2014-08-26 09:05:05 +02:00
Arkshine 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
Arkshine 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
Arkshine 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
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: 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."
2014-08-26 09:04:56 +02:00