goprotobuf: Accept (and ignore) "f" suffix for text format floating point literals.

R=r
CC=golang-dev
http://codereview.appspot.com/6347047
diff --git a/proto/text_parser.go b/proto/text_parser.go
index 8bacae5..d4d5864 100644
--- a/proto/text_parser.go
+++ b/proto/text_parser.go
@@ -480,7 +480,12 @@
 			return nil
 		}
 	case reflect.Float32, reflect.Float64:
-		if f, err := strconv.ParseFloat(tok.value, fv.Type().Bits()); err == nil {
+		v := tok.value
+		if strings.HasSuffix(v, "f") {
+			// Ignore 'f' for compatibility with output generated by C++.
+			v = v[:len(v)-1]
+		}
+		if f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil {
 			fv.SetFloat(f)
 			return nil
 		}