Commit Graph

301 Commits

Author SHA1 Message Date
florian
85d63d9fa9 * settings refactored
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f * remove ttype
* rename old ttype variables *type to *def
  * rename resulttypepass to pass_typecheck
  * rename pass_2 to pass_generate_code

git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
Jonas Maebe
36c6879581 + -Sx command line switch to turn on exception keywords in non-Delphi/ObjFPC
modes (mainly for MacPas, to replace nested gotos with exceptions)

git-svn-id: trunk@4984 -
2006-10-20 12:54:47 +00:00
micha
5f353d6fef add warning for arithmetic on untyped pointers
git-svn-id: trunk@4823 -
2006-10-07 19:34:16 +00:00
micha
bd6afce618 enable typed addresses {$T+} in fpc and objfpc mode
git-svn-id: trunk@4795 -
2006-10-04 20:46:08 +00:00
peter
d0156354a6 * inline directive enabled by default for fpc,objfpc,delphi modes
* -Si and $inline directive control are now local switches and 
    have finer control on whether a function will really inlined or not

git-svn-id: trunk@4553 -
2006-09-04 19:54:21 +00:00
Jonas Maebe
eccbc78e04 + support for bitpacked arrays:
+ use {$bitpacking on/+} to change the meaning of "packed"
      into "bitpacked" for arrays. This is the default for MacPas.
      You can also define individual arrays as "bitpacked", but
      this is not encouraged since this keyword is not known by
      other compilers and therefore makes your code unportable.
    + pack(unpackedarray,index,packedarray) to pack
      length(packedarray) elements starting at
      unpackedarray[index] into packedarray.
    + unpack(packedarray,unpackedarray,index) to unpack
      packedarray into unpackedarray, with the first
      element being stored at unpackedarray[index]
  * todo:
    * "open packed arrays" and rtti for packed arrays are not
      yet supported
    * gdb does not properly support bitpacked arrays

git-svn-id: trunk@4449 -
2006-08-19 12:54:12 +00:00
Jonas Maebe
ed910b5d31 * support goto/label by default in tp/delphi/macpas modes (bug 4893)
git-svn-id: trunk@2958 -
2006-03-18 22:25:41 +00:00
peter
b1c66a106e * more dup id fixes
git-svn-id: trunk@2465 -
2006-02-07 07:58:37 +00:00
peter
a59690b147 * make generic basics working again
git-svn-id: trunk@2458 -
2006-02-06 09:21:08 +00:00
peter
232555904e * symtablestack cleanup and rewrite
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
olle
7b811ac58e Added short circuit evaluation of compile time expressions
git-svn-id: trunk@2331 -
2006-01-23 21:34:24 +00:00
peter
a5f659b982 * support FPCDATE include
git-svn-id: trunk@2263 -
2006-01-12 06:59:43 +00:00
peter
95879fe8a7 * basic support for generic classes
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
Jonas Maebe
ef2a0c7ddf * changed default packenum for MacPas from 1 to 2 (compatible with Metrowerks)
git-svn-id: trunk@1971 -
2005-12-16 12:22:39 +00:00
florian
d6628f1d8b * resolve postponed local switch changes before switching mode
git-svn-id: trunk@1880 -
2005-12-04 19:36:57 +00:00
peter
539b7dc220 * setting the compile mode should set the preprocessor symbol directly
git-svn-id: trunk@1457 -
2005-10-18 06:57:39 +00:00
olle
e40c2fd8b0 + compile time expression type checking
* fixed bug in $DEFINE under macpas

git-svn-id: trunk@919 -
2005-08-22 19:09:41 +00:00
marco
a234180e3a * patch for 4095
git-svn-id: trunk@895 -
2005-08-16 12:13:28 +00:00
peter
3051c91530 * fix max macro length check
git-svn-id: trunk@650 -
2005-07-18 13:15:26 +00:00
olle
b53bd80bf4 * Fixed bug introduced in r581. Did also some refactoring.
git-svn-id: trunk@603 -
2005-07-09 20:21:36 +00:00
peter
4222e24422 * fix preprocessor support for empty set constants
git-svn-id: trunk@584 -
2005-07-05 06:11:20 +00:00
olle
4f54b92312 * fix so that outdeffed directives are not parsed (only nestlevels is accounted for)
git-svn-id: trunk@581 -
2005-07-04 18:40:48 +00:00
florian
cefa8ce9b9 * utf-8 fix from Rimgaudas Laucius
git-svn-id: trunk@556 -
2005-07-02 12:03:47 +00:00
peter
408bba521a * support constset in $if
git-svn-id: trunk@538 -
2005-06-30 08:19:01 +00:00
peter
8e29f17019 * keyword check patch from Gerhard Scholz
git-svn-id: trunk@530 -
2005-06-29 15:09:28 +00:00
florian
ec6d5ff211 + utf-8 support for string constants added
git-svn-id: trunk@428 -
2005-06-16 20:16:37 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
83ac6eeaad * 32 -> 64 bit cross compilation fixed 2005-05-06 17:02:52 +00:00
michael
03e265c4b2 + Patch from Christian Iversen to fix defined() macro command 2005-05-02 18:44:00 +00:00
olle
afdcfb08ce * Disabled warning for undefined compile time var in mode macpas, since it did not work. 2005-03-28 21:34:36 +00:00
olle
878c56bad6 * Cleaned up handling of source file extension.
+ Added support for .p extension for macos and darwin
2005-03-20 22:36:45 +00:00
olle
7cb6368f12 * Support for pascal constant expr in compile time expr, is now only allowed in mode Delphi
+ Warning for undefined compile time var in mode macpas
  * Support for some turbo directives in mode macpas
  * Support for Metrowerks style DEFINED xxx
2005-03-20 18:13:34 +00:00
peter
fe9bf2081d Support constants and IN operator in preprocessor patch by Christian Iversen 2005-02-27 17:15:01 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
79c20ebf7d * use val() for decoding integers 2005-01-20 17:05:53 +00:00
olle
7572f3a539 * rework of macro subsystem
+ exportable macros for mode macpas
2005-01-09 20:24:43 +00:00
peter
b537382710 * give error when reading identifier > 255 chars 2005-01-04 16:34:03 +00:00
peter
6458bd0ce1 * tvarsym splitted 2004-11-08 22:09:58 +00:00
peter
c95a859f0a * generic tlocation
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
peter
bc59556a41 * $fpctarget expands to <cpu>-<os>
* allow * in middle of the path to support ../*/units/$fpctarget
2004-10-31 18:54:24 +00:00
peter
e7459f5466 * heap and heapsize removed
* checkpointer fixes
2004-10-25 15:38:41 +00:00
mazen
581b52422c - remove $IFDEF DELPHI and related code
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
olle
45e4998167 * Exchanged hardcoded "./" to CurDirRelPath 2004-10-09 11:29:15 +00:00
mazen
83cb4fe087 * revert last change : removal of dos unit 2004-09-29 06:52:43 +00:00
mazen
880427b9aa - remove Dos unit dependency 2004-09-28 16:00:52 +00:00
olle
bb684d007d * Minor bugfix in $IFOPT 2004-09-12 20:46:58 +00:00
olle
df2d2a847c + added flag to TMacro denoting mac style compiler variable
* fixed $DEFINEC
  * improved robustness of macro facility
2004-08-22 23:16:06 +00:00
olle
6ad2b42765 + added DEFINEC for mode macpas, is equivalent to DEFINE
* fixed bug when macro without value is used in a compile time expr.
2004-08-22 10:50:19 +00:00
florian
a47844c817 * sizeof in the preprocessor handles types now as well 2004-08-02 20:45:40 +00:00
michael
f897872df2 + Patch from Christian Iversen to implement LIBPREFIX/SUFFIX/EXTENSION directives 2004-08-02 07:15:54 +00:00
olle
17cab34c49 + Added compile time function OPTION(x) for MacPas
* Saved file as text and not binary (I hope)
2004-07-23 00:25:05 +00:00
olle
5843170183 + Added compile time function OPTION(x) for MacPas 2004-07-22 11:58:51 +00:00
olle
98df0978e1 + adding operators "|" and "&" for macpas 2004-07-05 23:25:34 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
peter
fed62c2f70 * Patch from Christian Iversen to support sizeof() in preprocessor 2004-05-23 20:55:38 +00:00
peter
06448271ff * $message directive compatible with delphi 2004-05-19 23:29:56 +00:00
peter
fa1a8cbf17 * report about illegal chars in preproctoken instead of end of
expression
  * support realnumbers in preproctoken parser
2004-05-16 13:55:26 +00:00
olle
758c940518 + added language constructs UNIV, C, ... for mode mac
* consolidated macro expression to conform to Pascal
  * macro true is defined as <> 0
2004-05-03 10:06:38 +00:00
peter
4b3db6acb4 * $elseif support
* conditiotnal in // returns warning isntead of error
2004-03-04 17:23:10 +00:00
peter
1dd1cfe20a * more fixes for skipuntildirective 2004-02-29 13:28:57 +00:00
michael
3399057a27 + Patch from peter to fix webtb[fs]/tw2853*.pp 2004-02-27 11:50:13 +00:00
peter
25213e4efb * resursive macro's fixed in preprocessor 2004-02-26 16:15:45 +00:00
olle
51c1526296 + mode mac: preproc support for hexadecimal numbers
+ mode mac: preproc support for TRUE, FALSE
2004-02-25 00:54:47 +00:00
olle
ff2c436b78 + mode mac: added UNDEFINED construct
+ mode mac: added support for include $I
  * renamed one of the readpreproc to preproc_substitutedtoken to avoid confusement
2004-02-23 23:38:25 +00:00
daniel
d47da881ed * Better fix for case sensitive macro handling 2004-02-11 14:46:59 +00:00
daniel
ed76d1e17d * Compiler was partially case sensitive in macro expansion
* Multiple and/or preprocessor statements caused problems
2004-02-11 14:13:10 +00:00
daniel
46d241a666 * Take advantage of our new with statement optimization 2004-02-07 23:28:34 +00:00
peter
2ebd9f20b5 * do nothing for macro's in tempcloseinput,tempopeninput 2003-11-12 16:57:59 +00:00
peter
0df248389d + $IF DECLARED() added 2003-11-10 19:08:59 +00:00
peter
517c5de6aa * line numbering is now only done when #10, #10#13 is really parsed
instead of when it is the next character
2003-11-10 19:08:32 +00:00
peter
526cffbaad * set ms_compiled after the program/unit is parsed
* check for ms_compiled before checking preproc matches
2003-10-29 21:02:51 +00:00
olle
6f78eac09f + support for a different set of compiler directives under $MODE MAC
+ added mac directives $SETC $IFC $ELSEC $ENDC
2003-09-17 22:30:19 +00:00
florian
220e05dd5e * fixed arm concatcopy
+ arm support in the common compiler sources added
  * moved some generic cg code around
  + tfputype added
  * ...
2003-09-03 11:18:36 +00:00
peter
6731abb0db * fixed some reported bugs 2003-08-10 17:25:23 +00:00
peter
1b72901b14 * recursive include depth check 2003-05-25 10:26:43 +00:00
peter
2b888374ce * don't close inputfile when still closed 2003-04-26 00:30:27 +00:00
peter
2721d341f0 * merged some verbosity options.
* V_LineInfo is a verbosity flag to include line info
2003-01-09 21:52:37 +00:00
peter
bbf8bddbb4 * unit loading changed to first register units and load them
afterwards. This is needed to support uses xxx in yyy correctly
  * unit dependency check fixed
2002-12-29 14:57:50 +00:00
peter
1ae6696e1b * use gettoken to get filename for include 2002-12-27 18:05:58 +00:00
peter
7e58010fa1 * fix delphi comment parsing when skipping preproc directive 2002-12-27 16:45:50 +00:00
peter
0d2c1bfd3c * give an error when no symbol is specified after $if(n)def 2002-12-27 15:26:43 +00:00
peter
9394913716 * support quotes around include filenames 2002-12-24 23:32:02 +00:00
carl
e992fd20ab * remove a stupid thing that i commited 2002-12-05 19:27:00 +00:00
carl
5c5db0e0a3 + unimplemented hint directive added
* hint directive parsing implemented
  * warning on these directives
2002-11-29 22:31:19 +00:00
peter
6c097b4546 * fix macro nesting check 2002-11-26 22:56:40 +00:00
peter
a431bf27a0 * parse ^ after nil as caret 2002-09-16 19:05:48 +00:00
carl
a013d19c36 * bugfix of bug report 2072 (merged) 2002-09-06 14:58:42 +00:00
peter
37bb42694b * fixed crash when current_module becomes nil 2002-09-05 19:27:05 +00:00
pierre
0aceb4b76b * fix for bug #2004 merged 2002-09-05 14:17:27 +00:00
peter
724ece4715 * tscannerfile is now destroyed in tmodule.reset and current_scanner
is updated accordingly. This removes all the loading and saving of
    the old scanner and the invalid flag marking
2002-08-12 16:46:04 +00:00
peter
fb64d51f69 * TScannerFile.SetInvalid added that will also reset inputfile 2002-08-11 14:28:19 +00:00
carl
18b102ce95 + moved target_cpu_string to cpuinfo
* renamed asmmode enum.
  * assembler reader has now less ifdef's
  * move from nppcmem.pas -> ncgmem.pas vec. node.
2002-08-10 14:46:29 +00:00
florian
2b3a8dccf8 + support for octal constants, they are specified by a leading & 2002-08-06 21:12:16 +00:00
florian
64b27c2ca1 + char constants specified with #.. with more than 3 digits are handled as widechar 2002-07-20 17:35:52 +00:00
peter
06ebac4e27 * readded missing revisions 2002-05-18 13:34:04 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c * removed old logs and updated copyright year 2002-05-14 19:34:38 +00:00
peter
5ea6f2b824 * fixed memleaks when file can't be opened 2002-04-21 18:57:23 +00:00