diff --git a/Localization/DefaultLang.resources b/Localization/DefaultLang.resources index 69518271b..814fc980c 100644 Binary files a/Localization/DefaultLang.resources and b/Localization/DefaultLang.resources differ diff --git a/TestSuite/errors/err0535.pas b/TestSuite/errors/err0535.pas new file mode 100644 index 000000000..b414bd794 --- /dev/null +++ b/TestSuite/errors/err0535.pas @@ -0,0 +1,6 @@ +//!Имя библиотеки не может быть пустым +procedure p1; external ''; + +begin + +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 14fead5d6..e7bcfc734 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -18297,6 +18297,8 @@ namespace PascalABCCompiler.TreeConverter } else AddError(get_location(_external_directive.modulename), "STRING_CONSTANT_OR_IDENTIFIER_EXPECTED"); + if (string.IsNullOrEmpty(module_name)) + AddError(get_location(_external_directive.modulename), "DLLNAME_CANNOT_BE_EMPTY"); if (_external_directive.name == null) { name = context.converted_func_stack.top().name; diff --git a/bin/Lng/Eng/SemanticErrors_ib.dat b/bin/Lng/Eng/SemanticErrors_ib.dat index 372fa4c9f..d1761f114 100644 --- a/bin/Lng/Eng/SemanticErrors_ib.dat +++ b/bin/Lng/Eng/SemanticErrors_ib.dat @@ -63,6 +63,7 @@ EXTENSION_CONSTRUCTOR_NOT_ALLOWED=Cannot declare extensions-constructors CLASS_MEMBER_{0}_EXPECTED='{0}' must be method or constructor DESTRUCTOR_MUST_HAVE_NAME=Destructor must have name STRING_CONSTANT_EXPECTED=String constant expected +DLLNAME_CANNOT_BE_EMPTY=Library name cannot be empty STRING_CONSTANT_OR_IDENTIFIER_EXPECTED=String constant or identifier expected FUNCTION_MUST_HAVE_DLLIMPORT_ATTRIBUTE=DllImport attribute expected EXPECTED_ATTRIBUTE_INITIALIZER=Attribute initializer expected diff --git a/bin/Lng/Rus/SemanticErrors_ib.dat b/bin/Lng/Rus/SemanticErrors_ib.dat index d960a405c..472d9d8a2 100644 --- a/bin/Lng/Rus/SemanticErrors_ib.dat +++ b/bin/Lng/Rus/SemanticErrors_ib.dat @@ -63,6 +63,7 @@ EXTENSION_CONSTRUCTOR_NOT_ALLOWED=Определение extensions-констр CLASS_MEMBER_{0}_EXPECTED={0} должен быть методом или конструктором DESTRUCTOR_MUST_HAVE_NAME=Деструктор должен иметь имя STRING_CONSTANT_EXPECTED=Ожидалась строковая константа +DLLNAME_CANNOT_BE_EMPTY=Имя библиотеки не может быть пустым STRING_CONSTANT_OR_IDENTIFIER_EXPECTED=Ожидались строковая константа или идентификатор FUNCTION_MUST_HAVE_DLLIMPORT_ATTRIBUTE=Подпрограмма должна иметь атрибут DllImport EXPECTED_ATTRIBUTE_INITIALIZER=Ожидался инициализатор атрибута diff --git a/bin/Lng/Ukr/SemanticErrors_ib.dat b/bin/Lng/Ukr/SemanticErrors_ib.dat index a754177d3..45aa78a93 100644 --- a/bin/Lng/Ukr/SemanticErrors_ib.dat +++ b/bin/Lng/Ukr/SemanticErrors_ib.dat @@ -170,6 +170,7 @@ NON_PUBLIC_RECORD_CONSTRUCTORS_NOT_ALLOWED=Записи могут иметь т EXIT_BREAK_CONTINUE_IN_FINALLY_BLOCK=Использование exit, break и continue в блоке finally недопустимо ANONYMOUS_DELEGATES_WITH_GENERIC_PARAMS_NOT_ALLOWED=Нельзя вывести тип анонимного делегата с генерик-параметрами. Укажите тип переменной явно. CANNOT_IMPLEMENT_METHODS_IN_OTHER_MODULE=Нельзя реализовывать метод из другого модуля +DLLNAME_CANNOT_BE_EMPTY=Имя библиотеки не может быть пустым %PREFIX%=COMPILATIONERROR_ UNIT_MODULE_EXPECTED_LIBRARY_FOUND=Очікувався модуль, а зустріли бібліотеку ASSEMBLY_{0}_READING_ERROR=Помилка при читанні збірки '{0}' diff --git a/bin/Lng/zh_CN/SemanticErrors_ib.dat b/bin/Lng/zh_CN/SemanticErrors_ib.dat index e1dd65b63..9790cfc0a 100644 --- a/bin/Lng/zh_CN/SemanticErrors_ib.dat +++ b/bin/Lng/zh_CN/SemanticErrors_ib.dat @@ -178,6 +178,7 @@ NON_PUBLIC_RECORD_CONSTRUCTORS_NOT_ALLOWED=记录不能有非公共的默认构 EXIT_BREAK_CONTINUE_IN_FINALLY_BLOCK=finally 中不允许退出、中断和继续 ANONYMOUS_DELEGATES_WITH_GENERIC_PARAMS_NOT_ALLOWED=无法推断具有泛型参数的匿名委托的类型。 显式声明变量类型。 CANNOT_IMPLEMENT_METHODS_IN_OTHER_MODULE=Can not implement methods in other module +DLLNAME_CANNOT_BE_EMPTY=Library name cannot be empty %PREFIX%=COMPILATIONERROR_ UNIT_MODULE_EXPECTED_LIBRARY_FOUND=需要单元,找到库 ASSEMBLY_{0}_READING_ERROR=读取程序集 '{0}' 时出错