[arch-commits] Commit in freehdl/trunk (6 files)

Sergej Pupykin spupykin at archlinux.org
Fri May 21 17:44:04 UTC 2021


    Date: Friday, May 21, 2021 @ 17:44:03
  Author: spupykin
Revision: 940849

upgpkg: freehdl 0.0.8-11

Added:
  freehdl/trunk/acl-NULL-check.patch
  freehdl/trunk/cpp-modern.patch
  freehdl/trunk/declarative_region.patch
  freehdl/trunk/gentoo-qa.patch
  freehdl/trunk/gvhdl_tag_command.patch
Modified:
  freehdl/trunk/PKGBUILD

--------------------------+
 PKGBUILD                 |   34 +-
 acl-NULL-check.patch     |   57 +++
 cpp-modern.patch         |  680 +++++++++++++++++++++++++++++++++++++++++++++
 declarative_region.patch |   12 
 gentoo-qa.patch          |  279 ++++++++++++++++++
 gvhdl_tag_command.patch  |   13 
 6 files changed, 1070 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-05-21 17:43:13 UTC (rev 940848)
+++ PKGBUILD	2021-05-21 17:44:03 UTC (rev 940849)
@@ -4,7 +4,7 @@
 
 pkgname=freehdl
 pkgver=0.0.8
-pkgrel=10
+pkgrel=11
 pkgdesc='An open-source (C++ generating) VHDL simulator'
 arch=('x86_64')
 url='http://freehdl.seul.org'
@@ -13,18 +13,42 @@
 optdepends=('gtkwave: to view output when run standalone')
 options=('libtool')
 source=("https://downloads.sourceforge.net/qucs/$pkgname-$pkgver.tar.gz"
-	"build-fix.patch")
+	"build-fix.patch"
+	"cpp-modern.patch"
+	"acl-NULL-check.patch"
+	"declarative_region.patch"
+	"gentoo-qa.patch"
+	"gvhdl_tag_command.patch")
 sha256sums=('7f0978f8252329450de43e98c04c15fdd8a3f2bdc5ca91f75f8f5dd280c6ed84'
-            '08d49fc621d48099afcbe42c99ba25474409dbe5c16748a1cd01f50c0e1bae25')
+            '08d49fc621d48099afcbe42c99ba25474409dbe5c16748a1cd01f50c0e1bae25'
+            '86f35a7cb915bab69763808c59b295c15e198bb21f6383214027dd9ea7490867'
+            'e59323840387514be8300f088051e60e39e73b50383958c81c19c4e4575b0094'
+            '5b4b23f98b666818a0d8bd484e899960c1951631c8a21928a072e19b3c1fc6e6'
+            'bf1ed53f2b83e91e580c5300d157322cf70aeb955685fa91b1358f474efef5ff'
+            'a7e441b42f3eae61eaff681713094fbe332d3ab8685e215e21c975eb8af60036')
 
 prepare() {
   cd "${srcdir}"/$pkgname-$pkgver
-  patch -p1 -i "$srcdir"/build-fix.patch
+  rm ieee/math_real.cc \
+     ieee/numeric_bit.cc \
+     ieee/numeric_std.cc \
+     ieee/std_logic_1164.cc \
+     ieee/std_logic_arith.cc \
+     ieee/std_logic_signed.cc \
+     ieee/std_logic_unsigned.cc \
+     ieee/vital_timing.cc
+
+  #patch -p1 -i "$srcdir"/build-fix.patch
+  patch -p1 -i "$srcdir"/cpp-modern.patch
+  patch -p1 -i "$srcdir"/acl-NULL-check.patch
+  patch -p1 -i "$srcdir"/declarative_region.patch
+  patch -p1 -i "$srcdir"/gentoo-qa.patch
+  patch -p1 -i "$srcdir"/gvhdl_tag_command.patch
 }
 
 build() {
   cd "${srcdir}"/$pkgname-$pkgver
-  ./configure --prefix=/usr
+  CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=1" ./configure --prefix=/usr
   make
 }
 

Added: acl-NULL-check.patch
===================================================================
--- acl-NULL-check.patch	                        (rev 0)
+++ acl-NULL-check.patch	2021-05-21 17:44:03 UTC (rev 940849)
@@ -0,0 +1,57 @@
+--- freehdl-0.0.8.orig/kernel/sigacl_list.cc	2002-01-02 16:20:57.000000000 +0200
++++ freehdl-0.0.8/kernel/sigacl_list.cc	2020-03-30 00:16:36.155392220 +0300
+@@ -4,6 +4,7 @@
+ sigacl_list::sigacl_list(int size) {
+   count = 0;
+   list = new _items[size];
++  list_size = size;
+ }
+ 
+ 
+@@ -18,8 +19,15 @@
+ 
+ void
+ sigacl_list::add(sig_info_base *s, acl *a) {
++  if (count >= list_size)
++  {
++    std::cout << "WARNING: sigacl_list::add()" << "\n" << "list index greater than list length\n" ;
++    return;
++  }
++
+   list[count].signal = s;
+-  list[count].aclp = a->clone();
++  if (a != NULL) list[count].aclp = a->clone();
++  else list[count].aclp = NULL;
+   count++;
+ }
+ 
+--- freehdl-0.0.8.orig/freehdl/kernel-sigacl-list.hh	2000-02-03 16:50:59.000000000 +0200
++++ freehdl-0.0.8/freehdl/kernel-sigacl-list.hh	2020-03-30 00:16:34.923370868 +0300
+@@ -20,6 +20,9 @@
+   sigacl_list(int size);
+   ~sigacl_list();
+   void add(sig_info_base *s, acl *a = NULL);
++
++private:
++  int list_size;
+ };
+ 
+ 
+--- freehdl-0.0.8.orig/kernel/dump.cc	2006-07-19 22:35:05.000000000 +0300
++++ freehdl-0.0.8/kernel/dump.cc	2020-03-30 00:16:36.243393745 +0300
+@@ -24,6 +24,7 @@
+   dump_buffer.clean();
+   dump_buffer << dumped_name;
+ 
++  if (a != NULL)
+   if (!a->end())
+     for (int i = 0; i < a->get_size(); i++)
+       dump_buffer << "(" << a->get(i) << ")";
+@@ -32,6 +33,7 @@
+   reader_pointer = s->reader_pointer;
+   type = s->type;
+ 
++  if (a != NULL)
+   if (! a->end()) {
+     reader_pointer = s->type->element(s->reader_pointer, a);
+     type = s->type->get_info(s->reader_pointer, a);

Added: cpp-modern.patch
===================================================================
--- cpp-modern.patch	                        (rev 0)
+++ cpp-modern.patch	2021-05-21 17:44:03 UTC (rev 940849)
@@ -0,0 +1,680 @@
+diff -Nuar freehdl-0.0.8.orig/fire/test-fire.cc freehdl-0.0.8/fire/test-fire.cc
+--- freehdl-0.0.8.orig/fire/test-fire.cc	2006-02-16 10:56:22.000000000 +0200
++++ freehdl-0.0.8/fire/test-fire.cc	2020-03-30 02:54:42.423609306 +0300
+@@ -2,7 +2,7 @@
+ #include <stdio.h>
+ #include <freehdl/fire.h>
+ 
+-using namespace std;
++using std::cout;
+ 
+ extern tree_chunk_info fire_chunk_info;
+ 
+diff -Nuar freehdl-0.0.8.orig/freehdl/cdfggen-chunk.h freehdl-0.0.8/freehdl/cdfggen-chunk.h
+--- freehdl-0.0.8.orig/freehdl/cdfggen-chunk.h	2009-04-27 19:31:00.000000000 +0300
++++ freehdl-0.0.8/freehdl/cdfggen-chunk.h	2020-03-30 02:54:42.423609306 +0300
+@@ -7,7 +7,9 @@
+ #include <string>
+ #include <vector>
+ typedef enum {to, downto} cdfgg_direction;
+-using namespace std;
++using std::string;
++using std::vector;
++using std::pair;
+ 
+ extern tree_chunk_info cdfggen_chunk_info;
+ extern tree_ctype_info int_ctype_info;
+diff -Nuar freehdl-0.0.8.orig/freehdl/cdfggen-chunk.t freehdl-0.0.8/freehdl/cdfggen-chunk.t
+--- freehdl-0.0.8.orig/freehdl/cdfggen-chunk.t	2003-04-09 19:40:56.000000000 +0300
++++ freehdl-0.0.8/freehdl/cdfggen-chunk.t	2020-03-30 02:54:42.423609306 +0300
+@@ -13,8 +13,7 @@
+ (header-add "#include <freehdl/tree-supp.h>"
+ 	    "#include <string>"
+ 	    "#include <vector>"
+-	    "typedef enum {to, downto} cdfgg_direction;"
+-	    "using namespace std;")
++	    "typedef enum {to, downto} cdfgg_direction;")
+ 
+ (impl-add "#include <freehdl/cdfggen-chunk.h>")
+ 
+diff -Nuar freehdl-0.0.8.orig/freehdl/kernel-attributes.hh freehdl-0.0.8/freehdl/kernel-attributes.hh
+--- freehdl-0.0.8.orig/freehdl/kernel-attributes.hh	2004-11-09 20:29:33.000000000 +0200
++++ freehdl-0.0.8/freehdl/kernel-attributes.hh	2020-03-30 02:54:42.423609306 +0300
+@@ -1,6 +1,8 @@
+ #ifndef FREEHDL_KERNEL_ATTRIBUTES_H
+ #define FREEHDL_KERNEL_ATTRIBUTES_H
+ 
++using std::max;
++
+ /* *************************************************************
+  *  Function kind attributes for signals
+  * ************************************************************* */
+diff -Nuar freehdl-0.0.8.orig/freehdl/kernel-db.hh freehdl-0.0.8/freehdl/kernel-db.hh 
+--- freehdl-0.0.8.orig/freehdl/kernel-db.hh	2009-03-15 19:51:51.000000000 +0200
++++ freehdl-0.0.8/freehdl/kernel-db.hh	2020-04-22 20:56:59.646330605 +0300
+@@ -3,6 +3,11 @@
+ 
+ #include <assert.h>
+ 
++#include <string>
++#include <vector>
++using std::string;
++using std::pair;
++using std::vector;
+ 
+ /* This header file includes the definitions that are required to
+  * setup a kernel database. This database will be used by the kernel
+@@ -39,6 +44,11 @@
+ 
+ define_db_entry_type(driver_data, driver_data_entry)
+ 
++#include <string>
++#include <vector>
++using std::string;
++using std::pair;
++using std::vector;
+ 
+ // Now, create an database explorer instance. The database explorer is
+ // used to search and manipulate the database. The explorer is
+@@ -80,9 +90,11 @@
+ #include <freehdl/kernel-util.hh>
+ 
+ #if !defined __GNUC__ || __GNUC__ != 2
+-#include <ext/hash_map>
++//#include <ext/hash_map>
++#include <unordered_map>
+ #else
+-#include <hash_map>
++//#include <hash_map>
++#include <unordered_map>
+ #endif
+ 
+ // Macro used to define a key type. K is the actual type of the key
+@@ -254,10 +266,10 @@
+ 
+ // A hash function template used tp generate a hash number from
+ // d
+-class db_basic_key_hash : public hash<unsigned long> {
++class db_basic_key_hash : public std::hash<unsigned long> {
+ public:
+   size_t operator()(const db_basic_key& x) const {
+-    return (*(hash<unsigned long> *)this)(((unsigned long)x.value)>>2);
++    return (*(std::hash<unsigned long> *)this)(((unsigned long)x.value)>>2);
+   }
+ };
+ 
+@@ -266,7 +278,8 @@
+ class db : public db_base 
+ {
+   // This mappes is the actual database.
+-  typedef hash_map<void*, db_key_entry_pair, db_basic_key_hash> db_data_map_type;
++  //typedef hash_map<void*, db_key_entry_pair, db_basic_key_hash> db_data_map_type;
++  typedef std::unordered_map<void*, db_key_entry_pair, db_basic_key_hash> db_data_map_type;
+   db_data_map_type data_map;
+ 
+   // The transaction id is incremented each time a new key is added or
+diff -Nuar freehdl-0.0.8.orig/freehdl/kernel-dump.hh freehdl-0.0.8/freehdl/kernel-dump.hh
+--- freehdl-0.0.8.orig/freehdl/kernel-dump.hh	2003-04-10 18:11:23.000000000 +0300
++++ freehdl-0.0.8/freehdl/kernel-dump.hh	2020-03-30 02:54:42.439609671 +0300
+@@ -13,9 +13,9 @@
+ #include <string>
+ #include <fstream>
+ 
+-using namespace std;
++using std::fstream;
+ 
+-typedef map<string, char*, less<string> > Tmap;
++typedef map<string, const char*, less<string> > Tmap;
+ extern Tmap mapping_translation_table;
+ 
+ // For each signal which is dumped an virtual process is created. This
+diff -Nuar freehdl-0.0.8.orig/freehdl/kernel-fhdl-stream.hh freehdl-0.0.8/freehdl/kernel-fhdl-stream.hh
+--- freehdl-0.0.8.orig/freehdl/kernel-fhdl-stream.hh	2005-02-15 12:02:31.000000000 +0200
++++ freehdl-0.0.8/freehdl/kernel-fhdl-stream.hh	2020-03-30 02:54:42.439609671 +0300
+@@ -9,7 +9,9 @@
+ #include <string>
+ #include <iostream>
+ 
+-using namespace std;
++using std::istream;
++using std::ostream;
++using std::string;
+ 
+ struct fhdl_ostream_t {
+   union {
+diff -Nuar freehdl-0.0.8.orig/freehdl/kernel-map-list.hh freehdl-0.0.8/freehdl/kernel-map-list.hh
+--- freehdl-0.0.8.orig/freehdl/kernel-map-list.hh	2003-07-08 15:17:35.000000000 +0300
++++ freehdl-0.0.8/freehdl/kernel-map-list.hh	2020-03-30 02:54:42.439609671 +0300
+@@ -7,7 +7,6 @@
+ #include <freehdl/kernel-acl.hh>
+ #include <freehdl/kernel-sig-info.hh>
+ 
+-using namespace std;
+ //using namespace __gnu_cxx;
+ 
+ // A signal_link instance describes the connection
+@@ -163,9 +162,11 @@
+ #include <list>
+ 
+ #if !defined __GNUC__ || __GNUC__ != 2
+-#include <ext/hash_map>
++//#include <ext/hash_map>
++#include <unordered_map>
+ #else
+-#include <hash_map>
++//#include <hash_map>
++#include <unordered_map>
+ #endif
+ 
+ #include <freehdl/kernel-util.hh>
+@@ -262,7 +263,7 @@
+ };
+ 
+ 
+-typedef hash_map<sig_info_base *, list<fl_link>, pointer_hash<sig_info_base *> > port_signal_link_map_t;
++typedef std::unordered_map<sig_info_base *, list<fl_link>, pointer_hash<sig_info_base *> > port_signal_link_map_t;
+ 
+ // Stores the father signal(s) of port signals
+ extern port_signal_link_map_t port_signal_link_map;
+diff -Nuar freehdl-0.0.8.orig/freehdl/kernel-name-stack.hh freehdl-0.0.8/freehdl/kernel-name-stack.hh
+--- freehdl-0.0.8.orig/freehdl/kernel-name-stack.hh	2003-04-09 19:10:06.000000000 +0300
++++ freehdl-0.0.8/freehdl/kernel-name-stack.hh	2020-03-30 02:54:42.439609671 +0300
+@@ -3,7 +3,7 @@
+ 
+ #include <string>
+ 
+-using namespace std;
++using std::string;
+ 
+ #define NAME_STACK_INCREMENT 10
+ 
+diff -Nuar freehdl-0.0.8.orig/freehdl/kernel-signal-source-list-array.hh freehdl-0.0.8/freehdl/kernel-signal-source-list-array.hh
+--- freehdl-0.0.8.orig/freehdl/kernel-signal-source-list-array.hh	2006-02-16 10:56:22.000000000 +0200
++++ freehdl-0.0.8/freehdl/kernel-signal-source-list-array.hh	2020-03-30 02:54:42.439609671 +0300
+@@ -4,16 +4,17 @@
+ #ifdef KERNEL
+ 
+ #if !defined __GNUC__ || __GNUC__ != 2
+-#include <ext/hash_map>
++//#include <ext/hash_map>
++#include <unordered_map>
+ #else
+-#include <hash_map>
++//#include <hash_map>
++#include <unordered_map>
+ #endif
+ 
+ #include <list>
+ #include <freehdl/kernel-util.hh>
+ #include <freehdl/kernel-source-descriptor.hh>
+ 
+-using namespace std;
+ //using namespace __gnu_cxx;
+ 
+ // signal_source stores information about a source of a signal. Note
+@@ -105,7 +106,7 @@
+ // a map stores the sources for each signal. Note that each signal is
+ // associated with a vector of signal_source_list pointers (included
+ // in signal_source_list_array).
+-typedef hash_map<sig_info_base *, signal_source_list_array, pointer_hash<sig_info_base *> > signal_source_map_t;
++typedef std::unordered_map<sig_info_base *, signal_source_list_array, pointer_hash<sig_info_base *> > signal_source_map_t;
+ extern signal_source_map_t signal_source_map;
+ 
+ #endif
+diff -Nuar freehdl-0.0.8.orig/freehdl/kernel-util.hh freehdl-0.0.8/freehdl/kernel-util.hh 
+--- freehdl-0.0.8.orig/freehdl/kernel-util.hh	2008-02-15 20:30:07.000000000 +0200
++++ freehdl-0.0.8/freehdl/kernel-util.hh	2020-04-22 20:36:48.558615436 +0300
+@@ -10,24 +10,28 @@
+ #include <string>
+ 
+ #if !defined __GNUC__ || __GNUC__ != 2
+-#include <ext/hash_map>
++//#include <ext/hash_map>
++#include <unordered_map>
+ #else
+-#include <hash_map>
++//#include <hash_map>
++#include <unordered_map>
+ #endif
+ 
+-using namespace std;
++using std::stringstream;
++using std::string;
++
+ 
+ #if !defined __GNUC__ || __GNUC__ != 2
+-using namespace __gnu_cxx;
++//using namespace __gnu_cxx;
+ #endif
+ 
+ // A hash function template used tp generate a hash number from
+ // pointer values.
+ template<class T>
+-class pointer_hash : public hash<unsigned long> {
++class pointer_hash : public std::hash<unsigned long> {
+ public:
+   size_t operator()(const T& x) const {
+-    return (*(hash<unsigned long> *)this)(((unsigned long)x)>>2);
++    return (*(std::hash<unsigned long> *)this)(((unsigned long)x)>>2);
+   }
+ };
+
+diff -Nuar freehdl-0.0.8.orig/freehdl/std.h freehdl-0.0.8/freehdl/std.h
+--- freehdl-0.0.8.orig/freehdl/std.h	2003-04-09 19:10:06.000000000 +0300
++++ freehdl-0.0.8/freehdl/std.h	2020-03-30 02:54:42.439609671 +0300
+@@ -1,7 +1,6 @@
+ #ifndef FREEHDL_STD_H
+ #define FREEHDL_STD_H
+ 
+-using namespace std;
+ 
+ #include <freehdl/std-standard.hh>
+ #include <freehdl/std-vhdl-types.hh>
+diff -Nuar freehdl-0.0.8.orig/freehdl/std-vhdl-types.hh freehdl-0.0.8/freehdl/std-vhdl-types.hh
+--- freehdl-0.0.8.orig/freehdl/std-vhdl-types.hh	2008-02-15 18:31:41.000000000 +0200
++++ freehdl-0.0.8/freehdl/std-vhdl-types.hh	2020-03-30 02:54:42.443609762 +0300
+@@ -6,13 +6,24 @@
+ #include <float.h>
+ #include <math.h>
+ #include <iostream>
++#include <map>
++#include <list>
++#include <functional>
+ #include <string.h>
+ 
+ #include <freehdl/std-memory.hh>
+ #include <freehdl/kernel-error.hh>
+ #include <freehdl/kernel-acl.hh>
+ 
+-using namespace std;
++using std::string;
++using std::istream;
++using std::ostream;
++using std::min;
++using std::map;
++using std::stringstream;
++using std::list;
++using std::less;
++using std::iostream;
+ 
+ typedef long long int lint;
+ const int BUFFER_STREAM_SIZE_INCREMENT = 1024;
+diff -Nuar freehdl-0.0.8.orig/freehdl/vaul-lexer.h freehdl-0.0.8/freehdl/vaul-lexer.h
+--- freehdl-0.0.8.orig/freehdl/vaul-lexer.h	2009-04-21 22:37:36.000000000 +0300
++++ freehdl-0.0.8/freehdl/vaul-lexer.h	2020-03-30 02:54:42.443609762 +0300
+@@ -32,7 +32,6 @@
+ #include <stdarg.h>
+ #include <string.h>
+ 
+-using namespace std;
+ 
+ #undef yyFlexLexer
+ #define yyFlexLexer vaul_FlexLexer
+diff -Nuar freehdl-0.0.8.orig/kernel/attributes.cc freehdl-0.0.8/kernel/attributes.cc
+--- freehdl-0.0.8.orig/kernel/attributes.cc	2004-11-09 20:29:33.000000000 +0200
++++ freehdl-0.0.8/kernel/attributes.cc	2020-03-30 02:54:42.443609762 +0300
+@@ -5,6 +5,7 @@
+ #include <freehdl/kernel-kernel-class.hh>
+ #include <freehdl/kernel-reader-info.hh>
+ #include <freehdl/kernel-driver-info.hh>
++using std::max;
+ #include <freehdl/kernel-attributes.hh>
+ 
+ 
+diff -Nuar freehdl-0.0.8.orig/kernel/db.cc freehdl-0.0.8/kernel/db.cc
+--- freehdl-0.0.8.orig/kernel/db.cc	2005-05-04 17:44:11.000000000 +0300
++++ freehdl-0.0.8/kernel/db.cc	2020-03-30 02:54:42.447609853 +0300
+@@ -1,6 +1,5 @@
+ #define KERNEL // Include internal kernel definitions
+ 
+-using namespace std;
+ #include <freehdl/kernel-db.hh>
+ 
+ 
+diff -Nuar freehdl-0.0.8.orig/kernel/fhdl_stream.cc freehdl-0.0.8/kernel/fhdl_stream.cc
+--- freehdl-0.0.8.orig/kernel/fhdl_stream.cc	2006-01-12 10:05:01.000000000 +0200
++++ freehdl-0.0.8/kernel/fhdl_stream.cc	2020-03-30 02:54:42.447609853 +0300
+@@ -7,6 +7,9 @@
+ #include <freehdl/kernel-error.hh>
+ #include <freehdl/kernel-fhdl-stream.hh>
+ 
++using std::cin;
++using std::cout;
++using std::stringstream;
+ 
+ // Error stream to output error messages generated by the kernel,
+ // e.g. to print error messages due to invalid simulator commands
+diff -Nuar freehdl-0.0.8.orig/kernel/kernel_class.cc freehdl-0.0.8/kernel/kernel_class.cc
+--- freehdl-0.0.8.orig/kernel/kernel_class.cc	2009-10-11 19:34:19.000000000 +0300
++++ freehdl-0.0.8/kernel/kernel_class.cc	2020-03-30 02:54:42.447609853 +0300
+@@ -15,6 +15,15 @@
+ #include <freehdl/kernel-resolver-process.hh>
+ #include <freehdl/kernel-resolver-descriptor.hh>
+ #include <freehdl/kernel-fhdl-stream.hh>
++#include <algorithm>
++
++using std::cerr;
++using std::pair;
++using std::binary_function;
++
++using std::cerr;
++using std::pair;
++using std::binary_function;
+ 
+ // Arguments that are passed in form the command line
+ int main_argc;
+@@ -678,7 +687,7 @@
+   // list associated with the various reader infos. Identical lists
+   // are replaced by appropriate pointers to a single list in order to
+   // save memory.
+-  typedef hash_multimap<unsigned int, reader_info *> wait_elements_map_t;
++  typedef std::unordered_multimap<unsigned int, reader_info *> wait_elements_map_t;
+   wait_elements_map_t wait_elements_map;
+ 
+   // Setup connection to the kernel data base
+diff -Nuar freehdl-0.0.8.orig/kernel/main.cc freehdl-0.0.8/kernel/main.cc
+--- freehdl-0.0.8.orig/kernel/main.cc	2009-03-15 20:48:13.000000000 +0200
++++ freehdl-0.0.8/kernel/main.cc	2020-03-30 02:54:42.447609853 +0300
+@@ -34,6 +34,15 @@
+ #include <freehdl/kernel-error.hh>
+ #include <freehdl/kernel-fhdl-stream.hh>
+ 
++using std::ios;
++using std::ifstream;
++using std::ofstream;
++using std::ostringstream;
++using std::cin;
++using std::cerr;
++using std::cout;
++using std::endl;
++
+ #ifdef PERFMON_STATISTICS
+ #include "pcounter.hh"
+ #endif
+diff -Nuar freehdl-0.0.8.orig/kernel/map_list.cc freehdl-0.0.8/kernel/map_list.cc
+--- freehdl-0.0.8.orig/kernel/map_list.cc	2006-02-16 10:56:22.000000000 +0200
++++ freehdl-0.0.8/kernel/map_list.cc	2020-03-30 02:54:42.447609853 +0300
+@@ -3,6 +3,12 @@
+ #include <freehdl/kernel-error.hh>
+ #include <freehdl/kernel-sig-info.hh>
+ #include <freehdl/kernel-resolver-descriptor.hh>
++#include <algorithm>
++
++
++using std::max;
++
++using std::max;
+ 
+ // Stores the father signal(s) of port signals
+ port_signal_link_map_t port_signal_link_map;
+diff -Nuar freehdl-0.0.8.orig/kernel/name_stack.cc freehdl-0.0.8/kernel/name_stack.cc
+--- freehdl-0.0.8.orig/kernel/name_stack.cc	2000-09-20 11:41:14.000000000 +0300
++++ freehdl-0.0.8/kernel/name_stack.cc	2020-03-30 02:54:42.447609853 +0300
+@@ -1,8 +1,10 @@
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <stack>
+ #include <freehdl/kernel-error.hh>
+ #include <freehdl/kernel-name-stack.hh>
+ 
++using std::stack;
+ 
+ name_stack instance_name;
+ 
+diff -Nuar freehdl-0.0.8.orig/kernel/persistent_cdfg_dump.cc freehdl-0.0.8/kernel/persistent_cdfg_dump.cc
+--- freehdl-0.0.8.orig/kernel/persistent_cdfg_dump.cc	2006-02-16 10:56:22.000000000 +0200
++++ freehdl-0.0.8/kernel/persistent_cdfg_dump.cc	2020-03-30 02:54:42.447609853 +0300
+@@ -3,6 +3,7 @@
+ #include <freehdl/kernel-persistent-cdfg-dump.hh>
+ #include <freehdl/kernel-persistent-dump.hh>
+ 
++using std::endl;
+ 
+ buffer_stream register_cdfg_tmp_buffer;
+ 
+diff -Nuar freehdl-0.0.8.orig/kernel/sig_info.cc freehdl-0.0.8/kernel/sig_info.cc
+--- freehdl-0.0.8.orig/kernel/sig_info.cc	2009-03-15 20:23:09.000000000 +0200
++++ freehdl-0.0.8/kernel/sig_info.cc	2020-03-30 02:54:42.451609945 +0300
+@@ -1,6 +1,5 @@
+ #define KERNEL // Include internal kernel definitions
+ 
+-using namespace std;
+ #include <freehdl/kernel-error.hh>
+ #include <freehdl/kernel-db.hh>
+ #include <freehdl/kernel-sig-info.hh>
+diff -Nuar freehdl-0.0.8.orig/std/internal_textio.cc freehdl-0.0.8/std/internal_textio.cc
+--- freehdl-0.0.8.orig/std/internal_textio.cc	2006-01-26 09:41:24.000000000 +0200
++++ freehdl-0.0.8/std/internal_textio.cc	2020-03-30 02:54:42.451609945 +0300
+@@ -10,6 +10,10 @@
+ #include <freehdl/kernel-name-stack.hh>
+ #include <freehdl/kernel-register.hh>
+ 
++using std::ios;
++using std::cin;
++using std::cout;
++
+ /* package :std:textio */
+ 
+ /* Definitions for access type :std:textio:line */
+diff -Nuar freehdl-0.0.8.orig/std/vhdl_types.cc freehdl-0.0.8/std/vhdl_types.cc
+--- freehdl-0.0.8.orig/std/vhdl_types.cc	2009-03-15 20:56:57.000000000 +0200
++++ freehdl-0.0.8/std/vhdl_types.cc	2020-03-30 02:54:42.451609945 +0300
+@@ -12,6 +12,9 @@
+ #include <freehdl/kernel-register.hh>
+ 
+ 
++using std::ios;
++using std::ifstream;
++using std::ofstream;
+ 
+ /* *************************************************************
+  *  Some global functions
+diff -Nuar freehdl-0.0.8.orig/v2cc/mapping.cc freehdl-0.0.8/v2cc/mapping.cc
+--- freehdl-0.0.8.orig/v2cc/mapping.cc	2008-02-15 20:11:15.000000000 +0200
++++ freehdl-0.0.8/v2cc/mapping.cc	2020-03-30 02:54:42.451609945 +0300
+@@ -34,7 +34,12 @@
+ #include <iostream>
+ #include <stdlib.h>
+ 
+-using namespace std;
++using std::string;
++using std::list;
++using std::map;
++using std::istream;
++using std::ifstream;
++using std::cerr;
+ 
+ v2cc_mapper::v2cc_mapper ()
+ {
+diff -Nuar freehdl-0.0.8.orig/v2cc/v2cc.cc freehdl-0.0.8/v2cc/v2cc.cc
+--- freehdl-0.0.8.orig/v2cc/v2cc.cc	2010-04-13 22:43:30.000000000 +0300
++++ freehdl-0.0.8/v2cc/v2cc.cc	2020-03-30 02:54:42.451609945 +0300
+@@ -35,7 +35,6 @@
+ 
+ */
+ 
+-using namespace std;
+ 
+ #if HAVE_MALLOC_H
+ #include <malloc.h>
+diff -Nuar freehdl-0.0.8.orig/v2cc/v2cc-const-fold.cc freehdl-0.0.8/v2cc/v2cc-const-fold.cc
+--- freehdl-0.0.8.orig/v2cc/v2cc-const-fold.cc	2008-02-15 20:13:19.000000000 +0200
++++ freehdl-0.0.8/v2cc/v2cc-const-fold.cc	2020-03-30 02:54:42.451609945 +0300
+@@ -16,6 +16,9 @@
+ #include "v2cc-util.h"
+ 
+ 
++using std::cerr;
++using std::max;
++using std::min;
+ 
+ // Used to generate error messages
+ extern vaul_error_printer codegen_error;
+diff -Nuar freehdl-0.0.8.orig/v2cc/v2cc-decl.cc freehdl-0.0.8/v2cc/v2cc-decl.cc
+--- freehdl-0.0.8.orig/v2cc/v2cc-decl.cc	2010-05-08 15:15:38.000000000 +0300
++++ freehdl-0.0.8/v2cc/v2cc-decl.cc	2020-03-30 02:54:42.451609945 +0300
+@@ -13,6 +13,9 @@
+ #include "mapping.h"
+ #include "v2cc-util.h"
+ 
++using std::endl;
++using std::min;
++using std::max;
+ 
+ void test (RegionStack &rstack)
+ {
+diff -Nuar freehdl-0.0.8.orig/v2cc/v2cc-explore.cc freehdl-0.0.8/v2cc/v2cc-explore.cc
+--- freehdl-0.0.8.orig/v2cc/v2cc-explore.cc	2010-04-12 21:40:40.000000000 +0300
++++ freehdl-0.0.8/v2cc/v2cc-explore.cc	2020-03-30 02:54:42.455610036 +0300
+@@ -15,7 +15,6 @@
+ #include "mapping.h"
+ #include "v2cc-util.h"
+ 
+-using namespace std;
+ 
+ // Used to generate error messages
+ extern vaul_error_printer codegen_error;
+diff -Nuar freehdl-0.0.8.orig/v2cc/v2cc.h freehdl-0.0.8/v2cc/v2cc.h
+--- freehdl-0.0.8.orig/v2cc/v2cc.h	2006-03-17 11:22:55.000000000 +0200
++++ freehdl-0.0.8/v2cc/v2cc.h	2020-03-30 02:54:42.463610219 +0300
+@@ -1,7 +1,17 @@
+ #ifndef V2CC_HEADER
+ #define V2CC_HEADER
+ 
+-using namespace std;
++using std::vector;
++using std::list;
++using std::string;
++using std::pair;
++using std::string;
++using std::set;
++using std::less;
++using std::deque;
++using std::binary_function;
++using std::map;
++using std::binary_function;
+ 
+ #include <freehdl/vaul.h>
+ #include "mapping.h"
+diff -Nuar freehdl-0.0.8.orig/v2cc/v2cc-qid.cc freehdl-0.0.8/v2cc/v2cc-qid.cc
+--- freehdl-0.0.8.orig/v2cc/v2cc-qid.cc	2006-02-16 10:56:22.000000000 +0200
++++ freehdl-0.0.8/v2cc/v2cc-qid.cc	2020-03-30 02:54:42.463610219 +0300
+@@ -4,6 +4,7 @@
+ #include "v2cc-util.h"
+ 
+ 
++using std::endl;
+ 
+ // ******************************************************************************************
+ // Name: m_qid , generic function
+diff -Nuar freehdl-0.0.8.orig/v2cc/v2cc-util.cc freehdl-0.0.8/v2cc/v2cc-util.cc
+--- freehdl-0.0.8.orig/v2cc/v2cc-util.cc	2009-04-19 01:51:38.000000000 +0300
++++ freehdl-0.0.8/v2cc/v2cc-util.cc	2020-03-30 02:54:42.463610219 +0300
+@@ -9,6 +9,9 @@
+ 
+ #include "v2cc-util.h"
+ 
++using std::endl;
++using std::hex;
++using std::dec;
+ 
+ // ******************************************************************************************
+ // Some global variables
+diff -Nuar freehdl-0.0.8.orig/v2cc/v2cc-util.h freehdl-0.0.8/v2cc/v2cc-util.h
+--- freehdl-0.0.8.orig/v2cc/v2cc-util.h	2007-10-23 23:13:29.000000000 +0300
++++ freehdl-0.0.8/v2cc/v2cc-util.h	2020-03-30 02:55:06.160150752 +0300
+@@ -2,12 +2,19 @@
+ #ifndef V2CC_UTIL_H 
+ #define V2CC_UTIL_H
+ 
+-using namespace std;
+ 
+ #include <sstream>
+ #include <iomanip>
+ #include <freehdl/vaul.h>
+ #include "v2cc-chunk.h"
++#include <type_traits>
++
++using std::stringstream;
++using std::setprecision;
++using std::showpoint;
++using std::ofstream;
++using std::cout;
++using std::to_string;
+ 
+ // ******************************************************************************************
+ // Some global variables
+@@ -242,7 +249,8 @@
+ 
+ /* Convert an integer value into a string */
+ template <class T>
+-inline string
++//inline string
++inline typename std::enable_if<!std::is_floating_point<T>::value, std::string>::type
+ to_string(T i)
+ {
+   stringstream lstr;
+@@ -250,6 +258,8 @@
+   return lstr.str();
+ }
+ 
++
++/*
+ inline string
+ to_string(double i)
+ {
+@@ -266,6 +276,7 @@
+     return str + ".0";
+ #endif
+ }
++*/
+ 
+ /* Print scalar value into a string */
+ string
+diff -Nuar freehdl-0.0.8.orig/vaul/bison-parser.cc freehdl-0.0.8/vaul/bison-parser.cc
+--- freehdl-0.0.8.orig/vaul/bison-parser.cc	2009-10-11 19:24:48.000000000 +0300
++++ freehdl-0.0.8/vaul/bison-parser.cc	2020-03-30 02:54:42.467610310 +0300
+@@ -86,7 +86,6 @@
+ #include <malloc.h>
+ #endif
+ 
+-using namespace std;
+ 
+ #define YYINITDEPTH 10000
+ #define YYMAXDEPTH 100000
+diff -Nuar freehdl-0.0.8.orig/vaul/bison-parser.yy freehdl-0.0.8/vaul/bison-parser.yy
+--- freehdl-0.0.8.orig/vaul/bison-parser.yy	2006-02-16 10:56:23.000000000 +0200
++++ freehdl-0.0.8/vaul/bison-parser.yy	2020-03-30 02:54:42.471610401 +0300
+@@ -49,7 +49,6 @@
+ #include <malloc.h>
+ #endif
+ 
+-using namespace std;
+ 
+ #define YYINITDEPTH 10000
+ #define YYMAXDEPTH 100000
+diff -Nuar freehdl-0.0.8.orig/vaul/printer.cc freehdl-0.0.8/vaul/printer.cc
+--- freehdl-0.0.8.orig/vaul/printer.cc	2007-10-23 23:52:52.000000000 +0300
++++ freehdl-0.0.8/vaul/printer.cc	2020-03-30 02:54:42.471610401 +0300
+@@ -27,7 +27,8 @@
+ #include <string.h>
+ #include <sstream>
+ 
+-using namespace std;
++using std::ostringstream;
++using std::ostream;
+ 
+ void vaul_printer::printf (const char *fmt, ...)
+ {
+diff -Nuar freehdl-0.0.8.orig/vaul/tree.cc freehdl-0.0.8/vaul/tree.cc
+--- freehdl-0.0.8.orig/vaul/tree.cc	2005-02-28 19:40:13.000000000 +0200
++++ freehdl-0.0.8/vaul/tree.cc	2020-03-30 02:54:42.471610401 +0300
+@@ -31,7 +31,7 @@
+ #include <assert.h>
+ #include <stdlib.h>
+ 
+-using namespace std;
++using std::ostream;
+ 
+ vaul_id_set::vaul_id_set(int dummy)
+ {

Added: declarative_region.patch
===================================================================
--- declarative_region.patch	                        (rev 0)
+++ declarative_region.patch	2021-05-21 17:44:03 UTC (rev 940849)
@@ -0,0 +1,12 @@
+--- freehdl-0.0.8.orig/vaul/expr.cc	2007-10-23 22:33:45.000000000 +0300
++++ freehdl-0.0.8/vaul/expr.cc	2018-03-04 17:47:04.703969598 +0200
+@@ -2631,6 +2631,9 @@
+   // XXX - every constant interface thing expect in a subprogram is a
+   // generic?
+ 
++  assert(d);
++  if (!d->declarative_region) return IR_NOT_STATIC;
++  assert(d->declarative_region);
+   if (!d->declarative_region->is (IR_SUBPROGRAM_DECLARATION))
+     return IR_GLOBALLY_STATIC;
+   return IR_NOT_STATIC;

Added: gentoo-qa.patch
===================================================================
--- gentoo-qa.patch	                        (rev 0)
+++ gentoo-qa.patch	2021-05-21 17:44:03 UTC (rev 940849)
@@ -0,0 +1,279 @@
+Fix various QA issues:
+* Use correct printf format specifiers for 'size_t'
+* Fix const correctness ('char*' -> 'const char*') for C-string literals
+* Correctly forward declare inline functions
+
+--- a/fire/test-fire.cc
++++ b/fire/test-fire.cc
+@@ -24,7 +24,7 @@
+       if (k->size < (size_t) N)
+ 	sizes[k->size]++;
+       if (k->size % 4 !=0)
+-	printf ("odd size: %d\n", k->size);
++	printf ("odd size: %zu\n", k->size);
+     }
+   printf ("min = %d, max = %d\n", min, max);
+   for (int i = min; i <= max && i < N; i+=4)
+--- a/fire/tree-supp.cc
++++ b/fire/tree-supp.cc
+@@ -485,7 +485,7 @@
+   if (size < (size_t) N)
+     sizes[size]++;
+   if (size % 4 !=0)
+-    printf ("odd size: %d\n", size);
++    printf ("odd size: %zu\n", size);
+ }
+  
+ void
+--- a/freehdl/kernel-dump.hh
++++ b/freehdl/kernel-dump.hh
+@@ -42,9 +42,9 @@
+   short wait_id;
+   // This function will return an appropriate table entry (if
+   // available)
+-  char *find_table(type_info_interface* type);
++  const char *find_table(type_info_interface* type);
+   //this variable is used by the read_type function
+-  char* translation_table;
++  const char* translation_table;
+   // This method is executed each time the signal value changes
+   bool execute();
+   // Continue dumping the signal.
+@@ -77,7 +77,7 @@
+ extern list<signal_dump*> signal_dump_process_list;
+ 
+ // Used to store the user_defined translation table types
+-extern  map<string, char*, less<string> >  mapping_translation_table;
++extern  map<string, const char*, less<string> >  mapping_translation_table;
+ 
+ 
+ /******************************************************
+--- a/freehdl/kernel-fhdl-stream.hh
++++ b/freehdl/kernel-fhdl-stream.hh
+@@ -29,7 +31,7 @@
+       str->flush();
+   }
+ 
+-  fhdl_ostream_t &operator<<(char *p);
++  fhdl_ostream_t &operator<<(const char *p);
+   fhdl_ostream_t &operator<<(const string &a);
+   fhdl_ostream_t &operator<<(const int i);
+   fhdl_ostream_t &operator<<(const unsigned int i);
+--- a/freehdl/std-vhdl-types.hh
++++ b/freehdl/std-vhdl-types.hh
+@@ -607,7 +618,7 @@
+   // which caused the failure or NULL otherwise.
+   virtual const char *read(void *dest, const char *str) = 0;
+   // Prints the content of src into an string stream in VCD format
+-  virtual void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) = 0;
++  virtual void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) = 0;
+   // Prints value into binary stream. Note that only the raw data but
+   // no type info objects are written! The method returns the number
+   // of bytes written to the stream.
+@@ -785,7 +796,7 @@
+   bool assign(void *dest, const void *src);
+   void remove(void *src);
+   void print(buffer_stream &str, const void *src, int mode);
+-  void vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure);
++  void vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure);
+   const char *read(void *dest, const char *str);
+ 
+   integer check(integer value) {
+@@ -821,7 +832,7 @@
+   bool assign(void *dest, const void *src);
+   void remove(void *src);
+   void print(buffer_stream &str, const void *src, int mode);
+-  void vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure) {};
++  void vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure) {};
+   const char *read(void *dest, const char *str);
+ };
+ 
+@@ -849,7 +860,7 @@
+   bool assign(void *dest, const void *src);
+   void remove(void *src);
+   void print(buffer_stream &str, const void *src, int mode) {};
+-  void vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure) {};
++  void vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure) {};
+   const char *read(void *dest, const char *str);
+ };
+ 
+@@ -879,7 +890,7 @@
+   bool assign(void *dest, const void *src);
+   void remove(void *src);
+   void print(buffer_stream &str, const void *src, int mode);
+-  void vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure);
++  void vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure);
+   const char *read(void *dest, const char *str);
+ 
+   floatingpoint check(floatingpoint value) {
+@@ -914,7 +925,7 @@
+   bool assign(void *dest, const void *src);
+   void remove(void *src);
+   void print(buffer_stream &str, const void *src, int mode);
+-  void vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure);
++  void vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure);
+   const char *read(void *dest, const char *str);
+ 
+   enumeration check(integer value) {
+@@ -954,7 +965,7 @@
+   bool assign(void *dest, const void *src);
+   void remove(void *src);
+   void print(buffer_stream &str, const void *src, int mode);
+-  void vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure) ;
++  void vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure) ;
+   const char *read(void *dest, const char *str);
+    
+   physical check(physical value) {
+@@ -1087,7 +1098,7 @@
+   bool assign(void *dest, const void *src) { return false; };
+   void remove(void *src);
+   void print(buffer_stream &str, const void *src, int mode);
+-  void vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure) ;
++  void vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure) ;
+   const char *read(void *dest, const char *str);
+ };
+ 
+@@ -1230,7 +1241,7 @@
+   bool assign(void *dest, const void *src) { return false; };
+   void remove(void *src);
+   void print(buffer_stream &str, const void *src, int mode);
+-  void vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure);
++  void vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure);
+   const char *read(void *dest, const char *str);
+ };
+ 
+--- a/freehdl/vaul-lexer.h
++++ b/freehdl/vaul-lexer.h
+@@ -115,7 +114,7 @@
+   IR_String expand_bitstring(const char *, int len);
+   
+   int LexerInput(char *buf, int max_size);
+-  void LexerError(char *msg);
++  void LexerError(const char *msg);
+   void message(char *fmt, va_list ap);
+   void message(vaul_yyltype &loc, char *fmt, va_list ap);
+ 
+--- a/kernel/driver_info.cc
++++ b/kernel/driver_info.cc
+@@ -270,6 +270,7 @@
+ 
+ 
+ // Creates transaction composite signals. Returns number of assigned scalars.
++inline int do_record_transport_assignment(driver_info &, const record_base &, int, const vtime &);
+ inline int
+ do_array_transport_assignment(driver_info &driver, const array_base &value, int first, const vtime &tr_time) 
+ {
+@@ -311,7 +312,6 @@
+ 	assigned_scalars += do_array_transport_assignment(driver, (array_base&)value.data[j], i, tr_time);
+ 	break;
+       case RECORD:
+-	inline int do_record_transport_assignment(driver_info &, const record_base &, int, const vtime &);
+ 	assigned_scalars += do_record_transport_assignment(driver, (record_base&)value.data[j], i, tr_time);
+ 	break;
+       }
+@@ -339,6 +339,7 @@
+ 
+ 
+ // Creates transaction for composite signals. Returns number of assigned scalars.
++inline int do_record_inertial_assignment(driver_info &, const record_base &, int, const vtime &, const vtime &); 
+ inline int
+ do_array_inertial_assignment(driver_info &driver,
+ 			     const array_base &value, int first, 
+@@ -381,8 +382,6 @@
+ 	assigned_scalars += do_array_inertial_assignment(driver, (array_base&)value.data[j], i, tr_time, rm_time);
+ 	break;
+       case RECORD:
+-	inline int do_record_inertial_assignment(driver_info &, const record_base &, int,  
+-						  const vtime &, const vtime &); 
+ 	assigned_scalars += do_record_inertial_assignment(driver, (record_base&)value.data[j], i, tr_time, rm_time);
+ 	break;
+       }
+--- a/kernel/dump.cc
++++ b/kernel/dump.cc
+@@ -90,7 +90,7 @@
+ 
+ 
+ // find_translation table
+-char *
++const char *
+ signal_dump::find_table(type_info_interface* type)
+ {
+   switch(type->id)
+--- a/kernel/fhdl_stream.cc
++++ b/kernel/fhdl_stream.cc
+@@ -60,7 +63,7 @@
+ }
+ 
+ fhdl_ostream_t &
+-fhdl_ostream_t::operator<<(char *p) 
++fhdl_ostream_t::operator<<(const char *p) 
+ {
+   if (!socket_connection)
+     *str << p;
+--- a/std/vhdl_types.cc
++++ b/std/vhdl_types.cc
+@@ -1013,7 +1016,7 @@
+ }
+ 
+ void
+-integer_info_base::vcd_print(buffer_stream  &str, const void *src,char* translation_table,  bool pure) 
++integer_info_base::vcd_print(buffer_stream  &str, const void *src, const char* translation_table,  bool pure) 
+ {
+  integer op =*((integer*)src);
+  static char result[INTEGER_SIZE_LD + 1];
+@@ -1306,7 +1309,7 @@
+ }
+ 
+ void
+-float_info_base::vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure) {
++float_info_base::vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure) {
+   // should be definitly enough characters to hold a string
+   // representation of a double
+   static char rbuffer[8*sizeof(double)]; 
+@@ -1432,7 +1435,7 @@
+ 
+ 
+ void
+-enum_info_base::vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure) 
++enum_info_base::vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure) 
+ {
+   if (translation_table != NULL) {
+     const char output = translation_table[*((enumeration*)src)];
+@@ -1583,7 +1586,7 @@
+ }
+ 
+ void
+-physical_info_base::vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure) {
++physical_info_base::vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure) {
+   str << *((physical*)src) << " " << units[0];
+ }
+ 
+@@ -1778,7 +1781,7 @@
+ }
+ 
+ // Temporary VCD_Print function
+-void array_info::vcd_print(buffer_stream  &str, const void *src,char* translation_table, bool pure)
++void array_info::vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure)
+ {
+   //str.clean();
+   int length = ((array_base*)src)->info->length;
+@@ -2090,7 +2093,7 @@
+ 
+ 
+ // Temporary VCD_Print function
+-void record_info::vcd_print(buffer_stream  &str, const void *src, char* translation_table, bool pure)
++void record_info::vcd_print(buffer_stream  &str, const void *src, const char* translation_table, bool pure)
+ {
+   record_base &record = *(record_base*)src;
+   record_info &rinfo = *record.info;
+--- a/vaul/lexer.cc
++++ b/vaul/lexer.cc
+@@ -2075,7 +2075,7 @@
+ }
+ 
+ void
+-vaul_lexer::LexerError (char *m)
++vaul_lexer::LexerError (const char *m)
+ {
+   if (prt)
+     prt->fprintf (log, "%?%s %C\n", this, m, this);

Added: gvhdl_tag_command.patch
===================================================================
--- gvhdl_tag_command.patch	                        (rev 0)
+++ gvhdl_tag_command.patch	2021-05-21 17:44:03 UTC (rev 940849)
@@ -0,0 +1,13 @@
+Index: freehdl-0.0.8/v2cc/gvhdl.in
+===================================================================
+--- freehdl-0.0.8.orig/v2cc/gvhdl.in	2011-03-12 14:16:47.000000000 +0100
++++ freehdl-0.0.8/v2cc/gvhdl.in	2014-08-25 13:00:00.086254980 +0200
+@@ -5,7 +5,7 @@
+ 
+ my $cc = "@CXX@";
+ my $libtool = "@SYSTEM_LIBTOOL@";
+-my $libtool_options = "--mode=link";
++my $libtool_options = "--mode=link --tag CXX";
+ my $vhdl_source_name = "";
+ my $source = "";
+ my $includes = "";



More information about the arch-commits mailing list