From b7f7e92535f8f5a3938eb636d4cadac9668cf464 Mon Sep 17 00:00:00 2001 From: Srinivasan Venkataramanan Date: Mon, 4 Jan 2021 23:09:34 +0530 Subject: [PATCH] Added warning message for pure virtual method support Signed-off-by: Srinivasan Venkataramanan --- parse.y | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/parse.y b/parse.y index a4f1fb219..3994aa289 100644 --- a/parse.y +++ b/parse.y @@ -864,6 +864,13 @@ class_items /* IEEE1800-2005: A.1.2 */ | class_item ; +pure_virtual_method_decl /* IEEE1800-2012: A.1.9 */ + : K_pure K_virtual K_task IDENTIFIER ';' + | K_pure K_virtual K_task IDENTIFIER '(' tf_port_list_opt ')' ';' + | K_pure K_virtual K_function data_type_or_implicit_or_void IDENTIFIER ';' + | K_pure K_virtual K_function data_type_or_implicit_or_void IDENTIFIER '(' tf_port_list_opt ')' ';' + ; + class_item /* IEEE1800-2005: A.1.8 */ /* IEEE1800 A.1.8: class_constructor_declaration */ @@ -907,6 +914,11 @@ class_item /* IEEE1800-2005: A.1.8 */ | method_qualifier_opt function_declaration { /* The function_declaration rule puts this into the class */ } + | pure_virtual_method_decl + { yywarn(@1, "OOP Pure Virtual methods are supported as parse-only. " + "No enforcement is done for a concrete class to define these further"); + } + /* External class method definitions... */ | K_extern method_qualifier_opt K_function K_new ';' @@ -1811,7 +1823,7 @@ loop_variables /* IEEE1800-2005: A.6.8 */ } ; -method_qualifier /* IEEE1800-2005: A.1.8 */ +method_qualifier /* IEEE1800-2012: A.1.9 */ : K_virtual | class_item_qualifier ;