aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
AgeCommit message (Collapse)AuthorFilesLines
2015-11-07re PR go/66138 (json decoder Decode function fails for some structure return ↵Ian Lance Taylor1-1/+1
values) PR go/66138 reflect, encoding/json, encoding/xml: fix unexported embedded structs Bring in three changes from the master Go repository. These changes will be in Go 1.6, but they are appropriate for gccgo now because they resolve a long-standing discrepancy between how gc and gccgo handle the PkgPath field for embedded unexported struct fields. The core issue is described at https://golang.org/cl/7247. This has been reported against gccgo as https://gcc.gnu.org/PR66138. The three changes being brought over are: https://golang.org/cl/14010 reflect: adjust access to unexported embedded structs This CL changes reflect to allow access to exported fields and methods in unexported embedded structs for gccgo and after gc has been adjusted to disallow access to embedded unexported structs. Adresses #12367, #7363, #11007, and #7247. https://golang.org/cl/14011 encoding/json: check for exported fields in embedded structs Addresses issue #12367. https://golang.org/cl/14012 encoding/xml: check for exported fields in embedded structs Addresses issue #12367. Reviewed-on: https://go-review.googlesource.com/16723 From-SVN: r229907
2015-11-06libgo: Solaris portability fixes.Ian Lance Taylor1-1/+1
Only build net/hook_cloexec.go on GNU/Linux and FreeBSD, because those are the only systems with accept4. Add syscall/libcall_bsd.go to define sendfile for *BSD and Solaris. Revert tcpsockopt_solaris.go back to the earlier version, so that it works on Solaris 10. Always pass the address of a Pid_t value to TIOCGPGRP and TIOCSPGRP. Include <unistd.h> in runtime/go-varargs.c. Reviewed-on: https://go-review.googlesource.com/16719 From-SVN: r229880
2015-11-04gotest: fix handling of --goarch optionIan Lance Taylor1-1/+1
I managed to add a new --goarch option to gotest without noticing that the script already had one. Worse, they set different variables. Remove the old option in favor of the new one. Reviewed-on: https://go-review.googlesource.com/16613 From-SVN: r229734
2015-11-03mksysinfo.sh: Make sure that CLONE_NEWUSER is defined.Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/16588 From-SVN: r229711
2015-11-02libgo: Bump version number.Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/16583 From-SVN: r229686
2015-11-02mksysinfo.sh: Handle TIOCGPGRP if too complex for -dump-go-spec.Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/16580 From-SVN: r229676
2015-11-02syscall: Change raw_ioctl cmd type to uintptr.Ian Lance Taylor1-1/+1
Attempt to fix a build bug report: ../../../../libgo/go/syscall/exec_linux.go:185:37: error: integer constant overflow _, err1 = raw_ioctl_ptr(sys.Ctty, TIOCSPGRP, unsafe.Pointer(&pgrp)) Reviewed-on: https://go-review.googlesource.com/16539 From-SVN: r229674
2015-11-01mksysinfo.sh: Handle TIOCSPGRP if too complex for -fdump-go-spec.Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/16534 From-SVN: r229645
2015-11-01re PR go/67968 (go1: internal compiler error: in ↵Ian Lance Taylor2-1/+11
write_specific_type_functions, at go/gofrontend/types.cc:1812) PR go/67968 compiler: Traverse types of call expressions. https://gcc.gnu.org/PR67968 provides a test case that causes a gccgo crash on valid code. The compiler failed to build the hash and equality functions required for a type descriptor. The descriptor is for an unnamed type that is being returned by a function imported from a different package. The unnamed type is being implicitly converted to an interface type by a return statement. The fix is to ensure that the type of a call expression is always traversed. Test case sent out for the master testsuite as https://golang.org/cl/16532 . From-SVN: r229642
2015-10-31runtime: If no split stacks, allocate stacks using mmap on 64-bit systems.Ian Lance Taylor1-1/+1
When not using split stacks, libgo allocate large stacks for each goroutine. On a 64-bit system, libgo allocates a maximum of 128G for the Go heap, and allocates 4M for each stack. When the stacks are allocated from the Go heap, the result is that a program can only create 32K goroutines, which is not enough for an active Go server. This patch changes libgo to allocate the stacks using mmap directly, rather than allocating them out of the Go heap. This change is only done for 64-bit systems when not using split stacks. When using split stacks, the stacks are allocated using mmap directly anyhow. On a 32-bit system, there is no maximum size for the Go heap, or, rather, the maximum size is the available address space anyhow. Reviewed-on: https://go-review.googlesource.com/16531 From-SVN: r229636
2015-10-31libgo: Update from Go 1.5 to Go 1.5.1.Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/16527 From-SVN: r229624
2015-10-31runtime: Remove now unnecessary pad field from ParFor.Ian Lance Taylor1-1/+1
It is not needed due to the removal of the ctx field. Reviewed-on: https://go-review.googlesource.com/16525 From-SVN: r229616
2015-10-30compiler: Create pointer type for all types with methods.Ian Lance Taylor2-3/+7
Reviewed-on: https://go-review.googlesource.com/16522 From-SVN: r229612
2015-10-29compiler, reflect, runtime: remove zero field from type descriptorIan Lance Taylor4-120/+4
Type descriptors picked up a zero field because the gc map implementation used it. However, it's since been dropped by the gc library. It was never used by gccgo. Drop it now in preparation for upgrading to the Go 1.5 library. Reviewed-on: https://go-review.googlesource.com/16486 From-SVN: r229546
2015-10-29compiler, runtime: change type hash/equal to Go funcsIan Lance Taylor3-13/+48
Change the type descriptor hash and equal functions from C code pointers to Go func values. This permits them to be set to a Go function closure. This is in preparation for the Go 1.5, so that we can use a closure for the hash/equal functions returned by the new reflect.ArrayOf function. Reviewed-on: https://go-review.googlesource.com/16485 From-SVN: r229541
2015-10-29decl.c: Reorder #include's and remove duplicates.Andrew MacLeod3-15/+15
ada 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * gcc-interface/decl.c: Reorder #include's and remove duplicates. * gcc-interface/misc.c: Likewise. * gcc-interface/targtyps.c: Likewise. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. c 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * c-array-notation.c: Reorder #include's and remove duplicates. * c-aux-info.c: Likewise. * c-convert.c: Likewise. * c-decl.c: Likewise. * c-errors.c: Likewise. * c-lang.c: Likewise. * c-objc-common.c: Likewise. * c-parser.c: Likewise. * c-typeck.c: Likewise. c-family 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * array-notation-common.c: Reorder #include's and remove duplicates. * c-ada-spec.c: Likewise. * c-cilkplus.c: Likewise. * c-common.c: Likewise. * c-cppbuiltin.c: Likewise. * c-dump.c: Likewise. * c-format.c: Likewise. * c-gimplify.c: Likewise. * c-indentation.c: Likewise. * c-lex.c: Likewise. * c-omp.c: Likewise. * c-opts.c: Likewise. * c-pch.c: Likewise. * c-ppoutput.c: Likewise. * c-pragma.c: Likewise. * c-pretty-print.c: Likewise. * c-semantics.c: Likewise. * c-ubsan.c: Likewise. * cilk.c: Likewise. * stub-objc.c: Likewise. cp 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * call.c: Reorder #include's and remove duplicates. * class.c: Likewise. * constexpr.c: Likewise. * cp-array-notation.c: Likewise. * cp-cilkplus.c: Likewise. * cp-gimplify.c: Likewise. * cp-lang.c: Likewise. * cp-objcp-common.c: Likewise. * cp-ubsan.c: Likewise. * cvt.c: Likewise. * cxx-pretty-print.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * dump.c: Likewise. * error.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * friend.c: Likewise. * init.c: Likewise. * lambda.c: Likewise. * lex.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * name-lookup.c: Likewise. * optimize.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * ptree.c: Likewise. * repo.c: Likewise. * rtti.c: Likewise. * search.c: Likewise. * semantics.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. * vtable-class-hierarchy.c: Likewise. fortran 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * array.c: Reorder #include's and remove duplicates. * convert.c: Likewise. * cpp.c: Likewise. * decl.c: Likewise. * f95-lang.c: Likewise. * frontend-passes.c: Likewise. * iresolve.c: Likewise. * match.c: Likewise. * module.c: Likewise. * options.c: Likewise. * parse.c: Likewise. * resolve.c: Likewise. * simplify.c: Likewise. * target-memory.c: Likewise. * trans-array.c: Likewise. * trans-common.c: Likewise. * trans-const.c: Likewise. * trans-decl.c: Likewise. * trans-expr.c: Likewise. * trans-intrinsic.c: Likewise. * trans-io.c: Likewise. * trans-openmp.c: Likewise. * trans-stmt.c: Likewise. * trans-types.c: Likewise. * trans.c: Likewise. go 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * go-backend.c: Reorder #include's and remove duplicates. * go-lang.c: Likewise. java 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * boehm.c: Reorder #include's and remove duplicates. * builtins.c: Likewise. * class.c: Likewise. * constants.c: Likewise. * decl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * java-gimplify.c: Likewise. * jcf-dump.c: Likewise. * jcf-io.c: Likewise. * jcf-parse.c: Likewise. * jvgenmain.c: Likewise. * lang.c: Likewise. * mangle.c: Likewise. * mangle_name.c: Likewise. * resource.c: Likewise. * typeck.c: Likewise. * verify-glue.c: Likewise. * verify-impl.c: Likewise. jit 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * dummy-frontend.c: Reorder #include's and remove duplicates. * jit-builtins.c: Likewise. * jit-playback.c: Likewise. * jit-recording.c: Likewise. * libgccjit.c: Likewise. lto 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * lto-lang.c: Reorder #include's and remove duplicates. * lto-object.c: Likewise. * lto-partition.c: Likewise. * lto-symtab.c: Likewise. * lto.c: Likewise. objc 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * objc-lang.c: Reorder #include's and remove duplicates. * objc-map.c: Likewise. objcp 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * objcp-decl.c: Reorder #include's and remove duplicates. * objcp-lang.c: Likewise. From-SVN: r229533
2015-10-21Improve --help output to generate references to option aliases.Martin Sebor1-8/+8
gcc/ PR driver/68043 * opts.c (undocumented_msg, use_diagnosed_msg): New globals. (print_filtered_help): Reference aliased option's name and encourage readers to use it in preference to the alias if the former is not documented. Mention when using an option is diagnosed. * gcc.c (display_help): End each sentence with a period. * ada/gcc-interface/lang.opt: End each sentence that describes an option with a period. * c-family/c.opt: Same. * common.opt: Same. * config/aarch64/aarch64.opt: Same. * config/alpha/alpha.opt: Same. * config/arc/arc.opt: Same. * config/arm/arm.opt: Same. * config/avr/avr.opt: Same. * config/bfin/bfin.opt: Same. * config/c6x/c6x.opt: Same. * config/cr16/cr16.opt: Same. * config/cris/cris.opt: Same. * config/cris/linux.opt: Same. * config/darwin.opt: Same. * config/epiphany/epiphany.opt: Same. * config/fr30/fr30.opt: Same. * config/frv/frv.opt: Same. * config/ft32/ft32.opt: Same. * config/g.opt: Same. * config/h8300/h8300.opt: Same. * config/i386/cygming.opt: Same. * config/i386/djgpp.opt: Same. * config/i386/i386.opt: Same. * config/i386/interix.opt: Same. * config/i386/mingw-w64.opt: Same. * config/i386/mingw.opt: Same. * config/ia64/ia64.opt: Same. * config/ia64/ilp32.opt: Same. * config/iq2000/iq2000.opt: Same. * config/linux.opt: Same. * config/lm32/lm32.opt: Same. * config/lynx.opt: Same. * config/m32c/m32c.opt: Same. * config/m32r/m32r.opt: Same. * config/m68k/ieee.opt: Same. * config/m68k/m68k.opt: Same. * config/mcore/mcore.opt: Same. * config/mep/mep.opt: Same. * config/microblaze/microblaze.opt: Same. * config/mips/mips.opt: Same. * config/mmix/mmix.opt: Same. * config/mn10300/mn10300.opt: Same. * config/moxie/moxie.opt: Same. * config/msp430/msp430.opt: Same. * config/nios2/elf.opt: Same. * config/nios2/nios2.opt: Same. * config/nvptx/nvptx.opt: Same. * config/pa/pa-hpux.opt: Same. * config/pa/pa-hpux1010.opt: Same. * config/pa/pa-hpux1111.opt: Same. * config/pa/pa-hpux1131.opt: Same. * config/pa/pa.opt: Same. * config/pa/pa64-hpux.opt: Same. * config/pdp11/pdp11.opt: Same. * config/rl78/rl78.opt: Same. * config/rs6000/476.opt: Same. * config/rs6000/aix64.opt: Same. * config/rs6000/darwin.opt: Same. * config/rs6000/linux64.opt: Same. * config/rs6000/rs6000.opt: Same. * config/rs6000/sysv4.opt: Same. * config/s390/s390.opt: Same. * config/s390/tpf.opt: Same. * config/sh/sh.opt: Same. * config/sol2.opt: Same. * config/sparc/long-double-switch.opt: Same. * config/sparc/sparc.opt: Same. * config/spu/spu.opt: Same. * config/stormy16/stormy16.opt: Same. * config/tilegx/tilegx.opt: Same. * config/tilepro/tilepro.opt: Same. * config/v850/v850.opt: Same. * config/vax/vax.opt: Same. * config/visium/visium.opt: Same. * config/vms/vms.opt: Same. * config/vxworks.opt: Same. * config/xtensa/xtensa.opt: Same. * fortran/lang.opt: Same. testsuite/ PR driver/68043 * gcc.misc-tests/help.exp: Adjust. * lib/options.exp (check_for_options): Add detail to output. From-SVN: r229155
2015-10-20compiler: Report errors after evaluating invalid constant.Ian Lance Taylor2-8/+1
The fix for golang/go#11541 made the assertion that getting an invalid Numeric_constant after evaluating an invalid constant must result in an error in a binary expression. However, a Numeric_constant can be invalid if it is unset, which occurs when either operand cannot be converted to the right type. These errors are issued after the Numeric_constant is lowered. Fixes golang/go#12615. Reviewed-on: https://go-review.googlesource.com/14646 From-SVN: r229098
2015-10-20compiler: Report errors for non-integral shift counts.Ian Lance Taylor2-2/+4
Fixes golang/go#12618. Reviewed-on: https://go-review.googlesource.com/14647 From-SVN: r229096
2015-10-20PR66870 PowerPC64 Enable gold linker with split stackAlan Modra2-4/+18
A powerpc-linux/powerpc64-linux biarch compiler can default to either -m32 or -m64, and we need to notice both -m32 and -m64 on the gccgo command line. It's also possible to build a -m64 only compiler, so in that case we can define TARGET_CAN_SPLIT_STACK. gcc/ PR go/66870 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define. * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define. (TARGET_CAN_SPLIT_STACK_64BIT): Define. gcc/go/ PR go/66870 * gospec.c (saw_opt_m32): Rename to.. (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT. Update uses. (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32. From-SVN: r229009
2015-10-07compiler: Don't make temporaries for constant operands.Ian Lance Taylor2-3/+3
Fixes golang/go#12616. Reviewed-on: https://go-review.googlesource.com/14645 From-SVN: r228578
2015-10-07re PR go/67874 (fd_unix.go does not build when there is fcntl64 and no fcntl ↵Ian Lance Taylor1-1/+1
syscall) PR go/67874 net, runtime: Call C library fcntl function rather than syscall.Syscall. Not all systems define a fcntl syscall; some only have fcntl64. Fixes GCC PR go/67874. Reviewed-on: https://go-review.googlesource.com/15497 From-SVN: r228576
2015-10-06compiler: Record each import as a distinct alias.Ian Lance Taylor5-76/+126
This patch introduces the Package_alias class which is a finer representation of the different between a package and the aliases it is imported under. Each alias keeps track of the location of its import statement and how many times that alias has been used. This allows the gofrontend to report when a specific import has not been used even if a symbol from the package has been used by another import. Fixes golang/go#12326. Reviewed-on: https://go-review.googlesource.com/14259 From-SVN: r228550
2015-10-05lex: Update unicode letters table to Unicode 8.0.0.Ian Lance Taylor2-23/+37
Fixes golang/go#12322. Reviewed-on: https://go-review.googlesource.com/13985 From-SVN: r228497
2015-10-01re PR go/66870 (split stack issues on ppc64le and ppc64)Ian Lance Taylor2-0/+8
PR go/66870 * gospec.c (lang_specific_driver): Only look for OPT_m32 if TARGET_CAN_SPLIT_STACK_64BIT is defined. From-SVN: r228342
2015-09-30re PR go/66870 (split stack issues on ppc64le and ppc64)Lynn Boger2-6/+27
PR target/66870 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define. * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power based on gold linker version. * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if HAVE_GOLD_ALTERNATE_SPLIT_STACK defined. * configure, config.in: Regenerate. go: * gospec.c (lang_specific_driver): Set appropriate split stack options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT. From-SVN: r228311
2015-09-29compiler: Accept untyped integral values as string/array indices.Ian Lance Taylor2-6/+31
When determining the type of an index for a string/array indexing expression, the gofrontend would disallow floating-point and complex values even if they were integral and throw an internal error. This patch changes gofrontend to use an integral type context when determining the types of a string/array index. Fixes golang/go#11545. Reviewed-on: https://go-review.googlesource.com/13796 From-SVN: r228270
2015-09-24runtime: Fix recent lfstack change on Solaris.Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/14922 From-SVN: r228087
2015-09-23re PR go/67695 (Please improve POSIX shell compatibility of libgo/mksysinfo.sh)Ian Lance Taylor1-1/+1
PR go/67695 mksysinfo.sh: Use = with test rather than ==. Fixes GCC PR 67695. Reviewed-on: https://go-review.googlesource.com/14858 From-SVN: r228064
2015-09-23runtime: rewrite lfstack packing/unpacking to look more like that in GoIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/13037 From-SVN: r228057
2015-09-17compiler: Issue channel type errors earlier.Ian Lance Taylor3-3/+12
When asking for the type of a receive operation, the compiler would return an error type if the receive operator was being used on an invalid channel type and the error would be reported in a later pass. There are several ways that the type checking pass would not see the original node and fail to issue the error. This patch modifies receive operations to give an error immediately once it is known that the channel type is invalid. Fixes golang/go#12323. Reviewed-on: https://go-review.googlesource.com/13987 From-SVN: r227863
2015-09-16compiler: Don't crash on erroneous channel reads.Ian Lance Taylor2-1/+10
Fixes golang/go#12320. Reviewed-on: https://go-review.googlesource.com/13932 From-SVN: r227834
2015-09-16compiler: Don't crash on malformed numeric constants.Ian Lance Taylor2-3/+28
Fixes golang/go#11548. Reviewed-on: https://go-review.googlesource.com/13794 From-SVN: r227830
2015-09-15compiler: Report init dependency errors with builtin functions.Ian Lance Taylor2-6/+8
Fixes golang/go#12319. Reviewed-on: https://go-review.googlesource.com/13931 From-SVN: r227813
2015-09-15libgo: If compiler can split-stack and linker can not, use -fno-split-stack.Ian Lance Taylor1-1/+1
If the compiler supports split-stack but we are using a gold linker that does not, as happens on PPC with current GCC but old gold, then we need to compile the Go code with -fno-split-stack to avoid a linker error avoid the inability to call from split-stack code to non-split-stack code. Reviewed-on: https://go-review.googlesource.com/14598 From-SVN: r227811
2015-09-15libgo: test linking split-stack and non-split-stack togetherIan Lance Taylor1-1/+1
PPC has split-stack support in current GCC, but old version of gold will reject attempts to link PPC split-stack and non-split-stack code together. Test for that, and don't compile the C code with -fsplit-stack if it doesn't work. Reviewed-on: https://go-review.googlesource.com/14594 From-SVN: r227802
2015-09-15runtime: Ignore stack sizes when deciding when to GC.Ian Lance Taylor1-1/+1
This restores https://golang.org/cl/6081043 which was lost accidentally when updating a new version of libgo in https://golang.org/cl/22440043 . Reviewed-on: https://go-review.googlesource.com/14569 From-SVN: r227784
2015-09-15libgo: don't provide ustat on arm64 GNU/LinuxIan Lance Taylor1-1/+1
This avoids linker warnings when linking against glibc, as apparently arm64 GNU/Linux does not support the ustat system call. Also update to automake 1.11.6, as that is the new GCC standard. Reviewed-on: https://go-review.googlesource.com/14567 From-SVN: r227777
2015-09-14compiler: Ignore result context in constant expressions.Ian Lance Taylor2-12/+19
When evaluating a constant expression, the gofrontend would incorrectly force each operand to be represented as the resulting type before checking if the operation was valid with the untyped constants. According to the language specification on constant expressions(http://golang.org/ref/spec#Constant_expressions): "Untyped boolean, numeric, and string constants may be used as operands wherever it is legal to use an operand of boolean, numeric, or string type, respectively." Fixes golang/go#11566. Reviewed-on: https://go-review.googlesource.com/12716 From-SVN: r227758
2015-09-11compiler: Avoid unsafe memcmp for nointerface comments.Ian Lance Taylor2-2/+4
Fixes golang/go#11577. Reviewed-on: https://go-review.googlesource.com/14182 From-SVN: r227699
2015-09-11libgo/runtime: return 0, not NULL, from mainIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/13421 From-SVN: r227673
2015-09-10libgo: Use stat_atim.go on Solaris 12+Ian Lance Taylor1-1/+1
From Rainer Orth. Solaris 12 changes the stat_[amc]tim members of struct stat from timestruc_t to timespec_t for XPG7 compatiblity, thus breaking the libgo build. The following patch checks for this change and uses the common stat_atim.go if appropriate. Reviewed-on: https://go-review.googlesource.com/14495 From-SVN: r227665
2015-09-10compiler: Report errors from very large types.Chris Manghane5-19/+81
The gcc backend throws an internal error when trying to get the size of a type which is larger than the amount of address space on the machine. This patch catches this error and reports it in a user friendly way. Fixes golang/go#11554. Reviewed-on: https://go-review.googlesource.com/13684 * go-gcc.cc (Gcc_backend::type_size): Return -1 for unrepresentable size. From-SVN: r227656
2015-09-10compiler: Don't allow shifts with non-integers.Ian Lance Taylor2-1/+7
Fixes golang/go#11616. Reviewed-on: https://go-review.googlesource.com/13688 From-SVN: r227604
2015-09-03compiler: Report invalid receiver types in function definitions.Ian Lance Taylor2-2/+6
Fixes golang/go#12324. Reviewed-on: https://go-review.googlesource.com/13988 From-SVN: r227427
2015-09-02compiler: Mark erroneous constants as invalid.Ian Lance Taylor3-11/+61
When the compiler failed to evaluate a numeric constant because because it was erroneous, there was no way for parent nodes to discover the error and lower themselves into error nodes. This patch now uses the NC_INVALID enumerator to mark numeric constants with a known, reported error. Fixes golang/go#11541. Reviewed-on: https://go-review.googlesource.com/13904 From-SVN: r227420
2015-09-02compiler: Accept out of range integer -> unicode conversions.Ian Lance Taylor2-1/+20
When converting a signed or unsigned integer value into a constant string, if the integer does not fit into the Go "int" type, the string will become "\uFFFD." Fixes golang/go#11525. Reviewed-on: https://go-review.googlesource.com/13906 From-SVN: r227395
2015-08-31compiler: Check for invalid UTF8 in Go comments.Ian Lance Taylor2-1/+11
Fixes golang/go#11527. Reviewed-on: https://go-review.googlesource.com/13905 From-SVN: r227332
2015-08-27compiler: Report unused variables initialized to function literals.Ian Lance Taylor2-8/+9
Fixes golang/go#12317. Reviewed-on: https://go-review.googlesource.com/13908 From-SVN: r227285
2015-08-27compiler: Allow multiple blank label definitions.Ian Lance Taylor3-1/+13
Fixes golang/go#12316. Reviewed-on: https://go-review.googlesource.com/13907 From-SVN: r227284