Article [#5887] bfin-uclinux-libstdc++-4.3 ext/headers.cc regress

[#5887] bfin-uclinux-libstdc++-4.3 ext/headers.cc regress

Submitted By: Mingquan Pan

Open Date

2010-02-08 01:39:42     Close Date

2010-08-24 04:49:53

Priority:

Medium High     Assignee:

Vivi Li

Stuart Henderson

Board:

N/A     Silicon Revision:

Resolution:

Fixed     Fixed In Release:

N/A

Processor:

BF527     

Host Operating System:

toolchain rev.:

trunk head 4.3     kernel rev.:

State:

Closed     Found In Release:

2010R1

Is this bug repeatable?:

N/A     

Summary: bfin-uclinux-libstdc++-4.3 ext/headers.cc regress

Details:

bfin-uclinux-libstdc++-4.3 ext/headers.cc fails while in 4.1 testing it passed.

#########################################

#

# Comparing bfin-uclinux-libstdc++-4.3.sum

#

########################################

Tests that now fail, but worked before:

bfin-uclinux: ext/headers.cc (test for excess errors)

The log is:Executing on host: bfin-uclinux-g++ -g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0  -DLOCALEDIR="." -I/home/test/work/cruise/checkouts/toolchain/gcc-4.3/libstdc++-v3/testsuite/util /home/test/work/cruise/checkouts/toolchain/gcc-4.3/libstdc++-v3/testsuite/ext/headers.cc     -S  -o headers.s    (timeout = 600)

spawn bfin-uclinux-g++ -g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0 -DLOCALEDIR="." -I/home/test/work/cruise/checkouts/toolchain/gcc-4.3/libstdc++-v3/testsuite/util /home/test/work/cruise/checkouts/toolchain/gcc-4.3/libstdc++-v3/testsuite/ext/headers.cc -S -o headers.s^M

In file included from /home/test/work/cruise/checkouts/toolchain/gcc-4.3/libstdc++-v3/testsuite/ext/headers.cc:31:^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:46:19: error: iconv.h: No such file or directory^M

In file included from /home/test/work/cruise/checkouts/toolchain/gcc-4.3/libstdc++-v3/testsuite/ext/headers.cc:31:^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:60: error: 'iconv_t' does not name a type^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:70: error: 'descriptor_type' does not name a type^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:73: error: 'descriptor_type' does not name a type^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:150: error: expected ';' before '&' token^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:154: error: expected `;' before 'const'^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:154: error: expected ';' before '&' token^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:158: error: expected `;' before 'protected'^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h: In constructor '__gnu_cxx::encoding_state::encoding_state()':^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:89: error: class '__gnu_cxx::encoding_state' does not have any field named '_M_in_desc'^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:89: error: class '__gnu_cxx::encoding_state' does not have any field named '_M_out_desc'^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h: In constructor '__gnu_cxx::encoding_state::encoding_state(const char*, const char*, int, int, int)':^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:95: error: class '__gnu_cxx::encoding_state' does not have any field named '_M_in_desc'^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:95: error: class '__gnu_cxx::encoding_state' does not have any field named '_M_out_desc'^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h: In copy constructor '__gnu_cxx::encoding_state::encoding_state(const __gnu_cxx::encoding_state&)':^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:107: error: class '__gnu_cxx::encoding_state' does not have any field named '_M_in_desc'^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:107: error: class '__gnu_cxx::encoding_state' does not have any field named '_M_out_desc'^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h: In member function 'bool __gnu_cxx::encoding_state::good() const':^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:124: error: 'descriptor_type' does not name a type^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:125: error: '_M_in_desc' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:125: error: '__err' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:126: error: '_M_out_desc' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h: In member function 'void __gnu_cxx::encoding_state::init()':^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:162: error: 'descriptor_type' does not name a type^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:164: error: '_M_in_desc' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:166: error: 'iconv_open' was not declared in this scope^M

                                                                                                        ..../home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:301: error: expected primary-expression before '*' token^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:301: error: '__outbytes' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h: In member function 'virtual std::codecvt_base::result std::codecvt<_InternT, _ExternT, __gnu_cxx::encoding_state>::do_out(__gnu_cxx::encoding_state&, const _InternT*, const _InternT*, const _InternT*

&, _ExternT*, _ExternT*, _ExternT*&) const':^M                                                                                                             /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:315: error: expected initializer before '&' t

oken^M                                                                                                                                                     /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:341: error: 'iconv' was not declared in this

scope^M                                                                                                                                                    /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:341: error: '__desc' was not declared in this

scope^M                                                                                                                                                   /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:342: error: there are no arguments to '__icon

v_adaptor' that depend on a template parameter, so a declaration of '__iconv_adaptor' must be available^M                                                  /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:342: error: (if you use '-fpermissive', G++ w

ill accept your code, but allowing the use of an undeclared name is deprecated)^M                                                                          /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:348: error: 'iconv' was not declared in this

scope^M                                                                                                                                                    /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:348: error: '__desc' was not declared in this

scope^M                                                                                                                                                   /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:349: error: there are no arguments to '__icon

v_adaptor' that depend on a template parameter, so a declaration of '__iconv_adaptor' must be available^M                                                  /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h: In member function 'virtual std::codecvt_bas

e::result std::codecvt<_InternT, _ExternT, __gnu_cxx::encoding_state>::do_unshift(__gnu_cxx::encoding_state&, _ExternT*, _ExternT*, _ExternT*&) const':^M  /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:382: error: expected initializer before '&' t

oken^M                                                                                                                                                     /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:389: error: 'iconv' was not declared in this

scope^M                                                                                                                                                    /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:389: error: '__desc' was not declared in this

scope^M                                                                                                                                                   /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:390: error: there are no arguments to '__icon

v_adaptor' that depend on a template parameter, so a declaration of '__iconv_adaptor' must be available^M                                                  /home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h: In member function 'virtual std::codecvt_bas

e::result std::codecvt<_InternT, _ExternT, __gnu_cxx::encoding_state>::do_in(__gnu_cxx::encoding_state&, const _ExternT*, const _ExternT*, const _ExternT*&, _InternT*, _InternT*, _InternT*&) const':^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:419: error: expected initializer before '&' token^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:445: error: 'iconv' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:445: error: '__desc' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:446: error: there are no arguments to '__iconv_adaptor' that depend on a template parameter, so a declaration of '__iconv_adaptor' must be available^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:452: error: 'iconv' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:452: error: '__desc' was not declared in this scope^M

/home/test/work/cruise/temp/bfin-uclinux/lib/gcc/bfin-uclinux/4.3.4/include/c++/ext/codecvt_specializations.h:453: error: there are no arguments to '__iconv_adaptor' that depend on a template parameter, so a declaration of '__iconv_adaptor' must be available^M

FAIL: ext/headers.cc (test for excess errors)

failed toolchain versio************** Tested toolchain svn info ***************

U    buildscript/BuildToolChain

Updated to revision 3876.

Path: .

URL: svn://10.99.29.20/toolchain/trunk

Repository Root: svn://10.99.29.20/toolchain

Repository UUID: 2adf4935-75e9-4407-93b2-34b21a1880a4

Revision: 3876

Node Kind: directory

Schedule: normal

Last Changed Author: vapier

Last Changed Rev: 3876

Last Changed Date: 2010-02-07 14:01:08 +0800 (Sun, 07 Feb 2010)

n:

Follow-ups

--- Robin Getz                                               2010-06-05 19:56:13

With the upgrade to 4.3.5 - I now get:

libstdc++-4.3.sum:PASS: ext/headers.cc (test for excess errors)

Can you confirm?

--- Vivi Li                                                  2010-07-01 03:02:19

For the latest toolchain test, I still see the same bug with bfin-uclinux and

bfin-linux-uclibc. No such problem on bfin-elf.

--- Vivi Li                                                  2010-07-08 04:24:45

I can see following tests fail with similar error info. These three tests don't

exist in gcc4.1 test. They all pass with bfin-elf and fail with

bfin-linux-uclibc/bfin-uclinux.

--

FAIL: 17_intro/headers/all.cc (test for excess errors)

FAIL: 17_intro/headers/all_c++200x_compatibility.cc (test for excess errors)

FAIL: 17_intro/headers/all_pedantic_errors.cc (test for excess errors)

--

--- Vivi Li                                                  2010-07-08 04:52:02

As iconv.h can't be found, is it related to the locale option?

See

http://blackfin.uclinux.org/gf/project/toolchain/forum/?_forum_action=ForumMessageBrowse&thread_id=33867&action=ForumBrowse

ext/headers.cc is different in gcc4.1 and gcc4.3 test.

In 4.1 test, ext/codecvt_specializations.h is not included.

--- Stuart Henderson                                         2010-07-15 11:35:50

the test includes the various headers in the ext/ directory, including

codecvt_specializations.h.  This particular header includes iconv.h, which we

delete entirely from the uclinux/linux-uclibc builds, which causes this error.

It seems the solution would be to guard codecvt_specializations.h's inclusion

in the test with _GLIBCXX_HAVE_ICONV, however i'm not sure if there's any point

in including this header in these builds at all.

fyi:

ext/codecvt_specializations.h includes iconv.h

ext/enc_filebuf.h includes ext/codecvt_specializations.h

so can we remove these two headers for these builds?

--- Steve Kilbane                                            2010-08-12 08:21:38

Tests have been modified to only include these headers when _GLIBCXX_HAVE_ICONV

is true.

--- Vivi Li                                                  2010-08-24 04:49:53

OK now. Close it.

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

File Name     File Type     File Size     Posted By

No Files Were Found

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.