mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-05 14:49:37 +01:00
* make cycle OPT=-gwl -Co -Cr on x86-64 fixed
git-svn-id: trunk@7976 -
This commit is contained in:
parent
55d6a37865
commit
499cbcbbe1
@ -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
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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));
|
||||||
|
|||||||
@ -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+
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user