Set GDBMI Makefile environment variable for targets that support
building IDE with GDBMI.
GDBMI is set to 1 if target OS is in the list GDBMI_DEFAULT_OS_LIST
* Add comment about GDBMI_DEFAULT_OS_LIST, stating that this
makefile variable appaers at three levels:
fpcbuild, fpcsrc and fpcsrc/ide
but that the content should be kept equal.
fpsrc/ide/Makefile.fpc:
* Do not use GDBMI if NOGDB is used.
git-svn-id: trunk@34438 -
building IDE with GDBMI.
GDBMI is set to 1 if target OS is in the list GDBMI_DEFAULT_OS_LIST
* Add comment about GDBMI_DEFAULT_OS_LIST, stating that this
makefile variable appaers at three levels:
fpcbuild, fpcsrc and fpcsrc/ide
but that the content should be kept equal.
fpsrc/ide/Makefile.fpc:
* Do not use GDBMI if NOGDB is used.
git-svn-id: trunk@34437 -
used to display help message if GDBMI does not find GDB executable.
+ Add Nikolay Nikolov to the contributor list in new GDBMI section.
git-svn-id: trunk@34434 -
New conversion of for loop:
i=<StartExpr>;
for(var $loopend=<EndExpr>; i<=$loopend; i++){}
Because StartExpr and EndExpr must be executed exactly once.
git-svn-id: trunk@34430 -
* pscanner:
New TPasSourcePos record and function TPascalScanner.CurSourcePos: TPasSourcePos.
TStreamResolver.Streams public, so the tests can find all sources.
* pastree:
TPasImplForLoop.VariableName is now TPasExpr.
Replaced Element.Free calls with Element.Release.
* pparser:
Improved the source positions of many types, by passing a TPasSourcePos with TypeName.
Replaced Element.Free calls with Element.Release.
Changed try..except to try..finally for nicer stacktraces.
FinishScope ExceptOnExpr: called after expression was parsed, before statement
FinishScope ExceptOn: called after statement.
For-Loop now supports a dotted identifier as variablename.
* pasresolver:
while do
repeat until
if then else
binary operators
case of
try..finally..except, on, else, raise
for loop
* Tests:
Changed for-loop tests for new VariableName.
Testing the resolver with Asserts creates hard to understand tests.
Instead I added an utility function CheckReferenceDirectives to test
resolved references via markers in source snippets. This also tests the
element structure and source positions.
git-svn-id: trunk@34429 -
Change default mode to using mi interpreter, with GDB running as an separete process.
+ New Makefile variable named:
GDBMI_DEFAULT_OS_LIST
which lists all OS's for which the use of gdbmi is enabled by default.
Starting value:
darwin freebsd haiku linux netbsd openbsd solaris win32 win64
Default can be overriden by using NOGDBMI variable.
This change is mainly to anticipate GDB source switch to C++ after 7.12 version.
git-svn-id: trunk@34425 -
+ New Makefile variable named:
GDBMI_DEFAULT_OS_LIST
which lists all OS's for which the use of gdbmi is enabled by default.
Starting value:
darwin freebsd haiku linux netbsd openbsd solaris win32 win64
Default can be overriden by using NOGDBMI variable.
This change is mainly to anticipate GDB source switch to C++ after 7.12 version.
git-svn-id: trunk@34424 -
* also check the local symtable in that case (a program does not result in a PPU, but we need the imported symbols nevertheless when linking to a package)
git-svn-id: trunk@34414 -
Therefore if a shared library is loaded by JVM ( using dlopen() ),
it is not possible to use dlopen() in a units initialization code -
dlopen() simply hangs.
To workaround this issue, if a library exports JNI_OnLoad(), then
no unit initialization is performed during library load.
The initialization is called when JVM has loaded the library and calls
JNI_OnLoad().
git-svn-id: trunk@34406 -
that it is done before it had the chance to call RTLEventSetEvent() (since
then no memory barrier synchronised the thread state with what the main
thread would see)
git-svn-id: trunk@34401 -
of all globals and to contain all fppkg-related stuff into this
structure. So it will be easier to embed fppkg into other applications.
git-svn-id: trunk@34400 -
tabstractprocdef.typename_paras(), after accidentally committing the
removal of the double quotes in r34358
o the reason for not using double quotes is that the output of this routine
is used for some LLVM identifier names, and you can't have double quotes in
LLVM identifiers (any other character, including space, is no problem)
git-svn-id: trunk@34392 -
in the high level typed constant builder, as it does not work if the
passed list to start_internal_data_builder() is used for multiple
nested builders (you can't know what the last section was) -> always
emit a section header for a nested typed const builder
git-svn-id: trunk@34391 -
rather than for any anonymous aggregate, since for arrays we do know
the alignment even if we don't know the element count (because it only
depends on the elementdef, which is/will be set immediately)
git-svn-id: trunk@34390 -