aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2006-10-01 08:27:49 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2006-10-01 08:27:49 +0000
commitbc8b35b594a1d5dbe919579e11a4372baeb6f96d (patch)
tree79823d103470e555356990870d01803f1c0b14a8 /libstdc++-v3/config
parentf53c2bfab1e6bf3cfa926e2617867f2875af28ed (diff)
downloadgcc-bc8b35b594a1d5dbe919579e11a4372baeb6f96d.zip
gcc-bc8b35b594a1d5dbe919579e11a4372baeb6f96d.tar.gz
gcc-bc8b35b594a1d5dbe919579e11a4372baeb6f96d.tar.bz2
basic_file_stdio.cc: As an extension...
2006-10-01 Paolo Carlini <pcarlini@suse.de> * config/io/basic_file_stdio.cc: As an extension, and consistently with C facilities, allow for in|out|app and in|out|app|binary openmodes. * testsuite/27_io/basic_filebuf/open/char/4.cc: New. From-SVN: r117346
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc
index 2bc17ba..41d914a 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.cc
+++ b/libstdc++-v3/config/io/basic_file_stdio.cc
@@ -95,6 +95,8 @@ namespace
case (in ): return "r";
case (in|out ): return "r+";
case (in|out|trunc ): return "w+";
+ // Extension to Table 92.
+ case (in|out |app ): return "a+";
case ( out |binary): return "wb";
case ( out |app|binary): return "ab";
@@ -102,6 +104,8 @@ namespace
case (in |binary): return "rb";
case (in|out |binary): return "r+b";
case (in|out|trunc |binary): return "w+b";
+ // Extension to Table 92.
+ case (in|out |app|binary): return "a+b";
default: return 0; // invalid
}