Commit 3c191794 by Ian Lance Taylor

re PR go/77625 (go/gofrontend/ast-dump.cc:169:42: error: ‘new’ of type…

re PR go/77625 (go/gofrontend/ast-dump.cc:169:42: error: ‘new’ of type ‘std::ofstr eam {aka std::basic_ofstream<char>}’ with extended alignment 16)

	PR go/77625

    compiler: allocate std::ofstream as a local variable
    
    GCC PR 77625 points out a warning about new std::ofstream.  I don't know
    how that is supposed to work, but in this case the std::ofstream may as
    well be a local variable anyhow.
    
    Reviewed-on: https://go-review.googlesource.com/29435

From-SVN: r240279
parent 9b1ba33c
80720773ac1a3433b7de59ffa5c04744123247c3 57d120d75be87c2a0da67e750f16929891f1b8f4
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -166,24 +166,24 @@ const char* kAstDumpFileExtension = ".dump.ast"; ...@@ -166,24 +166,24 @@ const char* kAstDumpFileExtension = ".dump.ast";
void void
Ast_dump_context::dump(Gogo* gogo, const char* basename) Ast_dump_context::dump(Gogo* gogo, const char* basename)
{ {
std::ofstream* out = new std::ofstream(); std::ofstream out;
std::string dumpname(basename); std::string dumpname(basename);
dumpname += ".dump.ast"; dumpname += ".dump.ast";
out->open(dumpname.c_str()); out.open(dumpname.c_str());
if (out->fail()) if (out.fail())
{ {
error("cannot open %s:%m, -fgo-dump-ast ignored", dumpname.c_str()); error("cannot open %s:%m, -fgo-dump-ast ignored", dumpname.c_str());
return; return;
} }
this->gogo_ = gogo; this->gogo_ = gogo;
this->ostream_ = out; this->ostream_ = &out;
Ast_dump_traverse_blocks_and_functions adtbf(this); Ast_dump_traverse_blocks_and_functions adtbf(this);
gogo->traverse(&adtbf); gogo->traverse(&adtbf);
out->close(); out.close();
} }
// Dump a textual representation of a type to the // Dump a textual representation of a type to the
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment