From 8ac2677fbb42c0cee603a154f258e2072a45970c Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Fri, 23 Feb 2001 19:22:04 +0000 Subject: [PATCH] codecvt.h: Use __builtin_alloca. 2001-02-23 Benjamin Kosnik * include/bits/codecvt.h: Use __builtin_alloca. * include/bits/ostream.tcc: Same. * include/bits/fstream.tcc: Same. From-SVN: r40007 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/bits/codecvt.h | 2 +- libstdc++-v3/include/bits/fstream.tcc | 6 +++--- libstdc++-v3/include/bits/ostream.tcc | 12 ++++++------ 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1cf576ef391..3cdc574f74e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2001-02-23 Benjamin Kosnik + + * include/bits/codecvt.h: Use __builtin_alloca. + * include/bits/ostream.tcc: Same. + * include/bits/fstream.tcc: Same. + 2001-02-23 Alexandre Oliva * mknumeric_limits (CC): Use VAR=${VAR=...} form. diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h index 17aabb3895a..71b5b84ff98 100644 --- a/libstdc++-v3/include/bits/codecvt.h +++ b/libstdc++-v3/include/bits/codecvt.h @@ -419,7 +419,7 @@ if (__int_bom) { size_t __size = __from_end - __from; - intern_type* __cfixed = static_cast(alloca(sizeof(intern_type) * (__size + 1))); + intern_type* __cfixed = static_cast(__builtin_alloca(sizeof(intern_type) * (__size + 1))); __cfixed[0] = static_cast(__int_bom); char_traits::copy(__cfixed + 1, __from, __size); __cfrom = reinterpret_cast(__cfixed); diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index 76b820ab9de..07e1f61cc9f 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -262,7 +262,7 @@ namespace std // Part one: (Re)fill external buf (_M_file->_IO_*) from // external byte sequence (whatever physical byte sink or // FILE actually is.) - char_type* __conv_buf = static_cast(alloca(sizeof(char_type) * _M_buf_size)); + char_type* __conv_buf = static_cast(__builtin_alloca(sizeof(char_type) * _M_buf_size)); streamsize __size = _M_file->xsgetn(__conv_buf, _M_buf_size); // Part two: (Re)fill internal buf contents from external buf. @@ -436,7 +436,7 @@ namespace std // stack. Convert internal buffer plus __c (ie, // "pending sequence") to temporary conversion buffer. int __plen = _M_out_end - _M_out_beg; - char_type* __pbuf = static_cast(alloca(sizeof(char_type) * __plen + 1)); + char_type* __pbuf = static_cast(__builtin_alloca(sizeof(char_type) * __plen + 1)); traits_type::copy(__pbuf, this->pbase(), __plen); if (!__testeof) { @@ -445,7 +445,7 @@ namespace std } char_type* __pend; - char* __conv_buf = static_cast(alloca(__plen)); + char* __conv_buf = static_cast(__builtin_alloca(__plen)); char* __conv_end; _M_state_beg = _M_state_cur; diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc index 6464f5bad37..98de13a6565 100644 --- a/libstdc++-v3/include/bits/ostream.tcc +++ b/libstdc++-v3/include/bits/ostream.tcc @@ -417,7 +417,7 @@ namespace std { typedef typename traits_type::int_type int_type; int_type __plen = static_cast(__newlen - __oldlen); - char_type* __pads = static_cast(alloca(sizeof(char_type) * __plen)); + char_type* __pads = static_cast(__builtin_alloca(sizeof(char_type) * __plen)); traits_type::assign(__pads, __plen, __ios.fill()); char_type* __beg; @@ -496,7 +496,7 @@ namespace std { { try { streamsize __w = __out.width(); - _CharT* __pads = static_cast<_CharT*>(alloca(sizeof(_CharT) * __w)); + _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); __pads[0] = __c; streamsize __len = 1; if (__w > __len) @@ -529,7 +529,7 @@ namespace std { { try { streamsize __w = __out.width(); - char* __pads = static_cast(alloca(__w + 1)); + char* __pads = static_cast(__builtin_alloca(__w + 1)); __pads[0] = __c; streamsize __len = 1; if (__w > __len) @@ -596,7 +596,7 @@ namespace std { if (__cerb) { size_t __clen = __ctraits_type::length(__s); - _CharT* __ws = static_cast<_CharT*>(alloca(sizeof(_CharT) * (__clen + 1))); + _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__clen + 1))); for (size_t __i = 0; __i <= __clen; ++__i) __ws[__i] = __out.widen(__s[__i]); _CharT* __str = __ws; @@ -604,7 +604,7 @@ namespace std { try { streamsize __len = static_cast(__clen); streamsize __w = __out.width(); - _CharT* __pads = static_cast<_CharT*>(alloca(sizeof(_CharT) * __w)); + _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); if (__w > __len) { @@ -637,7 +637,7 @@ namespace std { { try { streamsize __w = __out.width(); - char* __pads = static_cast(alloca(__w)); + char* __pads = static_cast(__builtin_alloca(__w)); streamsize __len = static_cast(_Traits::length(__s)); if (__w > __len) {