[Bug libstdc++/40712] locale(const locale, const char*, locale::category) can create broken locale

2009-07-13 Thread tsyvarev at ispras dot ru
--- Comment #3 from tsyvarev at ispras dot ru 2009-07-13 11:55 --- (In reply to comment #2) I think this constructor never ever worked correctly. The only solution I can see at the moment is consistently dynamically allocating _M_data-_M_grouping, and copying the characters

[Bug libstdc++/40712] New: locale(const locale, const char*, locale::category) can create broken locale

2009-07-10 Thread tsyvarev at ispras dot ru
Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla

[Bug libstdc++/40606] Inside new_handler throw; operator may cause abort

2009-07-02 Thread tsyvarev at ispras dot ru
--- Comment #7 from tsyvarev at ispras dot ru 2009-07-02 06:16 --- gcc --version gets: gcc (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291] Yes, problem very probably target dependent - as I said, test suite was executed on many other machines, including IA64 arhictecures

[Bug target/40606] Inside new_handler throw; operator may cause abort

2009-07-02 Thread tsyvarev at ispras dot ru
--- Comment #11 from tsyvarev at ispras dot ru 2009-07-02 11:26 --- Ok, sorry for noise. I'll try with libunwind. Only thing - what does it mean invalid testcase because you make libunwind fail by setrlimit. Does it mean that setrlimit shouldn't be used with new operator

[Bug libstdc++/40606] New: Inside new_handler throw; operator may cause abort

2009-07-01 Thread tsyvarev at ispras dot ru
at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40606

[Bug libstdc++/40606] Inside new_handler throw; operator may cause abort

2009-07-01 Thread tsyvarev at ispras dot ru
--- Comment #2 from tsyvarev at ispras dot ru 2009-07-01 13:54 --- Created an attachment (id=18108) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18108action=view) reproduce problem g++ -O2 test.cpp ./a.out Executing test_4_10() Aborted Exit code is 134. Unfortunately

[Bug libstdc++/40606] Inside new_handler throw; operator may cause abort

2009-07-01 Thread tsyvarev at ispras dot ru
--- Comment #5 from tsyvarev at ispras dot ru 2009-07-01 14:56 --- Sorry, forgot about gcc version. I will post it not long after. As for core C++ or libstdcxx problem - I don't know because couldn't localize problem yet. Probably, this core C++ issue. -- http://gcc.gnu.org

[Bug libstdc++/40184] New: locale(const char* std_name) can create invalid facets for nonuniform locale

2009-05-18 Thread tsyvarev at ispras dot ru
Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40184

[Bug libstdc++/40184] locale(const char* std_name) can create invalid facets for nonuniform locale

2009-05-18 Thread tsyvarev at ispras dot ru
--- Comment #2 from tsyvarev at ispras dot ru 2009-05-18 14:37 --- Yes, this seems reasonably. I also thought about smth. similar to this. Only it is need to take into account using mbsrtowcs for other locale properties(if they exist in others categories). Anyway, checking of mbsrtowcs

[Bug libstdc++/39168] Incorrect interpretation of CHAR_MAX inside grouping string in monetary and numeric facets.

2009-02-13 Thread tsyvarev at ispras dot ru
--- Comment #7 from tsyvarev at ispras dot ru 2009-02-13 11:21 --- (In reply to comment #4) I'm not sure I understand your rationale or I agree that this is a bug. IIUC, string(1, CHAR_MAX) indicates that groups may be of arbitrary length, which includes 123,456 This behavior

[Bug libstdc++/39168] Incorrect interpretation of CHAR_MAX inside grouping string in monetary and numeric facets.

2009-02-13 Thread tsyvarev at ispras dot ru
--- Comment #10 from tsyvarev at ispras dot ru 2009-02-13 13:41 --- (In reply to comment #8) (In reply to comment #7) Standard use term unlimited length, which means(as I understand) that all other digits should incorporate in only one group

[Bug libstdc++/39168] Incorrect interpretation of CHAR_MAX inside grouping string in monetary and numeric facets.

2009-02-13 Thread tsyvarev at ispras dot ru
--- Comment #12 from tsyvarev at ispras dot ru 2009-02-13 15:04 --- Let's consider the following situation (seems lifelike to me). Suppose one needs a representation of numbers in which only the last 3 digits are separated from all other digits (grouped), like 1234,567 or 1234567,890

[Bug libstdc++/39168] Incorrect interpretation of CHAR_MAX inside grouping string in monetary and numeric facets.

2009-02-13 Thread tsyvarev at ispras dot ru
--- Comment #15 from tsyvarev at ispras dot ru 2009-02-13 15:38 --- (In reply to comment #14) If I understand correctly, in order to implement the POSIX behavior for C++, assuming we want it, the Standard should be clarified to explain that values = 0 or CHAR_MAX are different

[Bug libstdc++/39168] New: Incorrect interpritation of CHAR_MAX inside grouping string in monetary and numeric facets.

2009-02-12 Thread tsyvarev at ispras dot ru
gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39168

[Bug libstdc++/39168] Incorrect interpritation of CHAR_MAX inside grouping string in monetary and numeric facets.

2009-02-12 Thread tsyvarev at ispras dot ru
--- Comment #1 from tsyvarev at ispras dot ru 2009-02-12 15:30 --- Created an attachment (id=17289) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17289action=view) test for num_get::get() method When grouping is disabled, thousands separator should not be read by get() methods

[Bug libstdc++/39168] Incorrect interpritation of CHAR_MAX inside grouping string in monetary and numeric facets.

2009-02-12 Thread tsyvarev at ispras dot ru
--- Comment #2 from tsyvarev at ispras dot ru 2009-02-12 15:33 --- Created an attachment (id=17290) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17290action=view) test for money_put::put method When grouping is disabled, money_put::put() method for digits should write

[Bug libstdc++/38399] money_get read decimal point when frac_digits() = 0

2008-12-05 Thread tsyvarev at ispras dot ru
--- Comment #3 from tsyvarev at ispras dot ru 2008-12-05 09:53 --- Thanks for remark. It seemed for me, that iterator returned by get() and iterator constructed from stream directly are interchangeable. Now I see that it isn't so. Then, example should be rewritten: #include locale

[Bug libstdc++/38411] [4.4 Regression] Revision 142439 caused 22_locale/locale/cons/7.cc execution test

2008-12-05 Thread tsyvarev at ispras dot ru
--- Comment #19 from tsyvarev at ispras dot ru 2008-12-05 11:08 --- It seems that C++ standard contains contradiction about thousands separator in C locale: 22.2.3.1, p1 says: The instantiations required in Table 51 (22.1.1.1.1), namely numpunctwchar_t and numpunctchar, provide

[Bug libstdc++/38399] New: money_get read decimal point when frac_digits() = 0

2008-12-04 Thread tsyvarev at ispras dot ru
Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38399

[Bug libstdc++/38368] locale(const char* std_name) may create locale with broken facets

2008-12-03 Thread tsyvarev at ispras dot ru
--- Comment #3 from tsyvarev at ispras dot ru 2008-12-03 16:27 --- Yes, I see, this is feature of glibc: for POSIX locale it defines THOUSANDS_SEP, __MON_THOUSANDS_SEP and __MON_DECIMAL_POINT as . According to documentation for C-locale, this value means N/A (not assigned

[Bug libstdc++/38365] Locale, constructed from named and unnamed locales, become named

2008-12-02 Thread tsyvarev at ispras dot ru
--- Comment #4 from tsyvarev at ispras dot ru 2008-12-02 13:04 --- According to the code, locale constructor calls void locale::_Impl::_M_replace_categories(const _Impl* __imp, category __cat) which already processes names of locales. This function works correctly, when both locales

[Bug libstdc++/38368] New: locale(const char* std_name) may create locale with broken facets

2008-12-02 Thread tsyvarev at ispras dot ru
Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38368

[Bug libstdc++/38365] New: Locale, constructed from named and unnamed locales, become named

2008-12-02 Thread tsyvarev at ispras dot ru
: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38365

[Bug libstdc++/38210] New: num_put::do_put(void*) performs padding incorrectly when adjustfield==internal

2008-11-21 Thread tsyvarev at ispras dot ru
Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38210

[Bug libstdc++/38196] New: num_put::do_put(bool) performs 'internal' padding incorrectly when boolalpha==true

2008-11-20 Thread tsyvarev at ispras dot ru
Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38196

[Bug libstdc++/38196] num_put::do_put(bool) performs 'internal' padding incorrectly when boolalpha==true

2008-11-20 Thread tsyvarev at ispras dot ru
--- Comment #1 from tsyvarev at ispras dot ru 2008-11-20 10:57 --- Example: #include iostream #include locale using namespace std; class my_numpunct : public numpunctchar { protected: string do_falsename() const {return -no-;} }; int main() { locale my_loc = locale(locale

[Bug libstdc++/38081] time_get::do_get_weekday does not always recognize full names of weekdays

2008-11-11 Thread tsyvarev at ispras dot ru
--- Comment #1 from tsyvarev at ispras dot ru 2008-11-11 13:41 --- Created an attachment (id=16652) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16652action=view) Reproduce bug with recognition of name of weekday This test require locale ru_RU.iso88595 is installed. [EMAIL

[Bug libstdc++/38081] New: time_get::do_get_weekday does not always recognize full names of weekdays

2008-11-11 Thread tsyvarev at ispras dot ru
at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38081

[Bug libstdc++/37957] Wrong behaviour of num_get::do_get(bool) in the case when one target sequence is a prefix of the other one

2008-11-11 Thread tsyvarev at ispras dot ru
--- Comment #2 from tsyvarev at ispras dot ru 2008-11-11 10:22 --- This bug was fixed with fixing of bug 37958. Testcase for bug 37958 also covers this one. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37957

[Bug libstdc++/37958] num_get::do_get(bool) sets eofbit flag incorrectly when boolalpha == true

2008-11-05 Thread tsyvarev at ispras dot ru
--- Comment #19 from tsyvarev at ispras dot ru 2008-11-06 07:16 --- Created an attachment (id=16627) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16627action=view) Analogue of basic_istringstream with (in == end) catching Using basic_istringstream1 class instead

[Bug libstdc++/37958] num_get::do_get(bool) sets eofbit flag incorrectly when boolalpha == true

2008-11-01 Thread tsyvarev at ispras dot ru
--- Comment #9 from tsyvarev at ispras dot ru 2008-11-01 12:21 --- Patch seems doesn't resolve problem entirely. The thing is that, besides of constraints on setting eofbit flag, the standard claims, that comparision (in == end) should be perfomed only when it is needed for identify

[Bug libstdc++/37958] num_get::do_get(bool) sets eofbit flag incorrectly when boolalpha == true

2008-11-01 Thread tsyvarev at ispras dot ru
--- Comment #11 from tsyvarev at ispras dot ru 2008-11-01 15:52 --- It is not nitpicking. Case with empty sequences is only demonstration, that code behaviour is not confirm to the standard. Really, it seems that in every succesfull matching it will be unnecessary comparision

[Bug libstdc++/37958] num_get::do_get(bool) sets eofbit flag incorrectly when boolalpha == true

2008-11-01 Thread tsyvarev at ispras dot ru
--- Comment #12 from tsyvarev at ispras dot ru 2008-11-01 16:01 --- Created an attachment (id=16607) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16607action=view) Test, whether there is an unnecessary comparision (in == end) By hooking underflow() method of stringbuf, one can

[Bug libstdc++/37958] num_get::do_get(bool) sets eofbit flag incorrectly when boolalpha == true

2008-11-01 Thread tsyvarev at ispras dot ru
--- Comment #15 from tsyvarev at ispras dot ru 2008-11-01 18:43 --- I belived that the easier describe situation is the better. Because setting flag is simpler to observe, than the fact of comparision (in == end), PR was reported about flag but comparision. But the second patch is also

[Bug libstdc++/37958] num_get::do_get(bool) sets eofbit flag incorrectly when boolalpha == true

2008-10-31 Thread tsyvarev at ispras dot ru
--- Comment #6 from tsyvarev at ispras dot ru 2008-10-31 10:48 --- (In reply to comment #2) Maybe now I see, what's behind your report: you believe that, when val is set, eofbit should be set only when seeking another character to match. But that would essentially boil down to *never

[Bug libstdc++/37958] num_get::do_get(bool) sets eofbit flag incorrectly when boolalpha == true

2008-10-31 Thread tsyvarev at ispras dot ru
--- Comment #4 from tsyvarev at ispras dot ru 2008-10-31 10:34 --- Created an attachment (id=16595) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16595action=view) Test, modelling example from standard exactly (For targets true: 1 and false: 0, the input sequence 1 yields val

[Bug libstdc++/37957] Wrong behaviour of num_get::do_get(bool) in the case when one target sequence is a prefix of the other one

2008-10-30 Thread tsyvarev at ispras dot ru
--- Comment #1 from tsyvarev at ispras dot ru 2008-10-30 14:22 --- Created an attachment (id=16589) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16589action=view) reproduce bug -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37957

[Bug libstdc++/37957] New: Wrong behaviour of num_get::do_get(bool) in the case when one target sequence is a prefix of the other one

2008-10-30 Thread tsyvarev at ispras dot ru
: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37957

[Bug libstdc++/37958] New: num_get::do_get(bool) sets eofbit flag incorrectly when boolalpha == true

2008-10-30 Thread tsyvarev at ispras dot ru
Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37958

[Bug libstdc++/37475] New: codecvt::do_in/do_out functions return ok when the output sequence has zero length

2008-09-11 Thread tsyvarev at ispras dot ru
Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37475

[Bug libstdc++/37475] codecvt::do_in/do_out functions return ok when the output sequence has zero length

2008-09-11 Thread tsyvarev at ispras dot ru
--- Comment #1 from tsyvarev at ispras dot ru 2008-09-11 09:35 --- Created an attachment (id=16291) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16291action=view) test.cpp -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37475

[Bug libstdc++/37477] New: std::uncaught_exception() returns wrong value after entering terminate() in some cases

2008-09-11 Thread tsyvarev at ispras dot ru
Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37477

[Bug libstdc++/37477] std::uncaught_exception() returns wrong value after entering terminate() in some cases

2008-09-11 Thread tsyvarev at ispras dot ru
--- Comment #1 from tsyvarev at ispras dot ru 2008-09-11 10:18 --- Created an attachment (id=16292) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16292action=view) test.tar Reproduce situations when terminate is called implicitly. -- http://gcc.gnu.org/bugzilla/show_bug.cgi