aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-11-04 18:50:58 +0100
committerTristan Gingold <tgingold@free.fr>2019-11-04 18:50:58 +0100
commit83331b92f6763f42342303077d13a7bee505900b (patch)
treebda1d8468177daf3d4dd760a1d28d81847dce24e /src
parentb1aa6c0603351edaf0f07bacc73ded539d16ee57 (diff)
downloadghdl-83331b92f6763f42342303077d13a7bee505900b.tar.gz
ghdl-83331b92f6763f42342303077d13a7bee505900b.tar.bz2
ghdl-83331b92f6763f42342303077d13a7bee505900b.zip
vhdl-scanner: handle 'synopsys' pragma.
Diffstat (limited to 'src')
-rw-r--r--src/std_names.adb11
-rw-r--r--src/std_names.ads21
-rw-r--r--src/vhdl/vhdl-scanner.adb3
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