From 055da6a8dfc48dae017dd17bdabaeabf57bec3d7 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sat, 11 Apr 2015 00:50:26 +0000 Subject: [PATCH] compiler: discard carriage returns in raw string literals Fixes golang/go#10407. From-SVN: r222001 --- gcc/go/gofrontend/lex.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/go/gofrontend/lex.cc b/gcc/go/gofrontend/lex.cc index 3404cedb5f6..aa7071dbe78 100644 --- a/gcc/go/gofrontend/lex.cc +++ b/gcc/go/gofrontend/lex.cc @@ -1440,7 +1440,10 @@ Lex::gather_raw_string() bool issued_error; this->lineoff_ = p - this->linebuf_; p = this->advance_one_utf8_char(p, &c, &issued_error); - Lex::append_char(c, true, &value, loc); + // "Carriage return characters ('\r') inside raw string literals + // are discarded from the raw string value." + if (c != '\r') + Lex::append_char(c, true, &value, loc); } this->lineoff_ = p - this->linebuf_; if (!this->require_line()) -- 2.30.2