diff options
Diffstat (limited to 'nim')
-rw-r--r--[-rwxr-xr-x] | nim/ast.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/astalgo.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/backends.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/bitsets.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/ccgexprs.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/ccgstmts.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/ccgtypes.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/ccgutils.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/cgen.pas | 5 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/charsets.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/commands.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/condsyms.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/config.inc | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/copying.txt | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/crc.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/docgen.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/eval.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/extccomp.pas | 19 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/genhelp.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/gpl.html | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/hashes.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/highlite.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/idents.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/importer.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/instgen.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/lexbase.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/lists.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/llvmdyn.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/llvmstat.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/lookup.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/magicsys.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/main.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/msgs.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/nimconf.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/nimrod.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/nimsets.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/nmath.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/nos.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/nsystem.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/ntime.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/nversion.pas | 82 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/options.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/paslex.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/pasparse.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/platform.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/pnimsyn.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/pragmas.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/procfind.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/readme.txt | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/rnimsyn.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/rodgen.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/ropes.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/rst.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/scanner.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/sem.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/semexprs.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/semfold.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/semstmts.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/semtempl.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/semtypes.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/sigmatch.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/strutils.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/syntaxes.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/transf.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/transtmp.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/trees.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/treetab.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/types.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/vis.pas | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | nim/wordrecg.pas | 0 |
70 files changed, 60 insertions, 46 deletions
diff --git a/nim/ast.pas b/nim/ast.pas index 6d5acf425..6d5acf425 100755..100644 --- a/nim/ast.pas +++ b/nim/ast.pas diff --git a/nim/astalgo.pas b/nim/astalgo.pas index 5ab1683b3..5ab1683b3 100755..100644 --- a/nim/astalgo.pas +++ b/nim/astalgo.pas diff --git a/nim/backends.pas b/nim/backends.pas index e1ac616e9..e1ac616e9 100755..100644 --- a/nim/backends.pas +++ b/nim/backends.pas diff --git a/nim/bitsets.pas b/nim/bitsets.pas index 6270fbb6a..6270fbb6a 100755..100644 --- a/nim/bitsets.pas +++ b/nim/bitsets.pas diff --git a/nim/ccgexprs.pas b/nim/ccgexprs.pas index 027f6a816..027f6a816 100755..100644 --- a/nim/ccgexprs.pas +++ b/nim/ccgexprs.pas diff --git a/nim/ccgstmts.pas b/nim/ccgstmts.pas index 38a9e9cdf..38a9e9cdf 100755..100644 --- a/nim/ccgstmts.pas +++ b/nim/ccgstmts.pas diff --git a/nim/ccgtypes.pas b/nim/ccgtypes.pas index f375daaae..f375daaae 100755..100644 --- a/nim/ccgtypes.pas +++ b/nim/ccgtypes.pas diff --git a/nim/ccgutils.pas b/nim/ccgutils.pas index 6817f4518..6817f4518 100755..100644 --- a/nim/ccgutils.pas +++ b/nim/ccgutils.pas diff --git a/nim/cgen.pas b/nim/cgen.pas index cb89cd910..9c0e122f2 100755..100644 --- a/nim/cgen.pas +++ b/nim/cgen.pas @@ -703,9 +703,8 @@ begin if optCFileCache in gGlobalOptions then begin objFile := toObjFile(cfilenoext); if writeRopeIfNotEqual(code, cfile) then exit; - if ExistsFile(objFile) then result := false -// and ropeEqualsFile(code, cfile) -// and FileNewer(objFile, cfile) then + if ExistsFile(objFile) and nos.FileNewer(objFile, cfile) then + result := false end else writeRope(code, cfile); diff --git a/nim/charsets.pas b/nim/charsets.pas index a5f14450f..a5f14450f 100755..100644 --- a/nim/charsets.pas +++ b/nim/charsets.pas diff --git a/nim/commands.pas b/nim/commands.pas index 69edd86e9..69edd86e9 100755..100644 --- a/nim/commands.pas +++ b/nim/commands.pas diff --git a/nim/condsyms.pas b/nim/condsyms.pas index 369ceafad..369ceafad 100755..100644 --- a/nim/condsyms.pas +++ b/nim/condsyms.pas diff --git a/nim/config.inc b/nim/config.inc index f73444a71..f73444a71 100755..100644 --- a/nim/config.inc +++ b/nim/config.inc diff --git a/nim/copying.txt b/nim/copying.txt index 65b743e4a..65b743e4a 100755..100644 --- a/nim/copying.txt +++ b/nim/copying.txt diff --git a/nim/crc.pas b/nim/crc.pas index d669c17ee..d669c17ee 100755..100644 --- a/nim/crc.pas +++ b/nim/crc.pas diff --git a/nim/docgen.pas b/nim/docgen.pas index 9615dad35..9615dad35 100755..100644 --- a/nim/docgen.pas +++ b/nim/docgen.pas diff --git a/nim/eval.pas b/nim/eval.pas index 3f9d60b7a..3f9d60b7a 100755..100644 --- a/nim/eval.pas +++ b/nim/eval.pas diff --git a/nim/extccomp.pas b/nim/extccomp.pas index 6fdec1186..0fc24f8d3 100755..100644 --- a/nim/extccomp.pas +++ b/nim/extccomp.pas @@ -18,8 +18,8 @@ uses nimconf, msgs; // some things are read in from the configuration file type - TSystemCC = (ccNone, ccGcc, ccLcc, ccBcc, ccDmc, ccWcc, ccVcc, ccTcc, ccPcc, - ccUcc, ccIcc, ccGpp); + TSystemCC = (ccNone, ccGcc, ccLLVM_Gcc, ccLcc, ccBcc, ccDmc, ccWcc, ccVcc, + ccTcc, ccPcc, ccUcc, ccIcc, ccGpp); TInfoCCProp = ( // properties of the C compiler: hasSwitchRange, // CC allows ranges in switch statements (GNU C extension) @@ -61,6 +61,21 @@ const props: {@set}[hasSwitchRange, hasComputedGoto, hasCpp]; ), ( + name: 'llvm_gcc'; + objExt: 'o'+''; + optSpeed: ' -O3 -ffast-math '; + optSize: ' -Os -ffast-math '; + compile: 'llvm-gcc -c $options $include -o $objfile $file'; + buildGui: ' -mwindows'; + buildDll: ' -mdll'; + link: 'llvm-gcc $options $buildgui $builddll -o $exefile $objfiles'; + includeCmd: ' -I'; + debug: ''; + pic: '-fPIC'; + asmStmtFrmt: 'asm($1);$n'; + props: {@set}[hasSwitchRange, hasComputedGoto, hasCpp]; + ), + ( name: 'lcc'; objExt: 'obj'; optSpeed: ' -O -p6 '; diff --git a/nim/genhelp.pas b/nim/genhelp.pas index 382a0b8bf..382a0b8bf 100755..100644 --- a/nim/genhelp.pas +++ b/nim/genhelp.pas diff --git a/nim/gpl.html b/nim/gpl.html index 0aec9fff0..0aec9fff0 100755..100644 --- a/nim/gpl.html +++ b/nim/gpl.html diff --git a/nim/hashes.pas b/nim/hashes.pas index 80acc57ca..80acc57ca 100755..100644 --- a/nim/hashes.pas +++ b/nim/hashes.pas diff --git a/nim/highlite.pas b/nim/highlite.pas index ee115b815..ee115b815 100755..100644 --- a/nim/highlite.pas +++ b/nim/highlite.pas diff --git a/nim/idents.pas b/nim/idents.pas index 8779abb2b..8779abb2b 100755..100644 --- a/nim/idents.pas +++ b/nim/idents.pas diff --git a/nim/importer.pas b/nim/importer.pas index 5377434fe..5377434fe 100755..100644 --- a/nim/importer.pas +++ b/nim/importer.pas diff --git a/nim/instgen.pas b/nim/instgen.pas index 2d5abc8b2..2d5abc8b2 100755..100644 --- a/nim/instgen.pas +++ b/nim/instgen.pas diff --git a/nim/lexbase.pas b/nim/lexbase.pas index f02c375ff..f02c375ff 100755..100644 --- a/nim/lexbase.pas +++ b/nim/lexbase.pas diff --git a/nim/lists.pas b/nim/lists.pas index 74b1479d9..74b1479d9 100755..100644 --- a/nim/lists.pas +++ b/nim/lists.pas diff --git a/nim/llvmdyn.pas b/nim/llvmdyn.pas index 34839a1c8..34839a1c8 100755..100644 --- a/nim/llvmdyn.pas +++ b/nim/llvmdyn.pas diff --git a/nim/llvmstat.pas b/nim/llvmstat.pas index e7d06a284..e7d06a284 100755..100644 --- a/nim/llvmstat.pas +++ b/nim/llvmstat.pas diff --git a/nim/lookup.pas b/nim/lookup.pas index 143967f3e..143967f3e 100755..100644 --- a/nim/lookup.pas +++ b/nim/lookup.pas diff --git a/nim/magicsys.pas b/nim/magicsys.pas index 2f314065d..2f314065d 100755..100644 --- a/nim/magicsys.pas +++ b/nim/magicsys.pas diff --git a/nim/main.pas b/nim/main.pas index 8ea82ced3..8ea82ced3 100755..100644 --- a/nim/main.pas +++ b/nim/main.pas diff --git a/nim/msgs.pas b/nim/msgs.pas index 6f4f8225e..6f4f8225e 100755..100644 --- a/nim/msgs.pas +++ b/nim/msgs.pas diff --git a/nim/nimconf.pas b/nim/nimconf.pas index dd29684f6..dd29684f6 100755..100644 --- a/nim/nimconf.pas +++ b/nim/nimconf.pas diff --git a/nim/nimrod.pas b/nim/nimrod.pas index 7f8512984..7f8512984 100755..100644 --- a/nim/nimrod.pas +++ b/nim/nimrod.pas diff --git a/nim/nimsets.pas b/nim/nimsets.pas index 2b8dff20a..2b8dff20a 100755..100644 --- a/nim/nimsets.pas +++ b/nim/nimsets.pas diff --git a/nim/nmath.pas b/nim/nmath.pas index 8b638eb42..8b638eb42 100755..100644 --- a/nim/nmath.pas +++ b/nim/nmath.pas diff --git a/nim/nos.pas b/nim/nos.pas index bafa28d43..bafa28d43 100755..100644 --- a/nim/nos.pas +++ b/nim/nos.pas diff --git a/nim/nsystem.pas b/nim/nsystem.pas index 0b8b897c2..0b8b897c2 100755..100644 --- a/nim/nsystem.pas +++ b/nim/nsystem.pas diff --git a/nim/ntime.pas b/nim/ntime.pas index 9135c26c3..9135c26c3 100755..100644 --- a/nim/ntime.pas +++ b/nim/ntime.pas diff --git a/nim/nversion.pas b/nim/nversion.pas index f59a2e756..6b6ee6169 100755..100644 --- a/nim/nversion.pas +++ b/nim/nversion.pas @@ -1,41 +1,41 @@ -// -// -// The Nimrod Compiler -// (c) Copyright 2008 Andreas Rumpf -// -// See the file "copying.txt", included in this -// distribution, for details about the copyright. -// - -unit nversion; - -// this unit implements the version handling - -interface - -{$include 'config.inc'} - -uses - strutils; - -const - MaxSetElements = 1 shl 16; // (2^16) to support unicode character sets? - defaultAsmMarkerSymbol = '!'; - - //[[[cog - //from koch import NIMROD_VERSION - //cog.outl("VersionAsString = '%s';" % NIMROD_VERSION) - //ver = NIMROD_VERSION.split('.') - //cog.outl('VersionMajor = %s;' % ver[0]) - //cog.outl('VersionMinor = %s;' % ver[1]) - //cog.outl('VersionPatch = %s;' % ver[2]) - //]]] - VersionAsString = '0.2.1'; - VersionMajor = 0; - VersionMinor = 2; - VersionPatch = 1; - //[[[[end]]]] - -implementation - -end. +// +// +// The Nimrod Compiler +// (c) Copyright 2008 Andreas Rumpf +// +// See the file "copying.txt", included in this +// distribution, for details about the copyright. +// + +unit nversion; + +// this unit implements the version handling + +interface + +{$include 'config.inc'} + +uses + strutils; + +const + MaxSetElements = 1 shl 16; // (2^16) to support unicode character sets? + defaultAsmMarkerSymbol = '!'; + + //[[[cog + //from koch import NIMROD_VERSION + //cog.outl("VersionAsString = '%s';" % NIMROD_VERSION) + //ver = NIMROD_VERSION.split('.') + //cog.outl('VersionMajor = %s;' % ver[0]) + //cog.outl('VersionMinor = %s;' % ver[1]) + //cog.outl('VersionPatch = %s;' % ver[2]) + //]]] + VersionAsString = '0.5.1'; + VersionMajor = 0; + VersionMinor = 5; + VersionPatch = 1; + //[[[[end]]]] + +implementation + +end. diff --git a/nim/options.pas b/nim/options.pas index e7ec0a1ce..e7ec0a1ce 100755..100644 --- a/nim/options.pas +++ b/nim/options.pas diff --git a/nim/paslex.pas b/nim/paslex.pas index 5b90a6138..5b90a6138 100755..100644 --- a/nim/paslex.pas +++ b/nim/paslex.pas diff --git a/nim/pasparse.pas b/nim/pasparse.pas index 2d581d81a..2d581d81a 100755..100644 --- a/nim/pasparse.pas +++ b/nim/pasparse.pas diff --git a/nim/platform.pas b/nim/platform.pas index 3bb109943..3bb109943 100755..100644 --- a/nim/platform.pas +++ b/nim/platform.pas diff --git a/nim/pnimsyn.pas b/nim/pnimsyn.pas index 8407804e7..8407804e7 100755..100644 --- a/nim/pnimsyn.pas +++ b/nim/pnimsyn.pas diff --git a/nim/pragmas.pas b/nim/pragmas.pas index f257be390..f257be390 100755..100644 --- a/nim/pragmas.pas +++ b/nim/pragmas.pas diff --git a/nim/procfind.pas b/nim/procfind.pas index f7a78c8b9..f7a78c8b9 100755..100644 --- a/nim/procfind.pas +++ b/nim/procfind.pas diff --git a/nim/readme.txt b/nim/readme.txt index 99d574bac..99d574bac 100755..100644 --- a/nim/readme.txt +++ b/nim/readme.txt diff --git a/nim/rnimsyn.pas b/nim/rnimsyn.pas index b4f97e82c..b4f97e82c 100755..100644 --- a/nim/rnimsyn.pas +++ b/nim/rnimsyn.pas diff --git a/nim/rodgen.pas b/nim/rodgen.pas index a9bb17b49..a9bb17b49 100755..100644 --- a/nim/rodgen.pas +++ b/nim/rodgen.pas diff --git a/nim/ropes.pas b/nim/ropes.pas index 48a38d7b4..48a38d7b4 100755..100644 --- a/nim/ropes.pas +++ b/nim/ropes.pas diff --git a/nim/rst.pas b/nim/rst.pas index d6452ceae..d6452ceae 100755..100644 --- a/nim/rst.pas +++ b/nim/rst.pas diff --git a/nim/scanner.pas b/nim/scanner.pas index 8e5bc3fc5..8e5bc3fc5 100755..100644 --- a/nim/scanner.pas +++ b/nim/scanner.pas diff --git a/nim/sem.pas b/nim/sem.pas index 48a967d35..48a967d35 100755..100644 --- a/nim/sem.pas +++ b/nim/sem.pas diff --git a/nim/semexprs.pas b/nim/semexprs.pas index 66f9b1e3f..66f9b1e3f 100755..100644 --- a/nim/semexprs.pas +++ b/nim/semexprs.pas diff --git a/nim/semfold.pas b/nim/semfold.pas index 2edc2e7a0..2edc2e7a0 100755..100644 --- a/nim/semfold.pas +++ b/nim/semfold.pas diff --git a/nim/semstmts.pas b/nim/semstmts.pas index 66db7b802..66db7b802 100755..100644 --- a/nim/semstmts.pas +++ b/nim/semstmts.pas diff --git a/nim/semtempl.pas b/nim/semtempl.pas index f7f0cadd5..f7f0cadd5 100755..100644 --- a/nim/semtempl.pas +++ b/nim/semtempl.pas diff --git a/nim/semtypes.pas b/nim/semtypes.pas index e402b9864..e402b9864 100755..100644 --- a/nim/semtypes.pas +++ b/nim/semtypes.pas diff --git a/nim/sigmatch.pas b/nim/sigmatch.pas index 69ffdbb43..69ffdbb43 100755..100644 --- a/nim/sigmatch.pas +++ b/nim/sigmatch.pas diff --git a/nim/strutils.pas b/nim/strutils.pas index b654b7868..b654b7868 100755..100644 --- a/nim/strutils.pas +++ b/nim/strutils.pas diff --git a/nim/syntaxes.pas b/nim/syntaxes.pas index 1068064ce..1068064ce 100755..100644 --- a/nim/syntaxes.pas +++ b/nim/syntaxes.pas diff --git a/nim/transf.pas b/nim/transf.pas index 33ece8116..33ece8116 100755..100644 --- a/nim/transf.pas +++ b/nim/transf.pas diff --git a/nim/transtmp.pas b/nim/transtmp.pas index df61aa00d..df61aa00d 100755..100644 --- a/nim/transtmp.pas +++ b/nim/transtmp.pas diff --git a/nim/trees.pas b/nim/trees.pas index bd4137083..bd4137083 100755..100644 --- a/nim/trees.pas +++ b/nim/trees.pas diff --git a/nim/treetab.pas b/nim/treetab.pas index 5a9dbdb2a..5a9dbdb2a 100755..100644 --- a/nim/treetab.pas +++ b/nim/treetab.pas diff --git a/nim/types.pas b/nim/types.pas index 5719d181a..5719d181a 100755..100644 --- a/nim/types.pas +++ b/nim/types.pas diff --git a/nim/vis.pas b/nim/vis.pas index 7f59abaec..7f59abaec 100755..100644 --- a/nim/vis.pas +++ b/nim/vis.pas diff --git a/nim/wordrecg.pas b/nim/wordrecg.pas index da709a8f3..da709a8f3 100755..100644 --- a/nim/wordrecg.pas +++ b/nim/wordrecg.pas |