From: Pedro Alves Date: Mon, 17 Oct 2016 16:13:26 +0000 (+0100) Subject: gdb: Fix phony iconv build X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=5562a44eb490b5777c9e786971907c0727d88495;p=deliverable%2Fbinutils-gdb.git gdb: Fix phony iconv build Cross building gdb for mingw32 on Fedora 23 fails with: x86_64-w64-mingw32-g++ -g -O2 [...] ../../src/gdb/charset.c In file included from ../../src/gdb/charset.c:21:0: ../../src/gdb/charset.h:134:3: error: 'iconv_t' does not name a type iconv_t m_desc; ^ ../../src/gdb/charset.c: In constructor 'wchar_iterator::wchar_iterator(const gdb_byte*, size_t, const char*, size_t)': ../../src/gdb/charset.c:600:3: error: 'm_desc' was not declared in this scope m_desc = iconv_open (INTERMEDIATE_ENCODING, charset); ^ ../../src/gdb/charset.c: In destructor 'wchar_iterator::~wchar_iterator()': ../../src/gdb/charset.c:607:7: error: 'm_desc' was not declared in this scope if (m_desc != (iconv_t) -1) ^ ../../src/gdb/charset.c: In member function 'int wchar_iterator::iterate(wchar_iterate_result*, gdb_wchar_t**, const gdb_byte**, size_t*)': ../../src/gdb/charset.c:633:25: error: 'm_desc' was not declared in this scope size_t r = iconv (m_desc, &inptr, &m_bytes, &outptr, &out_avail); ^ This is a regression caused by commit cda6c55bd399 (Turn wchar iterator into a class). The problem is that iconv_t is now exposed in gdb/charset.h, while before it was only used in gdb/charset.c. gdb/charset.c, under #ifdef PHONY_ICONV, does: #undef iconv_t #define iconv_t int So it seems the simplest is to use 'int' in the header file too. gdb/ChangeLog: 2016-10-17 Pedro Alves * charset.h (class wchar_iterator) [PHONY_ICONV] : Use 'int' as type. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4859e27a4d..4ebbf8d70f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-10-17 Pedro Alves + + * charset.h (class wchar_iterator) [PHONY_ICONV] : Use + 'int' as type. + 2016-10-14 Sangamesh Mallayya Ulrich Weigand diff --git a/gdb/charset.h b/gdb/charset.h index 64aa58d8a2..c5feb0818d 100644 --- a/gdb/charset.h +++ b/gdb/charset.h @@ -131,7 +131,11 @@ class wchar_iterator private: /* The underlying iconv descriptor. */ +#ifdef PHONY_ICONV + int m_desc; +#else iconv_t m_desc; +#endif /* The input string. This is updated as we convert characters. */ const gdb_byte *m_input;