diff --git a/components/codetools/keywordfunclists.pas b/components/codetools/keywordfunclists.pas index cacb0621af..894cf86bf5 100644 --- a/components/codetools/keywordfunclists.pas +++ b/components/codetools/keywordfunclists.pas @@ -818,6 +818,7 @@ begin Add('EXPERIMENTAL' ,{$ifdef FPC}@{$endif}AllwaysTrue); Add('LIBRARY' ,{$ifdef FPC}@{$endif}AllwaysTrue); Add('DEPRECATED' ,{$ifdef FPC}@{$endif}AllwaysTrue); + Add('WEAKEXTERNAL' ,{$ifdef FPC}@{$endif}AllwaysTrue); end; IsKeyWordProcedureTypeSpecifier:=TKeyWordFunctionList.Create; diff --git a/components/codetools/pascalparsertool.pas b/components/codetools/pascalparsertool.pas index 197d002cc5..9e0b16cf76 100644 --- a/components/codetools/pascalparsertool.pas +++ b/components/codetools/pascalparsertool.pas @@ -1607,8 +1607,8 @@ begin ReadNextAtom; if not (CurPos.Flag in [cafSemicolon,cafEND]) then ReadConstant(true,false,[]); - end else if UpAtomIs('EXTERNAL') or UpAtomIs('PUBLIC') then begin - HasForwardModifier:=UpAtomIs('EXTERNAL'); + end else if UpAtomIs('EXTERNAL') or UpAtomIs('WEAKEXTERNAL') or UpAtomIs('PUBLIC') then begin + HasForwardModifier:=UpAtomIs('EXTERNAL') or UpAtomIs('WEAKEXTERNAL'); ReadNextAtom; if CurPos.Flag<>cafSemicolon then begin if not UpAtomIs('NAME') then