Commit Graph

29 Commits

Author SHA1 Message Date
sergei
afd34cf9d5 * Changed section for ansi/wide/unicodestring constants, resourcestrings (content only) and dataconstnodes from sec_rodata to sec_rodata_norel, because they never contain relocations.
git-svn-id: trunk@23017 -
2012-11-18 17:00:18 +00:00
Jonas Maebe
a13c9d93ff * create new object file when creating new section for ansistring/
unicodestring constants so they can be smartlinked away on
    platforms using library-based smartlinking (mantis #22888)

git-svn-id: trunk@22417 -
2012-09-17 22:30:16 +00:00
Jonas Maebe
8282d6e37a * do not create a global symbol in the middle of ansi/unicodestring
constants on Darwin, because its linker uses global symbols as delimiters
    of subsections for dead code stripping. This was previously solved by
    never making any ansistring constants smart linkable, which is now
    solved

git-svn-id: trunk@21328 -
2012-05-19 10:19:35 +00:00
paul
b1b0b2bb1f compiler: move ansistring codepage number replacement code from the asm generator to one level up. output both 0 and CP_NONE ansistring constants as constants with codepage 0. codepage 0 means CP_ACP and it will be properly understood of RTL routines while codepage CP_NONE means no codepage. For delphi unicode mode output them in compiler codepage as before.
git-svn-id: trunk@19459 -
2011-10-11 07:22:49 +00:00
paul
ff3791d1f3 compiler: emit constants of encoding 0 in CP_NONE/DefaultSystemCodePage encoding (depends on modes witch)
git-svn-id: trunk@19302 -
2011-09-30 14:14:58 +00:00
paul
828367bebd compiler:
- return default compiler codepage to 8859-1
  - emit ansistring constants in CP_NONE by default
  - add new modeswitch systemcodepage which sets default compiler codepage to system and emits ansistring constants with systemcodepage as delphi do
  - add new mode DelphiUnicode with has the same switches as delphi mode + systemcodepage switch. Later it will also have string = unicodestring by default.

git-svn-id: trunk@19165 -
2011-09-21 01:23:42 +00:00
paul
9c39ad5428 compiler: winlike widestrings should not contain "encoding" and "element size" fields
git-svn-id: trunk@19146 -
2011-09-19 02:13:09 +00:00
paul
41e85bc36a compiler:
- emit ansistring constants with compiler codepage if no codepage is explicitly set
  - set default compiler codepage to default system codepage (delphi compatible)
  + tests

git-svn-id: trunk@19145 -
2011-09-19 01:04:56 +00:00
paul
aba0106366 compiler: manual merge some cpstrnew changes which was impossible to merge using regular tools due to the merge conflicts
git-svn-id: trunk@19131 -
2011-09-17 15:36:56 +00:00
paul
4b9a082152 merge r17371 from cpstrnew branch by michael:
* Patch from Inoussa to fix tunistr5.pp

git-svn-id: trunk@19108 -
2011-09-17 13:17:19 +00:00
florian
b5e7b3e1e7 o patch by Sergei Gorelkin which basically resolves #14308 (still misses some tests):
* constant widestrings must be allocated and copied at program start up through an api call else they couldn't be passed between progam/dlls

git-svn-id: trunk@14432 -
2009-12-13 10:03:30 +00:00
peter
1ace0dc9b8 * moved some tables from ra386*.pas -> i386.pas
+ start of coff writer
  * renamed asmutils unit to rautils
1999-01-10 15:37:51 +00:00
peter
ce3e2aec84 + rec.field(%esi) support
+ [esi+rec.field] support
1998-12-23 22:55:55 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
peter
e0f66581eb * fixed for $H+ 1998-11-17 00:26:09 +00:00
peter
d84489d9b7 * recordtype.field support in constant expressions
* fixed imul for oa_imm8 which was not allowed
  * fixed reading of local typed constants
  * fixed comment reading which is not any longer a separator
1998-11-05 23:48:17 +00:00
peter
e06ac8e64f + leal procsym,eax is now allowed
+ constants are now handled also when starting an expression
  + call *pointer is now allowed
1998-10-28 00:08:45 +00:00
florian
6155ef488c * emitpushreferenceaddress gets now the asmlist as parameter
* m68k version compiles with -duseansistrings
1998-10-14 11:28:13 +00:00
pierre
c3b3abdb65 * undid some changes of Peter that made the compiler wrong
for m68k (I had to reinsert some ifdefs)
  * removed several memory leaks under m68k
  * removed the meory leaks for assembler readers
  * cross compiling shoud work again better
    ( crosscompiling sysamiga works
     but as68k still complain about some code !)
1998-10-13 16:49:59 +00:00
peter
1468993242 * new style for m68k/i386 infos and enums 1998-10-13 13:10:08 +00:00
carl
a4630b4f2b * bugfixes from fix branch 1998-09-24 17:54:15 +00:00
carl
17ddc67710 +} now record offsets searches set the operand sizes 1998-08-27 00:43:06 +00:00
peter
df5ca5be09 * fixed bug 42 1998-08-18 20:51:32 +00:00
peter
85c8a88cbe + localswitches, moduleswitches, globalswitches splitting 1998-08-10 14:49:33 +00:00
peter
c9715847f6 * updated messages file 1998-07-14 21:46:38 +00:00
peter
f66f837fc8 * m68k compiles
+ .def file creation moved to gendef.pas so it could also be used
    for win32
1998-06-04 23:51:26 +00:00
peter
659c2fb45d * fixed call bugs with assembler readers
+ OPR_SYMBOL to hold a symbol in the asm parser
  * fixed staticsymtable vars which were acessed through %ebp instead of
    name
1998-05-31 14:13:30 +00:00
pierre
5cdd60cac8 + added some code for ansistring (not complete nor working yet)
* corrected operator overloading
  * corrected nasm output
  + started inline procedures
  + added starstarn : use ** for exponentiation (^ gave problems)
  + started UseTokenInfo cond to get accurate positions
1998-04-29 10:33:40 +00:00
root
d1a1f501c8 Initial revision 1998-03-25 11:18:12 +00:00