[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