Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Unified Diff: gcc/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gcc/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
diff --git a/gcc/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc b/gcc/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
deleted file mode 100644
index 59b8f4d09c53ba730665c9dfdc75694c64dd7043..0000000000000000000000000000000000000000
--- a/gcc/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
+++ /dev/null
@@ -1,99 +0,0 @@
-// { dg-require-fork "" }
-// { dg-require-mkfifo "" }
-
-// 2003-04-30 Petur Runolfsson <peturr02@ru.is>
-
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009
-// Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// No asserts, avoid leaking the semaphores if a VERIFY fails.
-#undef _GLIBCXX_ASSERT
-
-#include <testsuite_hooks.h>
-#include <cstdio>
-#include <cstdlib>
-#include <iostream>
-#include <unistd.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-// Check that cin.rdbuf()->sputbackc() puts characters back to stdin.
-// If cin.rdbuf() is a filebuf, this succeeds when stdin is a regular
-// file, but fails otherwise, hence the named fifo.
-bool test01()
-{
- using namespace std;
- using namespace __gnu_test;
-
- bool test __attribute__((unused)) = true;
-
- const char* name = "tmp_fifo5";
-
- signal(SIGPIPE, SIG_IGN);
-
- unlink(name);
- mkfifo(name, S_IRWXU);
- semaphore s1, s2;
-
- int child = fork();
- VERIFY( child != -1 );
-
- if (child == 0)
- {
- FILE* file = fopen(name, "r+");
- VERIFY( file != NULL );
- fputs("Whatever\n", file);
- fflush(file);
- s1.signal();
- s2.wait();
- fclose(file);
- s1.signal();
- exit(0);
- }
-
- freopen(name, "r", stdin);
- s1.wait();
-
- int c1 = fgetc(stdin);
- VERIFY( c1 != EOF );
- int c2 = cin.rdbuf()->sputbackc('a');
- VERIFY( c2 != EOF );
- VERIFY( c2 == 'a' );
-
- int c3 = fgetc(stdin);
- VERIFY( c3 != EOF );
- VERIFY( c3 == c2 );
- int c4 = ungetc('b', stdin);
- VERIFY( c4 != EOF );
- VERIFY( c4 == 'b' );
-
- int c5 = cin.rdbuf()->sgetc();
- VERIFY( c5 != EOF );
- VERIFY( c5 == c4 );
- s2.signal();
- s1.wait();
-
- return test;
-}
-
-int main()
-{
- return !test01();
-}
« no previous file with comments | « gcc/libstdc++-v3/testsuite/27_io/objects/char/9.cc ('k') | gcc/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698