* make cycle OPT=-gwl -Co -Cr on x86-64 fixed

git-svn-id: trunk@7976 -
This commit is contained in:
florian 2007-07-07 19:16:49 +00:00
parent 55d6a37865
commit 499cbcbbe1
5 changed files with 37 additions and 33 deletions

View File

@ -1289,7 +1289,7 @@ implementation
else else
result:=sizeof(aint); result:=sizeof(aint);
aitconst_uleb128bit : aitconst_uleb128bit :
result:=LengthUleb128(value); result:=LengthUleb128(qword(value));
aitconst_sleb128bit : aitconst_sleb128bit :
result:=LengthSleb128(value); result:=LengthSleb128(value);
else else

View File

@ -1173,7 +1173,7 @@ Implementation
else else
v:=Tai_const(hp).value; v:=Tai_const(hp).value;
if tai_const(hp).consttype=aitconst_uleb128bit then if tai_const(hp).consttype=aitconst_uleb128bit then
leblen:=EncodeUleb128(v,lebbuf) leblen:=EncodeUleb128(qword(v),lebbuf)
else else
leblen:=EncodeSleb128(v,lebbuf); leblen:=EncodeSleb128(v,lebbuf);
ObjData.writebytes(lebbuf,leblen); ObjData.writebytes(lebbuf,leblen);

View File

@ -1,4 +1,3 @@
unit constexp;
{ {
Copyright (c) 2007 by Daniel Mantione Copyright (c) 2007 by Daniel Mantione
@ -21,13 +20,18 @@ unit constexp;
**************************************************************************** ****************************************************************************
} }
unit constexp;
{****************************************************************************}
interface
{****************************************************************************}
{$i fpcdefs.inc} {$i fpcdefs.inc}
interface
{ bootstrapping with 2.0.x }
{$ifdef VER2_0}
{$Q-}
{$R-}
{$endif}
{$ifopt q+} {$ifopt q+}
{$define ena_q} {$define ena_q}
{$endif} {$endif}

View File

@ -1941,7 +1941,7 @@ implementation
begin begin
{$ifdef cpu64bit} {$ifdef cpu64bit}
current_asmdata.asmlists[al_dwarf_abbrev].concat(tai_const.create_uleb128bit(ord(DW_FORM_data8))); current_asmdata.asmlists[al_dwarf_abbrev].concat(tai_const.create_uleb128bit(ord(DW_FORM_data8)));
current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_64bit(sym.value.valueordptr)); current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_64bit(int64(sym.value.valueordptr)));
{$else cpu64bit} {$else cpu64bit}
current_asmdata.asmlists[al_dwarf_abbrev].concat(tai_const.create_uleb128bit(ord(DW_FORM_data4))); current_asmdata.asmlists[al_dwarf_abbrev].concat(tai_const.create_uleb128bit(ord(DW_FORM_data4)));
current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_32bit(sym.value.valueordptr)); current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_32bit(sym.value.valueordptr));

View File

@ -28,7 +28,7 @@ const DefaultConfig : array[0..23,1..240] of char=(
#010+ #010+
'# For a release compile w','ith optimizes and strip debuginfo'#010+ '# For a release compile w','ith optimizes and strip debuginfo'#010+
'#IFDEF RELEASE'#010+ '#IFDEF RELEASE'#010+
' -O2p3'#010+ ' -O2'#010+
' -Xs'#010+ ' -Xs'#010+
' #WRITE Compiling Release Version'#010+ ' #WRITE Compiling Release Version'#010+
'#ENDIF'#010+ '#ENDIF'#010+
@ -38,7 +38,7 @@ const DefaultConfig : array[0..23,1..240] of char=(
'#IFDEF DEBUG'#010+ '#IFDEF DEBUG'#010+
' -glh'#010+ ' -glh'#010+
' -Crtoi'#010+ ' -Crtoi'#010+
' #WRITE Compiling Debug Ve','rsion'#010+ ' #WRITE Compiling Debug Vers','ion'#010+
'#ENDIF'#010+ '#ENDIF'#010+
#010+ #010+
'# ----------------'#010+ '# ----------------'#010+
@ -48,7 +48,7 @@ const DefaultConfig : array[0..23,1..240] of char=(
'# Pascal language mode'#010+ '# Pascal language mode'#010+
'# -Mfpc free pascal dialect (default)'#010+ '# -Mfpc free pascal dialect (default)'#010+
'# -Mobjfpc switch some Delphi 2 extensions on'#010+ '# -Mobjfpc switch some Delphi 2 extensions on'#010+
'# -Mdelphi tries to be Delphi compati','ble'#010+ '# -Mdelphi tries to be Delphi compatibl','e'#010+
'# -Mtp tries to be TP/BP 7.0 compatible'#010+ '# -Mtp tries to be TP/BP 7.0 compatible'#010+
'# -Mgpc tries to be gpc compatible'#010+ '# -Mgpc tries to be gpc compatible'#010+
'# -Mmacpas tries to be compatible to the macintosh pascal diale'+ '# -Mmacpas tries to be compatible to the macintosh pascal diale'+
@ -57,7 +57,7 @@ const DefaultConfig : array[0..23,1..240] of char=(
'# Turn on Object Pascal extensions by default'#010+ '# Turn on Object Pascal extensions by default'#010+
'#-Mobjfpc'#010+ '#-Mobjfpc'#010+
#010+ #010+
'# Assem','bler reader mode'#010+ '# Assembl','er reader mode'#010+
'# -Rdefault use default assembler'#010+ '# -Rdefault use default assembler'#010+
'# -Ratt read AT&T style assembler'#010+ '# -Ratt read AT&T style assembler'#010+
'# -Rintel read Intel style assembler'#010+ '# -Rintel read Intel style assembler'#010+
@ -66,23 +66,23 @@ const DefaultConfig : array[0..23,1..240] of char=(
'#-Ratt'#010+ '#-Ratt'#010+
#010+ #010+
'# Semantic checking'#010+ '# Semantic checking'#010+
'# -S2 ',' same as -Mobjfpc'#010+ '# -S2 ',' same as -Mobjfpc'#010+
'# -Sc supports operators like C (*=,+=,/= and -=)'#010+ '# -Sc supports operators like C (*=,+=,/= and -=)'#010+
'# -Sa include assertion code.'#010+ '# -Sa include assertion code.'#010+
'# -Sd same as -Mdelphi'#010+ '# -Sd same as -Mdelphi'#010+
'# -Se<x> compiler stops after the <x> errors (default is 1)'#010+ '# -Se<x> compiler stops after the <x> errors (default is 1)'#010+
'# -Sg ',' allow LABEL and GOTO'#010+ '# -Sg ',' allow LABEL and GOTO'#010+
'# -Sh Use ansistrings'#010+ '# -Sh Use ansistrings'#010+
'# -Si support C++ styled INLINE'#010+ '# -Si support C++ styled INLINE'#010+
'# -SI<x> set interface style to <x>'#010+ '# -SI<x> set interface style to <x>'#010+
'# -SIcomCOM compatible interface (default)'#010+ '# -SIcomCOM compatible interface (default)'#010+
'# -SIcorbaCORBA compatible int','erface'#010+ '# -SIcorbaCORBA compatible inter','face'#010+
'# -Sm support macros like C (global)'#010+ '# -Sm support macros like C (global)'#010+
'# -So same as -Mtp'#010+ '# -So same as -Mtp'#010+
'# -Sp same as -Mgpc'#010+ '# -Sp same as -Mgpc'#010+
'# -Ss constructor name must be init (destructor must be do'+ '# -Ss constructor name must be init (destructor must be do'+
'ne)'#010+ 'ne)'#010+
'# -St allow static keyword in objec','ts'#010+ '# -St allow static keyword in objects',#010+
'#'#010+ '#'#010+
'# Allow goto, inline, C-operators, C-vars'#010+ '# Allow goto, inline, C-operators, C-vars'#010+
'-Sgic'#010+ '-Sgic'#010+
@ -93,8 +93,8 @@ const DefaultConfig : array[0..23,1..240] of char=(
#010+ #010+
'# Uncomment the next line if you always want static/dynamic units by d'+ '# Uncomment the next line if you always want static/dynamic units by d'+
'efault'#010+ 'efault'#010+
'# (can be overruled with -CD, -CS at the commandline)'#010, '# (can be overruled with -CD, -CS at the commandline)'#010+
'#-CS'#010+ '#-','CS'#010+
'#-CD'#010+ '#-CD'#010+
#010+ #010+
'# Set the default heapsize to 8Mb'#010+ '# Set the default heapsize to 8Mb'#010+
@ -108,12 +108,12 @@ const DefaultConfig : array[0..23,1..240] of char=(
#010+ #010+
'# Optimizer switches for i386 compiler'#010+ '# Optimizer switches for i386 compiler'#010+
'# -Os generate smaller code'#010+ '# -Os generate smaller code'#010+
'# -O1 leve','l 1 optimizations (quick optimizations)'#010+ '# -O1 level ','1 optimizations (quick optimizations)'#010+
'# -O2 level 2 optimizations (-O1 + slower optimizations)'#010+ '# -O2 level 2 optimizations (-O1 + slower optimizations)'#010+
'# -O3 level 3 optimizations (same as -O2u)'#010+ '# -O3 level 3 optimizations (same as -O2u)'#010+
'# -Oa=N set alignment to N'#010+ '# -Oa=N set alignment to N'#010+
'# -OoX switch on optimalization X. '#010+ '# -OoX switch on optimalization X. '#010+
'# -OoNOX ',' switch off optimalization X.'#010+ '# -OoNOX s','witch off optimalization X.'#010+
'# X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCS'+ '# X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCS'+
'E LOOPUNROLL'#010+ 'E LOOPUNROLL'#010+
'# -OpCPU set target processor.'#010+ '# -OpCPU set target processor.'#010+
@ -121,7 +121,7 @@ const DefaultConfig : array[0..23,1..240] of char=(
', PENTIUMM '#010+ ', PENTIUMM '#010+
#010+ #010+
#010+ #010+
'# ------','-----------------'#010+ '# --------','---------------'#010+
'# Set Filenames and Paths'#010+ '# Set Filenames and Paths'#010+
'# -----------------------'#010+ '# -----------------------'#010+
#010+ #010+
@ -130,7 +130,7 @@ const DefaultConfig : array[0..23,1..240] of char=(
'# path to the messagefile, not necessary anymore but can be used to ov'+ '# path to the messagefile, not necessary anymore but can be used to ov'+
'erride'#010+ 'erride'#010+
'# the default language'#010+ '# the default language'#010+
'#-Fr%basepath%/m','sg/errore.msg'#010+ '#-Fr%basepath%/msg','/errore.msg'#010+
'#-Fr%basepath%/msg/errorn.msg'#010+ '#-Fr%basepath%/msg/errorn.msg'#010+
'#-Fr%basepath%/msg/errores.msg'#010+ '#-Fr%basepath%/msg/errores.msg'#010+
'#-Fr%basepath%/msg/errord.msg'#010+ '#-Fr%basepath%/msg/errord.msg'#010+
@ -142,19 +142,19 @@ const DefaultConfig : array[0..23,1..240] of char=(
'# searchpath for includefiles'#010+ '# searchpath for includefiles'#010+
'#-Fi/pp/inc;/pp/rtl/inc'#010+ '#-Fi/pp/inc;/pp/rtl/inc'#010+
#010+ #010+
'# search','path for includefiles'#010+ '# searchpa','th for includefiles'#010+
'# release them only if you know what you do'#010+ '# release them only if you know what you do'#010+
'# because this could cause a rebuild of the runtime library'#010+ '# because this could cause a rebuild of the runtime library'#010+
'# if you tell them compiler/ide to build the project (FK)'#010+ '# if you tell them compiler/ide to build the project (FK)'#010+
'#-Fi%basepath%/source/rtl/inc;%basepath%/source/rtl/i386',#010+ '#-Fi%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#010+
#010+ #010,
'# searchpath for objectfiles'#010+ '# searchpath for objectfiles'#010+
'#-Fo%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#010+ '#-Fo%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#010+
#010+ #010+
'# searchpath for units and other system dependent things'#010+ '# searchpath for units and other system dependent things'#010+
'-Fu%basepath%/units/$FPCTARGET/'#010+ '-Fu%basepath%/units/$FPCTARGET/'#010+
'-Fu%basepath%/units/$FPCTARGET/*'#010+ '-Fu%basepath%/units/$FPCTARGET/*'#010+
'-Fu%basepath%/units/$FPCTARGE','T/rtl'#010+ '-Fu%basepath%/units/$FPCTARGET/','rtl'#010+
#010+ #010+
'# searchpath for libraries'#010+ '# searchpath for libraries'#010+
'#-Fl%basepath%/lib'#010+ '#-Fl%basepath%/lib'#010+
@ -170,8 +170,8 @@ const DefaultConfig : array[0..23,1..240] of char=(
#010+ #010+
#010+ #010+
'# -------------'#010+ '# -------------'#010+
'# Linking',#010+ '# Linking'#010+
'# -------------'#010+ '#',' -------------'#010+
#010+ #010+
'# generate always debugging information for GDB (slows down the compil'+ '# generate always debugging information for GDB (slows down the compil'+
'ing'#010+ 'ing'#010+
@ -179,12 +179,12 @@ const DefaultConfig : array[0..23,1..240] of char=(
'# -gc generate checks for pointers'#010+ '# -gc generate checks for pointers'#010+
'# -gd use dbx'#010+ '# -gd use dbx'#010+
'# -gg use gsym'#010+ '# -gg use gsym'#010+
'# -gh use heap trace unit',' (for memory leak debugging)'#010+ '# -gh use heap trace unit (','for memory leak debugging)'#010+
'# -gl use line info unit to show more info for backtraces'#010+ '# -gl use line info unit to show more info for backtraces'#010+
'# -gv generates programs tracable with valgrind'#010+ '# -gv generates programs tracable with valgrind'#010+
'# -gw generate dwarf debugging info'#010+ '# -gw generate dwarf debugging info'#010+
'#'#010+ '#'#010+
'# Enable debuginfo and use the ','line info unit by default'#010+ '# Enable debuginfo and use the li','ne info unit by default'#010+
'#-gl'#010+ '#-gl'#010+
#010+ #010+
'# always pass an option to the linker'#010+ '# always pass an option to the linker'#010+
@ -202,15 +202,15 @@ const DefaultConfig : array[0..23,1..240] of char=(
'-l'#010+ '-l'#010+
#010+ #010+
'# Verbosity'#010+ '# Verbosity'#010+
'# e : Sh','ow errors (default) d : Show debug info'#010+ '# e : Show',' errors (default) d : Show debug info'#010+
'# w : Show warnings u : Show unit info'#010+ '# w : Show warnings u : Show unit info'#010+
'# n : Show notes t : Show tried/used files'#010+ '# n : Show notes t : Show tried/used files'#010+
'# h : Show hints m : Show defined macros'#010+ '# h : Show hints m : Show defined macros'#010+
'# i',' : Show general info p : Show compiled procedures'#010+ '# i :',' Show general info p : Show compiled procedures'#010+
'# l : Show linenumbers c : Show conditionals'#010+ '# l : Show linenumbers c : Show conditionals'#010+
'# a : Show everything 0 : Show nothing (except errors'+ '# a : Show everything 0 : Show nothing (except errors'+
')'#010+ ')'#010+
'# b : Show all procedure r : Rhid','e/GCC compatibility m'+ '# b : Show all procedure r : Rhide/','GCC compatibility m'+
'ode'#010+ 'ode'#010+
'# declarations if an error x : Executable info (Win32 only'+ '# declarations if an error x : Executable info (Win32 only'+
')'#010+ ')'#010+