Commit Graph

49199 Commits

Author SHA1 Message Date
michael
1d67fbc2b7 * Correct indentation of generated code in case of With
git-svn-id: trunk@34469 -
2016-09-09 06:28:41 +00:00
michael
fc7d4a36f4 * Allow specifying DESC indexes in IndexFieldNames. Patch by Lutz Mändle (bug ID 30479)
git-svn-id: trunk@34468 -
2016-09-09 06:28:13 +00:00
michael
1ca3e6c407 * Make THashedStringList obey CaseSensitive flag (patch from Giulano Colla, bug ID #30568)
git-svn-id: trunk@34467 -
2016-09-09 06:16:37 +00:00
michael
ccee64600e * Patch to extend earlier fix for ISS in CGI to FastCGI (bug ID 30073)
git-svn-id: trunk@34466 -
2016-09-09 06:06:15 +00:00
michael
d4b581c10a * Patch from Andrey Korol, fix number of desired colors for Greyscale (bug id 30531)
git-svn-id: trunk@34465 -
2016-09-09 05:48:05 +00:00
michael
8185da31e6 * Publish autocommit in TSQLScript, make Aborted and Line public. Bug ID #30559
git-svn-id: trunk@34464 -
2016-09-09 05:36:30 +00:00
michael
0cdf941fed * Fix wrong ReadInt64 return type. bug ID #30579
git-svn-id: trunk@34463 -
2016-09-09 05:32:32 +00:00
michael
b8b96f0c8c * Patch from Laco to limit growth of TFPList
git-svn-id: trunk@34462 -
2016-09-08 19:03:11 +00:00
svenbarth
c2fec2e819 * if the objecttype of the forward declaration mismatches use the objecttype previously parsed; fixes access violation of webtbf/tw11970.pp
git-svn-id: trunk@34461 -
2016-09-08 18:42:13 +00:00
svenbarth
7dd0130ac2 * generate_specialization_phase2() might also return an errordef, so check for that instead of simply using the symbol; fixes access violations of tgenconstraint{38,39,40}.pp
git-svn-id: trunk@34460 -
2016-09-08 18:34:30 +00:00
svenbarth
0df57b3c87 * forward declarations of helper types are not allowed, so enforce them by trying to parse a "for"; fixes access violation of thlp9.pp
git-svn-id: trunk@34459 -
2016-09-08 18:33:12 +00:00
svenbarth
6b93f09567 * fix test
git-svn-id: trunk@34458 -
2016-09-08 17:43:04 +00:00
svenbarth
f889891466 * fix Delete() for dynamic arrays
git-svn-id: trunk@34457 -
2016-09-08 17:42:50 +00:00
svenbarth
ed144a6535 * fix for Mantis #30567; the method only needs to be left with nothing to do if both method and thread are Nil
git-svn-id: trunk@34456 -
2016-09-08 17:22:45 +00:00
svenbarth
26a2ddd3d6 + extend Delete() intrinsics with Delphi compatible support for dynamic arrays. Also fixes Mantis #30306
git-svn-id: trunk@34455 -
2016-09-08 17:15:10 +00:00
Jonas Maebe
2f41434284 * fix crash while compiling webtbf/tw14849
git-svn-id: trunk@34454 -
2016-09-08 14:19:02 +00:00
Jonas Maebe
1e506ce1d5 * call beforedestruction if an exception happens in afterconstruction
(mantis #30570)

git-svn-id: trunk@34453 -
2016-09-08 14:18:59 +00:00
Jonas Maebe
94eb087aa2 * fixed typo (obcj -> objc)
git-svn-id: trunk@34452 -
2016-09-08 14:18:56 +00:00
Jonas Maebe
90f09a599e * simplified flow while adding afterconstruction code
git-svn-id: trunk@34451 -
2016-09-08 14:18:53 +00:00
Jonas Maebe
adcf07aabb * fixed line information for constructor code added to new block while
generating the afterconstruction code

git-svn-id: trunk@34450 -
2016-09-08 14:18:50 +00:00
Jonas Maebe
d22b83ee73 * renamed afterconstructionblock to constructionblock
git-svn-id: trunk@34449 -
2016-09-08 14:18:47 +00:00
pierre
17ba06f7c8 Regenerated after: Add missing -Tlinux help line for mipsel compiler
git-svn-id: trunk@34448 -
2016-09-08 05:53:19 +00:00
pierre
270d5bedec Add missing -Tlinux help line for mipsel compiler
git-svn-id: trunk@34447 -
2016-09-08 05:52:38 +00:00
Jonas Maebe
388c047c8a - removed the code to check whether a parameter to an inline routine is
also the by-reference function result of a call node, now that this is
    properly checked in the general case (these parameters/function results
    are temp nodes in case of inlined calls)

git-svn-id: trunk@34446 -
2016-09-07 19:37:38 +00:00
Jonas Maebe
5ffd06392d * don't optimize "x:=f(x)" whereby the function result of f() is passed
by reference in case x is a temp (mantis #30572)

git-svn-id: trunk@34445 -
2016-09-07 19:37:35 +00:00
Jonas Maebe
997a958f72 * fixed r34439 for big endian
git-svn-id: trunk@34444 -
2016-09-07 16:09:10 +00:00
Jonas Maebe
473cec9d85 * converted tnodeutils.InsertRuntimeInits() to the high level typed const
builder

git-svn-id: trunk@34443 -
2016-09-07 16:09:06 +00:00
Jonas Maebe
8957d7b364 - regenerated after disabling the textmode ide for Darwin again
git-svn-id: trunk@34442 -
2016-09-06 21:28:41 +00:00
Jonas Maebe
35e20ed4b8 - disabled the textmode IDE for Darwin again: I don't want to support it,
and for some reason comprsrc.pas even fails to compile when compiled via
    compunit

git-svn-id: trunk@34441 -
2016-09-06 21:28:37 +00:00
Jonas Maebe
2d051f89f7 * don't increase refcounts for variants assigned to (ti_)const nodes, fixes
memory leak after r34288 and should have been done as part of r34287
    (mantis #30546)

git-svn-id: trunk@34440 -
2016-09-06 21:28:34 +00:00
Jonas Maebe
26f6d2f39d * emit smallsets as a single byte/word/cardinal, since that is how they
are handled in the code generator (and ncgcon) as well

git-svn-id: trunk@34439 -
2016-09-06 21:28:30 +00:00
pierre
2f79e6147b Makefile's regenerated after:
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 -
2016-09-06 12:21:19 +00:00
pierre
c3957a0f79 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@34437 -
2016-09-06 12:19:50 +00:00
Károly Balogh
de6d7be8df powerpc: converted some partial tabs indentation to spaces. no functional changes.
git-svn-id: trunk@34436 -
2016-09-05 21:42:28 +00:00
Károly Balogh
7a6f18c496 powerpc: reworked syscall generation once more. instead of making various assumptions on the syscallib location based on the calling convention, simply search for the lib and use its location. also unified the call generation itself
git-svn-id: trunk@34435 -
2016-09-05 21:11:51 +00:00
pierre
95520ea767 + Add handling of multiline GDBVersion string,
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 -
2016-09-05 13:12:45 +00:00
pierre
fb2a726dbd Add help message to About if GDB version retrieval does not work
git-svn-id: trunk@34433 -
2016-09-05 13:10:17 +00:00
pierre
6d6da7854c Add ExeExt suffix to GDBProgramName if not specified
git-svn-id: trunk@34432 -
2016-09-05 13:09:31 +00:00
pierre
97c2067832 Fix compiler cycling starting from 3.0.0 powerpc64 release compiler
git-svn-id: trunk@34431 -
2016-09-05 09:36:43 +00:00
michael
d876d1d1e7 * Patch from Mattias Gaertner:
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 -
2016-09-05 05:57:51 +00:00
michael
504e4fb944 * New patch from Mattias Gaertner
* 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 -
2016-09-05 05:56:10 +00:00
pierre
ca08a3498d Replace -k-bbigtoc by -CTsmalltoc, which is more efficient, thanks to Jonas.
git-svn-id: trunk@34428 -
2016-09-04 22:51:17 +00:00
pierre
55804eb382 Regenerate Mkefile after:
+ Add -bbigtoc linker option for aix IDE  with GDBMI
 * Add AIX to list of OS's using GDBMI by default.

git-svn-id: trunk@34427 -
2016-09-04 16:51:53 +00:00
pierre
c239dc128f + Add -bbigtoc linker option for aix IDE with GDBMI
* Add AIX to list of OS's using GDBMI by default.

git-svn-id: trunk@34426 -
2016-09-04 16:51:09 +00:00
pierre
eca3ddc5ce Regenerate Makefile after change to Makefile.fpc:
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 -
2016-09-04 14:52:53 +00:00
pierre
e52c7d5c43 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@34424 -
2016-09-04 14:52:04 +00:00
michael
1001bac6bb * Accept quoted identifiers, using double quotes
git-svn-id: trunk@34423 -
2016-09-04 06:38:14 +00:00
michael
394ec97d80 * Min/Max aggregates
git-svn-id: trunk@34422 -
2016-09-04 06:07:34 +00:00
Károly Balogh
54ac4c91c8 fixed builds on 32bit hosts to 64bit targets (broken by r34416)
git-svn-id: trunk@34421 -
2016-09-04 05:12:21 +00:00
pierre
f216c359bd Always consider Compilation raised exception internally as an Internal Error
git-svn-id: trunk@34419 -
2016-09-03 10:08:39 +00:00