diff options
author | Ian Lance Taylor <iant@golang.org> | 2020-12-05 21:16:13 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-12-08 10:22:12 -0800 |
commit | f1b6e17b3f753980527721aa8e949d2481b2560b (patch) | |
tree | 1d9071fcfcbf9832e58b86f14812d4d017cdb654 /gcc/go/gofrontend/expressions.h | |
parent | f41dd93ade24f22f8cd1863129ab20c821000134 (diff) | |
download | gcc-f1b6e17b3f753980527721aa8e949d2481b2560b.zip gcc-f1b6e17b3f753980527721aa8e949d2481b2560b.tar.gz gcc-f1b6e17b3f753980527721aa8e949d2481b2560b.tar.bz2 |
compiler: use correct location for iota errors
Also check for valid array length when reducing len/cap to a constant.
For golang/go#8183
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/275654
Diffstat (limited to 'gcc/go/gofrontend/expressions.h')
-rw-r--r-- | gcc/go/gofrontend/expressions.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/expressions.h b/gcc/go/gofrontend/expressions.h index 259eeb6..712f687 100644 --- a/gcc/go/gofrontend/expressions.h +++ b/gcc/go/gofrontend/expressions.h @@ -549,6 +549,16 @@ class Expression location() const { return this->location_; } + // Set the location of an expression and all its subexpressions. + // This is used for const declarations where the expression is + // copied from an earlier declaration. + void + set_location(Location loc); + + // For set_location. This should really be a local class in + // Expression, but it needs types defined in gogo.h. + friend class Set_location; + // Return whether this is a constant expression. bool is_constant() const |