summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-23 19:22:04 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-23 19:22:04 +0000
commit905caa6fbf612d42496eb8994c35fbc6c7fd6b43 (patch)
treeeeb7a4c206a64e0a2acd80fc6f79245ce9e1d365
parenta089b1e0053d442e4f5fa7ed90c2c9b4159abb5a (diff)
downloadgcc-905caa6fbf612d42496eb8994c35fbc6c7fd6b43.tar.gz
2001-02-23 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/codecvt.h: Use __builtin_alloca. * include/bits/ostream.tcc: Same. * include/bits/fstream.tcc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40007 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/codecvt.h2
-rw-r--r--libstdc++-v3/include/bits/fstream.tcc6
-rw-r--r--libstdc++-v3/include/bits/ostream.tcc12
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 <bkoz@redhat.com>
+
+ * include/bits/codecvt.h: Use __builtin_alloca.
+ * include/bits/ostream.tcc: Same.
+ * include/bits/fstream.tcc: Same.
+
2001-02-23 Alexandre Oliva <aoliva@redhat.com>
* 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<intern_type*>(alloca(sizeof(intern_type) * (__size + 1)));
+ intern_type* __cfixed = static_cast<intern_type*>(__builtin_alloca(sizeof(intern_type) * (__size + 1)));
__cfixed[0] = static_cast<intern_type>(__int_bom);
char_traits<intern_type>::copy(__cfixed + 1, __from, __size);
__cfrom = reinterpret_cast<char*>(__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<char_type*>(alloca(sizeof(char_type) * _M_buf_size));
+ char_type* __conv_buf = static_cast<char_type*>(__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<char_type*>(alloca(sizeof(char_type) * __plen + 1));
+ char_type* __pbuf = static_cast<char_type*>(__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<char*>(alloca(__plen));
+ char* __conv_buf = static_cast<char*>(__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<size_t>(__newlen - __oldlen);
- char_type* __pads = static_cast<char_type*>(alloca(sizeof(char_type) * __plen));
+ char_type* __pads = static_cast<char_type*>(__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<char*>(alloca(__w + 1));
+ char* __pads = static_cast<char*>(__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<streamsize>(__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<char*>(alloca(__w));
+ char* __pads = static_cast<char*>(__builtin_alloca(__w));
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{