diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-11-04 18:50:58 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-11-04 18:50:58 +0100 |
commit | 83331b92f6763f42342303077d13a7bee505900b (patch) | |
tree | bda1d8468177daf3d4dd760a1d28d81847dce24e | |
parent | b1aa6c0603351edaf0f07bacc73ded539d16ee57 (diff) | |
download | ghdl-83331b92f6763f42342303077d13a7bee505900b.tar.gz ghdl-83331b92f6763f42342303077d13a7bee505900b.tar.bz2 ghdl-83331b92f6763f42342303077d13a7bee505900b.zip |
vhdl-scanner: handle 'synopsys' pragma.
-rw-r--r-- | src/std_names.adb | 11 | ||||
-rw-r--r-- | src/std_names.ads | 21 | ||||
-rw-r--r-- | src/vhdl/vhdl-scanner.adb | 3 |
3 files changed, 19 insertions, 16 deletions
diff --git a/src/std_names.adb b/src/std_names.adb index aba33a9f6..ff53371f0 100644 --- a/src/std_names.adb +++ b/src/std_names.adb @@ -608,9 +608,6 @@ package body Std_Names is Def ("item", Name_Item); Def ("__FILE__", Name_Uu_File_Uu); Def ("__LINE__", Name_Uu_Line_Uu); - Def ("synthesis", Name_Synthesis); - Def ("translate_off", Name_Translate_Off); - Def ("translate_on", Name_Translate_On); Def ("label_applies_to", Name_Label_Applies_To); Def ("return_port_name", Name_Return_Port_Name); Def ("map_to_operator", Name_Map_To_Operator); @@ -766,8 +763,12 @@ package body Std_Names is Def ("valueOf", Name_uValueof); -- VHDL special comments - Def ("psl", Name_Psl); - Def ("pragma", Name_Pragma); + Def ("psl", Name_Psl); + Def ("pragma", Name_Pragma); + Def ("synthesis", Name_Synthesis); + Def ("synopsys", Name_Synopsys); + Def ("translate_off", Name_Translate_Off); + Def ("translate_on", Name_Translate_On); -- PSL keywords Def ("a", Name_A); diff --git a/src/std_names.ads b/src/std_names.ads index 4c560eac5..1b0d8b094 100644 --- a/src/std_names.ads +++ b/src/std_names.ads @@ -687,15 +687,12 @@ package Std_Names is Name_Item : constant Name_Id := Name_First_Misc + 033; Name_Uu_File_Uu : constant Name_Id := Name_First_Misc + 034; Name_Uu_Line_Uu : constant Name_Id := Name_First_Misc + 035; - Name_Synthesis : constant Name_Id := Name_First_Misc + 036; - Name_Translate_Off : constant Name_Id := Name_First_Misc + 037; - Name_Translate_On : constant Name_Id := Name_First_Misc + 038; - Name_Label_Applies_To : constant Name_Id := Name_First_Misc + 039; - Name_Return_Port_Name : constant Name_Id := Name_First_Misc + 040; - Name_Map_To_Operator : constant Name_Id := Name_First_Misc + 041; - Name_Type_Function : constant Name_Id := Name_First_Misc + 042; - Name_Built_In : constant Name_Id := Name_First_Misc + 043; - Name_None : constant Name_Id := Name_First_Misc + 044; + Name_Label_Applies_To : constant Name_Id := Name_First_Misc + 036; + Name_Return_Port_Name : constant Name_Id := Name_First_Misc + 037; + Name_Map_To_Operator : constant Name_Id := Name_First_Misc + 038; + Name_Type_Function : constant Name_Id := Name_First_Misc + 039; + Name_Built_In : constant Name_Id := Name_First_Misc + 040; + Name_None : constant Name_Id := Name_First_Misc + 041; Name_Last_Misc : constant Name_Id := Name_None; Name_First_Ieee : constant Name_Id := Name_Last_Misc + 1; @@ -895,7 +892,11 @@ package Std_Names is Name_First_Comment : constant Name_Id := Name_Last_BSV + 1; Name_Psl : constant Name_Id := Name_First_Comment + 0; Name_Pragma : constant Name_Id := Name_First_Comment + 1; - Name_Last_Comment : constant Name_Id := Name_First_Comment + 1; + Name_Synthesis : constant Name_Id := Name_First_Comment + 2; + Name_Synopsys : constant Name_Id := Name_First_Comment + 3; + Name_Translate_Off : constant Name_Id := Name_First_Comment + 4; + Name_Translate_On : constant Name_Id := Name_First_Comment + 5; + Name_Last_Comment : constant Name_Id := Name_Translate_On; -- PSL words. Name_First_PSL : constant Name_Id := Name_Last_Comment + 1; diff --git a/src/vhdl/vhdl-scanner.adb b/src/vhdl/vhdl-scanner.adb index 1d47a76f4..aadb0d538 100644 --- a/src/vhdl/vhdl-scanner.adb +++ b/src/vhdl/vhdl-scanner.adb @@ -1835,7 +1835,8 @@ package body Vhdl.Scanner is return True; end if; when Name_Pragma - | Name_Synthesis => + | Name_Synthesis + | Name_Synopsys => if Flag_Pragma_Comment then Scan_Comment_Identifier (Id, True); case Id is |