Added warning message for pure virtual method support

Signed-off-by: Srinivasan Venkataramanan <svenka3@gmail.com>
This commit is contained in:
Srinivasan Venkataramanan 2021-01-04 23:09:34 +05:30
parent ba25b55f53
commit b7f7e92535
1 changed files with 13 additions and 1 deletions

14
parse.y
View File

@ -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
;