Browse Source

--- Merging r18161 into '.':
U compiler/htypechk.pas
--- Merging r18251 into '.':
U utils/fpdoc/Makefile.fpc
U utils/fpdoc/Makefile
--- Merging r18253 into '.':
U compiler/ppu.pas

# revisions: 18161,18251,18253
------------------------------------------------------------------------
r18161 | jonas | 2011-08-10 17:41:00 +0200 (Wed, 10 Aug 2011) | 3 lines
Changed paths:
M /trunk/compiler/htypechk.pas

* prevent exception when the compiler is compiled with -CR and we find a
non-procsym during overload resolving

------------------------------------------------------------------------
------------------------------------------------------------------------
r18251 | jonas | 2011-08-17 17:31:28 +0200 (Wed, 17 Aug 2011) | 3 lines
Changed paths:
M /trunk/utils/fpdoc/Makefile
M /trunk/utils/fpdoc/Makefile.fpc

* fpdoc depends on fcl-base
* fcl-base depends on univint for Darwin

------------------------------------------------------------------------
------------------------------------------------------------------------
r18253 | florian | 2011-08-17 21:01:03 +0200 (Wed, 17 Aug 2011) | 1 line
Changed paths:
M /trunk/compiler/ppu.pas

* avoid range check errors for empty ansistrings written/read from ppus
------------------------------------------------------------------------

git-svn-id: branches/fixes_2_6@19211 -

marco 14 years ago
parent
commit
a52283c1fe
4 changed files with 18 additions and 6 deletions
  1. 1 1
      compiler/htypechk.pas
  2. 9 3
      compiler/ppu.pas
  3. 6 1
      utils/fpdoc/Makefile
  4. 2 1
      utils/fpdoc/Makefile.fpc

+ 1 - 1
compiler/htypechk.pas

@@ -1933,7 +1933,7 @@ implementation
               break;
             if srsymtable.symtabletype in [localsymtable,staticsymtable,globalsymtable] then
               begin
-                srsym:=tprocsym(srsymtable.FindWithHash(hashedid));
+                srsym:=tsym(srsymtable.FindWithHash(hashedid));
                 if assigned(srsym) and
                    (srsym.typ=procsym) then
                   begin

+ 9 - 3
compiler/ppu.pas

@@ -947,8 +947,13 @@ begin
      error:=true;
      exit;
    end;
-  SetLength(Result,l);
-  ReadData(result[1],l);
+  if l>0 then
+    begin
+      SetLength(Result,l);
+      ReadData(result[1],l);
+    end
+  else
+    Result:='';
   inc(entryidx,l);
 end;
 
@@ -1311,7 +1316,8 @@ procedure tppufile.putansistring(const s: ansistring);
   begin
     l:=length(s);
     putdata(l,4);
-    putdata(s[1],l);
+    if l>0 then
+      putdata(s[1],l);
   end;
 
 

+ 6 - 1
utils/fpdoc/Makefile

@@ -1853,7 +1853,7 @@ else
 TAROPT=vz
 TAREXT=.tar.gz
 endif
-override REQUIRE_PACKAGES=rtl fcl-xml fcl-passrc chm
+override REQUIRE_PACKAGES=rtl fcl-base fcl-xml fcl-passrc chm
 ifeq ($(FULL_TARGET),i386-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
@@ -1957,6 +1957,7 @@ REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-PASSRC=1
 REQUIRE_PACKAGES_CHM=1
+REQUIRE_PACKAGES_UNIVINT=1
 endif
 ifeq ($(FULL_TARGET),i386-emx)
 REQUIRE_PACKAGES_RTL=1
@@ -2111,6 +2112,7 @@ REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-PASSRC=1
 REQUIRE_PACKAGES_CHM=1
+REQUIRE_PACKAGES_UNIVINT=1
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
 REQUIRE_PACKAGES_RTL=1
@@ -2193,6 +2195,7 @@ REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-PASSRC=1
 REQUIRE_PACKAGES_CHM=1
+REQUIRE_PACKAGES_UNIVINT=1
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 REQUIRE_PACKAGES_RTL=1
@@ -2231,6 +2234,7 @@ REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-PASSRC=1
 REQUIRE_PACKAGES_CHM=1
+REQUIRE_PACKAGES_UNIVINT=1
 endif
 ifeq ($(FULL_TARGET),arm-wince)
 REQUIRE_PACKAGES_RTL=1
@@ -2283,6 +2287,7 @@ REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-PASSRC=1
 REQUIRE_PACKAGES_CHM=1
+REQUIRE_PACKAGES_UNIVINT=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 REQUIRE_PACKAGES_RTL=1

+ 2 - 1
utils/fpdoc/Makefile.fpc

@@ -7,7 +7,8 @@ name=fpdoc
 version=2.5.1
 
 [require]
-packages=fcl-xml fcl-passrc chm
+packages=fcl-base fcl-xml fcl-passrc chm
+packages_darwin=univint
 
 [target]
 programs=fpdoc makeskel unitdiff fpclasschart