11998-12-31 Benjamin Kosnik <bkoz@lunatic.cygnus.com> 2 3 * bits/fstream.tcc: Add fstream ctor for cin/cout/etc. 4 * bits/std_fstream.h: Ditto. 5 * src/stdstreams.cc: Ditto. 6 7 * math/cpowl.c: Fix header typo with last change. 8 91998-12-31 Benjamin Kosnik <bkoz@loony.cygnus.com> 10 11 * COPYING: New file (GPL v 2). 12 * LICENSE.STD: Remove. 13 * ./*: Change license. 14 151998-12-30 Benjamin Kosnik <bkoz@haight.constant.com> 16 17 * bits/std_streambuf.h (std): Remove static on _M_init. 18 * bits/streambuf.tcc (std): Ditto. 19 20 * bits/std_fstream.h: Add changes as discussed with Nathan, including 21 state_type and codecvt_type members, the allocation of an internal 22 buffer, the streamlined codecvt calls, etc. 23 241998-12-21 Benjamin Kosnik <bkoz@haight.constant.com> 25 26 * bits/std_sstream.h: Tweak. 27 * bits/fstream.tcc: Remove unused stubs. 28 * bits/std_fstream.h: Tweak. 29 301998-12-17 Benjamin Kosnik <bkoz@tintin.cygnus.com> 31 32 * bits/std_streambuf.h: Move _IO_file_flags into basic_filebuf. 33 Remove unused _IO_* members, possibly put into filebuf, which may 34 need them. 35 * bits/std_fstream.h: Add _M_flag. 36 * bits/sbuf_iter.h: Tweak. 37 38 * bits/std_cstdio.h: Add SEEK_SET, SEEK_END, SEEK_CUR. 39 * bits/ios_base.h: Use. 40 41 * src/stdstreams.cc: Modify to reflect standard ctors for 42 filebuf. 43 * src/misc-inst.cc: Ditto. 44 45 * bits/os_raw.h: Wrap in std namespace. Model parameters on 46 underlying C library calls instead of the underlying unix 47 filesystem. 48 * src/os_raw.cc (_S_os_open): Use fopen, and compute a mode 49 string as per p.659. 50 (_S_os_close): Model on fopen. 51 (_S_os_read): Model on fread. 52 (_S_os_write): Model on fwrite. 53 (_S_os_seek): Model on fseek. 54 55 * bits/ios_base.h: Tweak. 56 * bits/std_iosfwd.h: Wrap libio.h include with extern "C". 57 * bits/std_sstream.h: Tweak. 58 * bits/sstream.tcc: Remove old, uncalled code. 59 * bits/std_fstream.h: Major reconstruction. 60 * bits/fstream.tcc: Disable for the time being. 61 621998-12-11 Benjamin Kosnik <bkoz@haight.constant.com> 63 64 * bits/basic_string.h: Fix insert method. 65 * stl/bits/stl_iterator.h: Remove previous hack. 66 * bits/std_streambuf.h (sbumpc): Correct increment/return oddness. 67 * bits/std_sstream.h: Fix more regressions. 68 * testsuite/27/27stringbuf.C: Add (almost) complete tests. 69 701998-12-09 Benjamin Kosnik <bkoz@loony.cygnus.com> 71 72 * bits/basic_string.h: Tweak. 73 74 * stl/bits/stl_iterator.h: Specialize iterator_traits for int so 75 that string::append can be instantiated. HACK--checkin 76 basic_string::iterator class. 77 781998-12-07 Benjamin Kosnik <bkoz@haight.constant.com> 79 80 * bits/std_sstream.h: Tweak. 81 * bits/sstream.tcc: Tweak ctors. 82 83 FIXME invalid friend defs. . WHERE ARE THEY?? 84 85 * bits/sbuf_iter.h (istreambuf_iterator::equal): Change to new 86 names for basic_streambuf data members. 87 88 * bits/std_streambuf.h: Add getloc() initialization bits. 89 basic_streambuf(): Initialize with global locale data. 90 imbue(): Set _M_init. 91 92 * bits/std_streambuf.h(seekoff, seekpos): Complete with invalid 93 stream pos == pos_type(off_type(-1)). 94 in_avail(): Complete default implementation. 95 snextc, sbumpc, sputbackc, sungetc, sputc, setg, xsputn, 96 underflow, uflow, xsgetn, showmany, sync: Ditto. 97 98 * bits/std_streambuf.h: _M_snextc_helper(): Remove. 99 100 * bits/streambuf.tcc (sputbackc): Temporarily remove, need to 101 re-populate with in-line member functions that are too big. Add 102 initialization for _M_init. 103 1041998-12-03 Benjamin Kosnik <bkoz@cygnus.com> 105 106 * bits/sstream.tcc: Convert _Allocator to _Alloc. Add typedefs 107 for basic_string and basic_streambuf. Scope _IO_buf_* pointers to 108 streambuf_type. 109 110 * src/stdstreams.cc (std): Disable wchar_t instantiations. 111 112 * bits/c++config.h (_G_DEPRICATED): Add. 113 (_G_USE_WCHAR_T): Add. 114 * bits/std_streambuf.h: Radical reconstruction of basic_streambuf. 115 Take out _Streambuf_base. Put _IO_FILE data member in basic_filebuf. 116 * bits/streambuf.tcc (sputbackc): Remove ctor anti-def, Tweak. 117 * bits/std_fstream.h: Add comment for implementation. 118 * src/streambuf.cc: Remove. 119 * src/Makefile.in: Remove streambuf.lo. 120 * src/misc-inst.cc: Tweak. 121 1221998-12-02 Benjamin Kosnik <bkoz@cygnus.com> 123 124 * bits/std_sstream.h: Add const_cast to rdbuf returns. 125 * testsuite/27stringstream.C: Modify. 126 1271998-11-25 Benjamin Kosnik <bkoz@haight.constant.com> 128 129 * src/Makefile.in (libstdc___la_OBJECTS): Add streambuf.lo. 130 (libstdc___la_SOURCES): Ditto. 131 132 * bits/streambuf.tcc: Tweak. 133 134 * src/streambuf.cc: New file, add out-of-line definitions for 135 _Streambuf_base. 136 137 * src/misc-inst.cc: Remove _Streambuf_base instantiations. 138 Comment out wchar_t versions of the buffer instantiations, for now. 139 140 * bits/std_streambuf.h: Wrap libio.h include with extern "C". 141 Remove template wrapper around _Streambuf_base. 142 Move IO_* data members into _Streambuf_base. 143 Move _Streambuf_base members into streambuf.tcc. 144 145 * bits/c++config.h (_G_USE_LIBIO): Enable. 146 1471998-11-02 Nathan Myers <ncm@cantrip.org> 148 149 * CHECKLIST: downgrade iterator implementations 150 * DESIGN: fill out notes about unimplemented features 151 1521998-10-31 Nathan Myers <ncm@cantrip.org> 153 154 * CHECKLIST: itemized list of all interfaces, and status of each. 155 1561998-10-30 Nathan Myers <ncm@cantrip.org> 157 158 * RELEASE-NOTES: add notes about optional includes, linking, running 159 * src/Makefile.am: handle header installs properly 160 * src/Makefile.in: regenerate from new src/Makefile.am 161 1621998-10-30 Benjamin Kosnik <bkoz@loony.cygnus.com> 163 164 * bits/basic_string.h: Revert npos pending ciso646. 165 * src/Makefile.am: Revert CXX flags for now. 166 * src/Makefile.in: Ditto. 167 1681998-10-30 Brendan Kehoe <brendan@cygnus.com> 169 170 * bits/std_sstream.h: Re-order ctors to put base before member 171 inits. 172 1731998-10-30 Ryszard Kabatek <kabatek@chemie.uni-halle.de> 174 175 * stl/bits/std_memory.h: Fix typo. 176 1771998-10-30 Nathan Myers <ncm@cantrip.org> 178 179 * src/string[A-Z]+.cc: change back to include "string.cc". 180 * src/Makefile.am: revert filename changes. We need a different 181 way to keep filenames in std/ from confusing Make. 182 * bits/basic_string.h: define _S_max_size right, return it from 183 string::max_size(); churn definition of npos again. 184 * bits/string.tcc: fix _S_frob_size to avoid uint overflow. 185 * bits/ios.cc: remove #ifdef on ios_base locale member initialization 186 * BUGS: clear cruft. 187 * C++STYLE: Touchup for release. 188 * CHECKLIST: Touchup for release. 189 * DESIGN: New file. 190 * LICENSE.STD: Add requirement to retain copyrights and to provide 191 the license with any copies. 192 * README: Update for release. 193 * TODO: Minor touchup for release. 194 * RELEASE-NOTES: prepare for release 195 1961998-10-29 Ulrich Drepper <drepper@cygnus.com> 197 198 * src/string[A-Z]+.cc: Include stdstring.cc, not string.cc. 199 200 * src/Makefile.am (CXXFLAGS): Define _GNU_SOURCE. 201 202 * src/Makefile.am (CXXLINK): New variable. Make sure we don't use 203 CXX to generate the shared object. 204 205 * src/Makefile.am (headers): Remove duplicated char_traits.h. 206 2071998-10-29 Brendan Kehoe <brendan@cygnus.com> 208 209 * bits/basic_string.h (basic_string<>::max_size): Subtract 1, not 210 2, from npos, solving infinite loop problems. 211 2121998-10-29 18:41 Ulrich Drepper <drepper@cygnus.com> 213 214 * src/Makefile.am: Add rules to install headers. 215 2161998-10-29 Nathan Myers <ncm@cantrip.org> 217 218 * bits/std_ostream.h: Remove #ifdef on operator<< for long double 219 * bits/ostream.tcc: Remove #ifdef on operator<< for long double 220 * shadow/libio.h: 221 * shadow/unistd.h: 222 * shadow/bits/wrap_libio.h: 223 * shadow/bits/wrap_unistd.h: New files. 224 2251998-10-29 Brendan Kehoe <brendan@cygnus.com> 226 227 * bits/ostream.tcc (operator<<): Wrap with #ifdef 228 _G_HAVE_LONG_DOUBLE_IO, to match bits/std_ostream.h. 229 2301998-10-29 Ulrich Drepper <drepper@cygnus.com> 231 232 * src/Makefile.am: Add temporarily rules to make sure misc-inst.cc 233 is not compiled with -fno-implicit-templates in effect. 234 235 * src/Makefile.am (EXTRA_SOURCES): Add string.cc and wstring.cc here. 236 (libstdc___la_SOURCES): Add all the string*.cc and wstring*.cc files. 237 * src/stringADDCS.cc: Wrapper around string.cc to define individual 238 function. 239 * src/stringADDPS.cc: Likewise. 240 * src/stringADDSC.cc: Likewise. 241 * src/stringADDSP.cc: Likewise. 242 * src/stringADDSS.cc: Likewise. 243 * src/stringBIST.cc: Likewise. 244 * src/stringBOST.cc: Likewise. 245 * src/stringCHTR.cc: Likewise. 246 * src/stringEQPS.cc: Likewise. 247 * src/stringEQSP.cc: Likewise. 248 * src/stringEQSS.cc: Likewise. 249 * src/stringEXTRA.cc: Likewise. 250 * src/stringGEPS.cc: Likewise. 251 * src/stringGESP.cc: Likewise. 252 * src/stringGESS.cc: Likewise. 253 * src/stringGETLI.cc: Likewise. 254 * src/stringGTPS.cc: Likewise. 255 * src/stringGTSP.cc: Likewise. 256 * src/stringGTSS.cc: Likewise. 257 * src/stringINSER.cc: Likewise. 258 * src/stringLEPS.cc: Likewise. 259 * src/stringLESP.cc: Likewise. 260 * src/stringLESS.cc: Likewise. 261 * src/stringLTPS.cc: Likewise. 262 * src/stringLTSP.cc: Likewise. 263 * src/stringLTSS.cc: Likewise. 264 * src/stringMAIN.cc: Likewise. 265 * src/stringNEPS.cc: Likewise. 266 * src/stringNESP.cc: Likewise. 267 * src/stringNESS.cc: Likewise. 268 * src/stringSCOPY.cc: Likewise. 269 * src/wstringADDCS.cc: Wrapper around wstring.cc to define individual 270 functions. 271 * src/wstringADDPS.cc: Likewise. 272 * src/wstringADDSC.cc: Likewise. 273 * src/wstringADDSP.cc: Likewise. 274 * src/wstringADDSS.cc: Likewise. 275 * src/wstringBIST.cc: Likewise. 276 * src/wstringBOST.cc: Likewise. 277 * src/wstringCHTR.cc: Likewise. 278 * src/wstringEQPS.cc: Likewise. 279 * src/wstringEQSP.cc: Likewise. 280 * src/wstringEQSS.cc: Likewise. 281 * src/wstringEXTRA.cc: Likewise. 282 * src/wstringGEPS.cc: Likewise. 283 * src/wstringGESP.cc: Likewise. 284 * src/wstringGESS.cc: Likewise. 285 * src/wstringGETLI.cc: Likewise. 286 * src/wstringGTPS.cc: Likewise. 287 * src/wstringGTSP.cc: Likewise. 288 * src/wstringGTSS.cc: Likewise. 289 * src/wstringINSER.cc: Likewise. 290 * src/wstringLEPS.cc: Likewise. 291 * src/wstringLESP.cc: Likewise. 292 * src/wstringLESS.cc: Likewise. 293 * src/wstringLTPS.cc: Likewise. 294 * src/wstringLTSP.cc: Likewise. 295 * src/wstringLTSS.cc: Likewise. 296 * src/wstringMAIN.cc: Likewise. 297 * src/wstringNEPS.cc: Likewise. 298 * src/wstringNESP.cc: Likewise. 299 * src/wstringNESS.cc: Likewise. 300 * src/wstringSCOPY.cc: Likewise. 301 * src/string.cc: Remove now unneeded #defines now. 302 3031998-10-29 Nathan Myers <ncm@cantrip.org> 304 305 * bits/locfacets.tcc: Define num_put::put(... const void*), improve 306 integer formatting. 307 * bits/ostream.tcc: Delete cruft, rewrite various op<< as members, 308 add definitions for double, long double, const void*. 309 * bits/std_ostream.h: Move op<<'s back into class ostream, 310 define some in-line. 311 * bits/string.tcc: fix unnecessary-copying bug in op[], typos in 312 string construction from input iterators that Brendan reported. 313 314 3151998-10-28 Brendan Kehoe <brendan@cygnus.com> 316 317 * stl/bits/stl_pair.h (op!=, op>, p<=, op>=): Add missing definitions. 318 319 * bits/valarray_meta.h (class _Constant): Move declaration to the 320 top, so the rest of the file can grok it. 321 (_ApplyBinaryFunction::operator[]): Add missing parenthesis. 322 323 * bits/std_sstream.h (basic_ostringstream::str): Fix typo of extra 324 semicolon. 325 (basic_stringstream::str, both instances): Likewise. 326 3271998-10-28 Nathan Myers <ncm@cantrip.org> 328 329 * bits/locfacets.h: fix num_put<>::falsename() 330 * bits/locfacets.tcc: fix _Format_cache<>::_M_populate bool name init 331 * testsuite/27/27octfmt.C, testsuite/27/27octfmt.C: new tests 332 * bits/locfacets.tcc: touch up _S_group_digits. 333 * src/misc-inst.cc: adjust _S_group_digits insts to match. 334 3351998-10-27 Nathan Myers <ncm@cantrip.org> 336 337 * stl/bits/stl_config.h: Turn off long long support, for now. 338 * src/locale-inst.cc: Instantiate num_put<> only for 339 ostreambuf_iterator, num_get only for istreambuf_iterator. 340 * src/misc-inst.cc: Delete duplicate locale-related instantiations, 341 add lots of new instantiations for num_put support function templates; 342 remove junk about __match_parallel for ostreambuf_iterator. 343 3441998-10-27 Nathan Myers <ncm@cantrip.org> 345 346 * bits/locfacets.tcc: Make num_put's digit grouping work. 347 * bits/string.tcc: More uglification. 348 * src/ios.cc: initialize format cache right 349 3501998-10-26 Nathan Myers <ncm@cantrip.org> 351 352 * bits/basic_string.h: Uglify more names. 353 * bits/fstream.tcc: Rewrite some filebut output handling. 354 * bits/ios_base.h: Cosmetic. 355 * bits/locfacets.h: Changes to _Format_cache for support of num_put. 356 Also, specialize its default ctor for optimal default case. 357 #ifdef out "long long" prototypes for now. 358 * bits/locfacets.tcc: Do complete, optimized num_put<>::do_put 359 implementation for integer types. (Still needs optimized 360 std::copy() applied to ostreambuf_iterator to be optimal.) 361 * bits/ostream.tcc: Write operator<< for long, bool types. 362 Make other operators<< non-members, per spec. (Many still 363 not implemented.) Identify those that fail to create a sentry. 364 * bits/sbuf_iter: Cosmetic. 365 * bits/std_fstream.h: Add some filebuf members. 366 * bits/std_locale.h: Include <limits> for use in bits/locfacets.h 367 * bits/std_ostream.h: Make member operators<< global, per spec. 368 (Should do the same in std_istream.h.) 369 * bits/std_string.h: Include <limits> for use in bits/locfacets.h 370 * bits/string.tcc: Uglify names 371 * shadow/bits/std_cstdlib.h: Optimize std::div and std::ldiv. 372 * src/ios.cc: Specialize _Format_cache<> for char and wchar_t, 373 for optimal default behavior. 374 3751998-10-26 Benjamin Kosnik <bkoz@loony.cygnus.com> 376 377 * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc again. 378 3791998-10-21 Nathan Myers <ncm@cantrip.org> 380 381 * src/locale.cc: make ctype operations actually work for glibc 382 * CHECKLIST: add a comprehensive (i.e. huge) implementation 383 checklist of stdlib facilities. Not filled in yet. 384 3851998-10-20 Nathan Myers <ncm@cantrip.org> 386 387 * bits/string.tcc: fix patching NULs on string ends. 388 3891998-10-19 Nathan Myers <ncm@cantrip.org> 390 391 * bits/std_iosfwd.h: eliminate "basic_" prefix on streambuf 392 iterator forward declarations 393 * bits/sbuf_iter.h: eliminate default template argument definitions 394 on streambuf iterators (rely on <iosfwd> decls). 395 * TODO: add note about lazy facet construction 396 * bits/basic_ios.h: hit operator void* again. This should be the 397 last time we need to touch it. 398 * bits/basic_ios.h: copyfmt now returns *this. 399 * bits/basic_string.h: fix npos again. npos cannot be defined as zero. 400 * bits/basic_string.h: put back overloaded constructors; adjust 401 behavior for default allocator on copy constructor. 402 * bits/char_traits.h: make not_eof return correct type. 403 * bits/loccore.h: remove call to bits/std_stdexcept.h; subincludes 404 cannot be in non-standard headers or we get include loops (bad) 405 * bits/loccore.h: delete ifdef'd out workarounds for old compiler bugs. 406 * bits/loccore.h: add apparatus to support lazy construction of 407 facets. 408 * bits/locfacets.tcc: Uglify names in __match_parallel decl. 409 * bits/std_ios.h: add include of <typeinfo> to get bad_cast for 410 locale use_facet<> failure. 411 * bits/std_locale.h: same. 412 * bits/std_string.h: same. 413 * bits/std_stdexcept.h: change exception member __msg from a 414 reference to a regular object. 415 * bits/string.tcc: add pasting a NUL on the end of strings after 416 each operation. We had already left room for it, but previously 417 plugged it only on a call to c_str(), but the WG changed the 418 requirement when I wasn't looking. (Can't leave them alone for 419 a second without they break something else.) 420 * bits/valarray_meta.h: add Gaby's changes from 981018. 421 * src/locale.cc: add new type _Bad_use_facet to be thrown on 422 failure of use_facet<>(). 423 * src/stdexcept.cc: remove pragma, remove bkoz's #if 0, 424 comment out leftover member definitions 425 4261998-10-16 Ulrich Drepper <drepper@cygnus.com> 427 428 * string/Makefile.am: Revert last change. 429 * math/Makefile.am: Likewise. 430 4311998-10-15 Benjamin Kosnik <bkoz@haight.constant.com> 432 433 * bits/std_sstream.h: Fix typo. 434 4351998-10-15 Benjamin Kosnik <bkoz@haight.constant.com> 436 437 * src/Makefile.am (libstdc___la_SOURCES): Add misc-inst.cc. 438 439 * bits/std_sstream.h: Add typedefs, member definitions. Clean. 440 * bits/std_stdexcept.h: Remove. 441 4421998-10-15 Benjamin Kosnik <bkoz@haight.constant.com> 443 444 * src/misc-inst.cc: Tweak again. 445 446 * bits/std_sstream.h: Move out-of-line definitions to sstream.tcc. 447 * bits/sstream.tcc: New file. 448 4491998-10-15 Ulrich Drepper <drepper@cygnus.com> 450 451 * configure.in: Test for machine/param.h, sys/machine.h and fp.h. 452 Don't run AC_C_BIGENDIAN if machine/param.h or sys/machine.h are 453 available. 454 455 * math/mathconf.h: Include sys/machine.h, machine/param.h and fp.h 456 if available. 457 (INFINITE_P): Use IS_INF macro if available. 458 4591998-10-15 Ulrich Drepper <drepper@cygnus.com> 460 461 * math/Makefile.am (EXTRA_LTLIBRARIES): Renamed from 462 noinst_LTLIBRARIES. 463 * string/Makefile.am: Likewise. 464 4651998-10-15 Ulrich Drepper <drepper@cygnus.com> 466 467 * configure.in (AC_CHECK_FUNCS): Add finite, qfinite, fpclass, and 468 qfpclass. 469 (AC_CHECK_HEADERS): Add machine/endian.h. If no header specifying 470 endianess is available run AC_C_BIGENDIAN. 471 472 * math/clog10l.c: Add ugly hack around bug in Irix 6.2 header until 473 fixincludes is fixed. 474 * math/clogl.c: Likewise. 475 * math/csqrtl.c: Likewise. 476 * math/mycabsl.c: Likewise. 477 478 * math/mathconf.h: Include machine/endian.h if possible. If no 479 header describing endianess is available rely on WORDS_BIGENDIAN 480 macro. 481 (FINITE_P, FINITEF_P, FINITEL_P): Use finite functino if available. 482 (INFINITE_P, INFINITEF_P, INFINITEL_P): Use fpclass function if 483 available. 484 485 * src/complex.cc (polar): Don't use sincos on OSF machines. 486 4871998-10-09 Benjamin Kosnik <bkoz@loony.cygnus.com> 488 489 * src/locale-inst.cc: Don't instantiate time_get for 490 ostreambuf_iterators as time_get::do_get_weekday and 491 time_get::do_get_monthname use __match_parallel, which is illegal 492 for ostreambuf_iterators to use, as they don't have operator== or 493 operator!=. 494 * bits/std_stdexcept.h: Add dtor definitions. 495 Use stl/bits/std_stdexcept.h instead of this file? 496 * bits/sbuf_iter.h : Tweak. 497 * src/misc-inst.cc: Tweak. 498 4991998-10-09 Benjamin Kosnik <bkoz@haight.constant.com> 500 501 * bits/std_stdexcept.h: New file. 502 * src/stdexcept.cc: Define the following: 503 logic_error::what() 504 runtime_error::what() 505 506 * src/misc-inst.cc: New file. 507 * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc. 508 (libstdc___la_OBJECTS): Add misc-inst.lo. 509 510 * bits/basic_string.h: Disable non-standard ctor declarations. 511 * bits/string.tcc: Disable definitions as well. 512 * src/string.cc: Disable <ios> dependencies. 513 * bits/sbuf_iter.h (std): Add default to template parameter for 514 ostreambuf_iterator and istreambuf_iterator. 515 * bits/std_iosfwd.h: Change istreambuf_iterator to 516 basic_istreambuf_iterator. Likewise for ostreambuf. 517 * bits/locfacets.tcc (__match_parallel): Fix typo. 518 * src/ios.cc (imbue): Remove the _G_HAVE_LOCALE guards around 519 ios_base::imbue. 520 * bits/std_streambuf.h: Define _Streambuf_base::getloc(). 521 * bits/std_istream.h: Define the following: 522 get (basic_streambuf<char_type,_Traits>& __sb, char_type __delim) 523 get (char_type* __s, streamsize __n, char_type __delim); 524 getline (char_type* __s, streamsize __n, char_type __delim) 525 * bits/loccore.h : FIXME friend template code for use_facet. 526 Add std_stdexcept.h include so that range_error will be defined. 527 Add explicit conversion to string for range_error throws. (HACK?) 528 5291998-10-8 Ulrich Drepper <drepepr@cygnus.com> 530 531 * configure.in: Check for sincos, sincosf, and sincosl. 532 * src/complex.cc (polar): Use sincos if available. 533 534 * bits/c++config.h: Fix hack to get LONG_LONG* definitions on Linux. 535 * stl/bits/std_limits.h: Include bits/c++config.h. HACK!!! 536 537 * math/clog10.c: Fix typo (FP_INIFITE_P -> INFINITE_P). 538 539 * math/cpow.c: Use c_log, not clog. 540 * math/cpowf.c: Likewise. 541 * math/cpowl.c: Likewise. 542 543 * math/cexp.c: Remove unused fpclassify calls. Use FINITE_P instead 544 of isfinite call. 545 546 * math/mathconf.h (FINITE_P, FINITEF_P, FINITEL_P): Define using 547 isfinite macro if it is available. 548 (INFINITE_P, INFINITEF_P, INFINITEL_P): Define using isinf macro. 549 550 * math/ccosf.c: Use appropriate test macros for this type. 551 * math/ccoshf.c: Likewise. 552 * math/ccoshl.c: Likewise. 553 * math/ccosl.c: Likewise. 554 * math/cexpf.c: Likewise. 555 * math/cexpl.c: Likewise. 556 * math/clog10f.c: Likewise. 557 * math/clog10l.c: Likewise. 558 * math/clogf.c: Likewise. 559 * math/clogl.c: Likewise. 560 * math/csinf.c: Likewise. 561 * math/csinhf.c: Likewise. 562 * math/csinhl.c: Likewise. 563 * math/csinl.c: Likewise. 564 * math/csqrtf.c: Likewise. 565 * math/csqrtl.c: Likewise. 566 * math/ctanf.c: Likewise. 567 * math/ctanhf.c: Likewise. 568 * math/ctanhl.c: Likewise. 569 * math/ctanl.c: Likewise. 570 5711998-10-06 Benjamin Kosnik <bkoz@bliss.nabi.net> 572 573 * bits/basic_ios.h: Fix previous change. 574 5751998-10-06 Benjamin Kosnik <bkoz@bliss.nabi.net> 576 577 * bits/basic_ios.h: Add const_cast<basic_ios&> 578 (operator void*): As per 5.2.9 p 2, make sure static_cast is 579 well-formed. 580 * bits/char_traits.h: No _CharT for specialization, change to 0. 581 * bits/basic_string.h: As per 9.4.2 p4, initialize with 582 constant-initializer. 583 * bits/locfacets.tcc: Add template parameter to initialization list. 584 5851998-10-02 Benjamin Kosnik <bkoz@loony.cygnus.com> 586 587 * bits/basic_string.h: Should just be <, not <=. 588 5891998-10-01 Benjamin Kosnik <bkoz@bliss.nabi.net> 590 591 * bits/string.tcc (compare): Fix for strings that are similar, but 592 not the same length. 593 5941998-09-04 Brendan Kehoe <brendan@cygnus.com> 595 596 * bits/c++config.h: For __linux__, define _GNU_SOURCE. This is 597 required for us to get LONG_LONG_{MIN,MAX} out of gcc's limits.h. 598 We can't check for __GLIBC__ here, since this header can be read 599 before any system one (that would lead to features.h) being used. 600 601 * stl/bits/stl_config.h (__STL_LONG_LONG): Re-enabled 602 603 * stl/bits/std_limits.h [__STL_LONG_LONG]: Fix usage to use 604 LONG_LONG_MIN, LONG_LONG_MAX, and ULONG_LONG_MAX. 605 606 * stl/bits/stl_config.h: Don't do __STL_LONG_LONG, it uses 607 LONGLONG_{MIN,MAX} which I can't find the origin of. 608 6091998-09-03 Brendan Kehoe <brendan@cygnus.com> 610 611 * stl/bits/stl_iterator.h: Add extern decl of cin for now; where 612 should this come from, if not iostream.h? 613 (class istream_iterator): Make the new operator!= a friend also. 614 615 * stl/bits/stl_config.h: Define __STL_HAS_WCHAR_T, 616 __STL_MEMBER_TEMPLATE_CLASSES, and __STL_LONG_LONG. Don't include 617 _G_config.h like the egcs one does. 618 6191998-09-01 Brendan Kehoe <brendan@cygnus.com> 620 621 * bits/string.tcc: Call `_M_destroy' instead of `destroy'. 622 623 * bits/valarray_meta.h: Throughout, rename _Expr typedefs to be 624 _Expr1 (or _Expr_def if it's taken), and change definitions. 625 Avoids redecl of the template parm. 626 627 * bits/string.tcc (basic_string copy ctor): Fix typo in declaration. 628 (operator>>): Initialize __ERROR with ios_base::goodbit, not 0. 629 630 * bits/std_streambuf.h (_POSIX_SOURCE): Only define if it's not 631 already done. 632 633 * src/locale-inst.cc: New file, **TOTAL HACK**. There has GOT to 634 be a better way to do this. 635 636 * src/stlinst.cc: New file. 637 638 * BUGS: New file, with various discovered bugs that need to be 639 fixed. 640 641 * Makefile.in, math/Makefile.in, string/Makefile.in, 642 src/Makefile.in: Reran automake. 643 644 Workarounds, these may not all be the final fixes: 645 646 * bits/basic_ios.h (class basic_ios): Make _M_strbuf be protected, 647 not private, for basic_istream::get() in std_istream.h to be able 648 to use it. 649 (basic_ios::operator void*): Don't use static_cast for the false 650 case. 651 (basic_ios::copyfmt): Fix `rhs.except' to be `rhs.exceptions ()'. 652 This appears to have been in sep94, but didn't get corrected 653 afterwards. 654 655 * bits/basic_string.h (npos): Don't init here. 656 * bits/string.tcc: Instead, do initialization here, to -1 instead 657 of the size_type destructor. 658 659 * src/traits.cc, src/wtraits.cc: New files. 660 * bits/char_traits.h: For char_traits<char> and 661 char_traits<wchar_t>, declare static, but define over in the src 662 files. 663 664 * bits/gslice.h: Comment out forward decls of _Array, valarray, 665 gslice_array, and _GsliceExpression. 666 667 * bits/std_cstdio.h [__sparc__ && __svr4__]: #undef all of 668 clearerr, feof, ferror, getc, getchar, putc, putchar, stdin, 669 stdout, and stderr. Note we do get unresolved refs to stdin, but 670 that'll get fixed by the "true" solution. 671 672 * bits/std_ios.h: Include <bits/std_streambuf.h> to get the 673 definition of basic_streambuf.h, which is used in basic_ios.h to 674 call pubimbue. 675 676 * bits/std_streambuf.h: Don't include libio.h for now. 677 (class basic_streambuf): Define missing methods pubimbue and 678 getloc. 679 680 * src/Makefile.am (libstdc___la_SOURCES): Add stdexcept.cc, 681 ios.cc, os_raw.cc, stdstreams.cc, locale.cc, localename.cc, 682 locale-inst.cc, stlinst.cc, traits.cc, wtraits.cc. 683 684 * src/ios.cc: Instantiate basic_ios<char> and basic_ios<wchar_t>. 685 686 * src/locale.cc: Come up with munged versions of _S_toupper, 687 _S_tolower, and _S_table instead of the glibc-specific ones, so 688 they're at least defined, if not necessarily usable. The glibc 689 ones on any other system will yield unresolved refs to 690 __ctype_{b,toupper,tolower}. 691 692 * src/string.cc: Define all of ADDCS, ADDPS, et al. Add 693 basic_ios, basic_istream, basic_ostream. Don't do char_traits 694 anymore cuz of the explicit specialization in char_traits.h. 695 Also add _S_string_copy, but this doesn't fix it -- cf the BUGS 696 file for the details. 697 698 * stl/bits/stl_algobase.h (equal): Fix to do `! (x==y)'. 699 * stl/bits/stl_iterator.h (__distance): Likewise. 700 701 * stl/bits/stl_iterator.h: As with 8/18 set, define missing op!=, 702 op>, op<=, and op>= for reverse_iterator. Also add op!= for 703 istream_iterator. 704 7051998-08-26 Brendan Kehoe <brendan@cygnus.com> 706 707 * bits/string.tcc (basic_string::compare (const char*)): Fix to 708 return 0, not 1. 709 7101998-08-25 Brendan Kehoe <brendan@cygnus.com> 711 712 This should really be fixed with __asm__ directives renaming the 713 symbol, but keeping the function. 714 * math/clogf.c (c_logf): Renamed from `clogf'. 715 * math/clogl.c (c_logl): Renamed from `clogl'. 716 * math/complex-stub.h (c_logf, c_logl): Change decls. 717 718 * bits/locfacets.h (class _Numeric_get): For friend decls, rename 719 _CharT and _InIter parms, since they duplicate the enclosing ones. 720 7211998-08-19 Brendan Kehoe <brendan@cygnus.com> 722 723 Deal with conflict of the iostreams `clog' and our internal 724 complex number `clog'. 725 * src/complex.cc: Call `c_log' instead of `clog'. 726 * math/clog.c (c_log):: Renamed from clog. 727 * math/complex-stub.h (c_log): Renamed from clog decl. 728 729 * bits/locfacets.h (class _Numeric_get): Tweak fwd decls of the 730 get/put classes. 731 (num_put::put): #if 0 long long version, since we don't declare or 732 define the long long version of do_put. 733 7341998-08-18 Nathan Myers <ncm@cantrip.org> 735 736 * bits/basic_string.h: add basic_string<>::push_back(), fix return 737 type of get_allocator (thanks to Ryszard Kabatek). 738 * bits/char_traits.h: make init order of fpos<> members 739 match decl order. 740 * bits/ios_base.h: fix decls of ios_base bitmask & enum types, add 741 flags _S_fd_in etc. for special filebuf ctor. 742 * bits/locfacets.h: make _Numeric_get and _Format_cache public 743 to work around problems in friend declarations. 744 * bits/locfacets.tcc: qualify _S_get_cache in num_get<>::get(..bool&), 745 fix random type errors & typos 746 * bits/std_fstream.h: major refitting to bypass libio (for now), 747 instrument to use bits/fstream.tcc template definitions 748 * bits/std_iosfwd.h: mess with wrappers 749 * bits/std_istream.h: remove meaningless comment 750 * bits/std_ostream.h: instrument to work with ostream.tcc. 751 * bits/std_streambuf.h: instrument to work with streambuf.tcc 752 * bits/fstream.tcc: template defs for <fstream> 753 * bits/ostream.tcc: template defs for <ostream> 754 * bits/streambuf.tcc: template defs for <streambuf> 755 * bits/os_raw.h: thin OS interface wrapper, to bypass libio (for now). 756 * Delete .cc files, replace with bits/*.tcc 757 src/fstream.cc 758 src/istream.cc 759 src/ostream.cc 760 src/streambuf.cc 761 * Add files: 762 src/os_raw.cc: thin interface to OS, to bypass libio (for now). 763 src/stdstreams.cc: cout, cin, etc. definitions 764 (these still need work: must be init'd before user statics.) 765 766 7671998-08-18 Brendan Kehoe <brendan@cygnus.com> 768 769 Sent to SGI before checkin: 770 * stl/bits/stl_vector.h (operator!=, operator>, operator<=, 771 operator>=): Define. 772 * stl/bits/stl_bvector.h (vector<bool>::flip): Define method. 773 * stl/bits/stl_deque.h (operator!=, operator>, operator<=, 774 operator>=): Define. 775 (operator==, operator<): Add inline. 776 * stl/bits/stl_map.h (operator!=, operator<, operator<=, 777 operator>=): Define. 778 * stl/bits/stl_multimap.h (operator!=, operator<, operator<=, 779 operator>=): Define. 780 * stl/bits/stl_list.h (operator!=, operator<, operator<=, 781 operator>=): Define. 782 * stl/bits/stl_set.h (operator!=, operator<, operator<=, 783 operator>=): Define. 784 * stl/bits/stl_multiset.h (operator!=, operator<, operator<=, 785 operator>=): Define. 786 787 * bits/std_valarray.h (_Shift_left, _Shift_right): Inherit from 788 unary_function. 789 7901998-08-15 Nathan Myers <ncm@cantrip.org> 791 792 * bits/ios_base.h: change nominal bitmask and enum types to real enums 793 * bits/locfacets.h: make _Format_cache bool names usable by num_get 794 * bits/locfacets.tcc: make num_get<>::get(... bool&) use _Format_cache 795 * bits/std_fstream.h: minor cleanups: ctors delegate to open() 796 * bits/std_iosfwd.h: more bitmask changes, for ios_base::iostate 797 * bits/std_sstream.h: formatting cleanups 798 7991998-08-14 Nathan Myers <ncm@cantrip.org> 800 801 * bits/locfacets.tcc: implement num_get<>::do_get(..., bool&) 802 * bits/locfacets.tcc: implement time_get<>::do_get_weekday 803 * bits/locfacets.tcc: implement time_get<>::do_get_monthname 804 * bits/locfacets.h: fix missing argument in do_get_monthname 805 (this is a bug in the standard, ref. 36 in my list.) 806 * bits/locfacets.h: make month and day name caches mutable 807 * bits/locfacets.tcc: various typos in get() functions 808 * bits/sbuf_iter.h: fix omission in istreambuf_iterator::op++(). 809 * bits/std_streambuf.h: fix typo in sgetn (Brendan) 810 8111998-08-12 Nathan Myers <ncm@cantrip.org> 812 * move streambuf iterators to bits/sbuf_iter.h 813 * optimize streambuf iterators 814 * begin generalizing streambuf 815 * begin implementing num_get<>::get (starting with bool) 816 * patch stl/bits/stl_config.h so that relops operators are 817 contained properly, out of the way. 818 8191998-07-24 Nathan Myers <ncm@cantrip.org> 820 * Fold in SGI 3.11 changes (uglified names, some algorithm 821 improvements, very minor bug fixes.) 822 * Uglify names elsewhere to match (s/_T/_Tp/). 823 * Begin work on optimized streambuf 824 * Put complex.cc in namespace std:: (thanks Martin) 825 8261998-07-17 Nathan Myers <ncm@cantrip.org> 827 828 * bits/char_traits.h: add _Char_traits_match template. 829 * bits/string.tcc: fix bugs in various find_last* members. 830 * bits/basic_string.h: redeclare member _S_find. 831 * stl/bits/stl_iterator.h: change member names in nonstandard 832 templates bidirectional_reverse_iterator and 833 random_access_reverse_iterator to match expected changes 834 in upstream source. 835 * src/string.cc: fix definitions of stream operators. 836 8371998-07-14 16:06 Ulrich Drepper <drepper@cygnus.com> 838 839 * Makefile.am (SUBDIRS): Add string. 840 841 * configure.in: Test for long double functions separately. Test for 842 ISO C 89 float functions. Test for endian.h and sys/isa_defs.h. 843 Generate string/Makefile. 844 845 * bits/c++config.h: Define mbstate_t for Solaris. 846 847 * bits/char_traits.h: Remove unused #if. 848 849 * bits/std_cwchar.h: Declare wide char string functions. 850 851 * m4/stringfcts.m4: New file. 852 853 * math/complex-stub.h: Declare nan. 854 * math/nan.c: New file. 855 856 * math/mathconf.h: Hack around missing endian.h file. 857 Handle missing NAN definition. 858 Handle missing float math functions. 859 860 * src/Makefile.am (libstdc___la_LIBADD): Add libstring.la. 861 (libstdc___la_LDFLAGS): Set version information. 862 863 * src/complexl.cc: Don't compile any code if no long double functions 864 are available. 865 866 * string/Makefile.am: New file. 867 * string/dummy.c: New file. 868 * string/wmemchr.c: New file. 869 * string/wmemcmp.c: New file. 870 * string/wmemcpy.c: New file. 871 * string/wmemmove.c: New file. 872 * string/wmemset.c: New file. 873 8741998-07-14 10:45 Ulrich Drepper <drepper@cygnus.com> 875 876 * configure.in: Make it work. 877 * install-sh: New file. 878 * missing: New file. 879 * mkinstalldirs: New file. 880 * m4/mathfcts.m4: New file. 881 * math/Makefile.am: New file. 882 883 * bits/std_complex.h (conj): Mark specializations as inline. 884 885 * math/carg.c: New file. 886 * math/cargf.c: New file. 887 * math/cargl.c: New file. 888 * math/mycabs.c: New file. 889 * math/mycabsf.c: New file. 890 * math/mycabsl.c: New file. 891 * math/signbit.c: New file. 892 * math/signbitf.c: New file. 893 * math/signbitl.c: New file. 894 895 * math/ccos.c: Avoid ISO C 9x functionality. 896 * math/ccosf.c: Likewise. 897 * math/ccosh.c: Likewise. 898 * math/ccoshf.c: Likewise. 899 * math/ccoshl.c: Likewise. 900 * math/ccosl.c: Likewise. 901 * math/cexp.c: Likewise. 902 * math/cexpf.c: Likewise. 903 * math/cexpl.c: Likewise. 904 * math/clog.c: Likewise. 905 * math/clog10.c: Likewise. 906 * math/clog10f.c: Likewise. 907 * math/clog10l.c: Likewise. 908 * math/clogf.c: Likewise. 909 * math/clogl.c: Likewise. 910 * math/cpow.c: Likewise. 911 * math/cpowf.c: Likewise. 912 * math/cpowl.c: Likewise. 913 * math/csin.c: Likewise. 914 * math/csinf.c: Likewise. 915 * math/csinh.c: Likewise. 916 * math/csinhf.c: Likewise. 917 * math/csinhl.c: Likewise. 918 * math/csinl.c: Likewise. 919 * math/csqrt.c: Likewise. 920 * math/csqrtf.c: Likewise. 921 * math/csqrtl.c: Likewise. 922 * math/ctan.c: Likewise. 923 * math/ctanf.c: Likewise. 924 * math/ctanh.c: Likewise. 925 * math/ctanhf.c: Likewise. 926 * math/ctanhl.c: Likewise. 927 * math/ctanl.c: Likewise. 928 929 * math/complex-stub.h: New file. 930 931 * math/mathconf.h: New file. 932 933 * src/Makefile.am: New file. 934 935 * src/complex.cc: Use mathconf.h instead of complex.h. 936 Don't use cabs, always use __mycabs. 937 9381998-02-13 Brendan Kehoe <brendan@cygnus.com> 939 940 * iterator (class reverse_iterator): Do some tweaks to be in sync 941 w/ the FDIS. 942 943Copyright (C) 1998 Free Software Foundation, Inc. 944 945Copying and distribution of this file, with or without modification, 946are permitted in any medium without royalty provided the copyright 947notice and this notice are preserved. 948