close.pass.cpp revision 06d8bf6ce2008526732ae40ad46f7ff031c409e7
12f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com//===----------------------------------------------------------------------===//
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com//
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com//                     The LLVM Compiler Infrastructure
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com//
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// This file is dual licensed under the MIT and the University of Illinois Open
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Source Licenses. See LICENSE.TXT for details.
72f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com//
82f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com//===----------------------------------------------------------------------===//
92f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com
10ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// <fstream>
112f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com
122f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com// template <class charT, class traits = char_traits<charT> >
132f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com// class basic_ofstream
14e9bbc81c7ef498f84f93819212e61627c1d08e52reed@google.com
152f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com// void close();
1603b87812506ee7054f282b84fb8e15eb885fb289reed@google.com
1703b87812506ee7054f282b84fb8e15eb885fb289reed@google.com#include <fstream>
1803b87812506ee7054f282b84fb8e15eb885fb289reed@google.com#include <cassert>
1903b87812506ee7054f282b84fb8e15eb885fb289reed@google.com#include "platform_support.h"
2003b87812506ee7054f282b84fb8e15eb885fb289reed@google.com
2103b87812506ee7054f282b84fb8e15eb885fb289reed@google.comint main()
2203b87812506ee7054f282b84fb8e15eb885fb289reed@google.com{
2303b87812506ee7054f282b84fb8e15eb885fb289reed@google.com    std::string temp = get_temp_file_name();
2403b87812506ee7054f282b84fb8e15eb885fb289reed@google.com    {
2503b87812506ee7054f282b84fb8e15eb885fb289reed@google.com        std::ofstream fs;
2603b87812506ee7054f282b84fb8e15eb885fb289reed@google.com        assert(!fs.is_open());
2703b87812506ee7054f282b84fb8e15eb885fb289reed@google.com        fs.open(temp.c_str());
2803b87812506ee7054f282b84fb8e15eb885fb289reed@google.com        assert(fs.is_open());
2903b87812506ee7054f282b84fb8e15eb885fb289reed@google.com        fs.close();
3003b87812506ee7054f282b84fb8e15eb885fb289reed@google.com        assert(!fs.is_open());
31a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com    }
32a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com    std::remove(temp.c_str());
33a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com    {
342f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com        std::wofstream fs;
352f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com        assert(!fs.is_open());
362f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com        fs.open(temp.c_str());
372f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com        assert(fs.is_open());
382f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com        fs.close();
392f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com        assert(!fs.is_open());
402f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com    }
41a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com    std::remove(temp.c_str());
42a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com}
43a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com