aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
AgeCommit message (Collapse)AuthorFilesLines
2016-02-18libgo: Update to final Go 1.6 release.Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/19592 From-SVN: r233515
2016-02-12runtime: For c-archive/c-shared, install signal handlers synchronously.Ian Lance Taylor1-1/+1
This is a port of https://golang.org/cl/18150 to the gccgo runtime. The previous behaviour of installing the signal handlers in a separate thread meant that Go initialization raced with non-Go initialization if the non-Go initialization also wanted to install signal handlers. Make installing signal handlers synchronous so that the process-wide behavior is predictable. Reviewed-on: https://go-review.googlesource.com/19494 From-SVN: r233393
2016-02-12cgraph.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor.Jakub Jelinek3-3/+9
* cgraph.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * target.def: Likewise. * sel-sched.c: Likewise. * config/mips/mips.c: Likewise. * config/arc/arc.md: Likewise. * config/arm/cortex-a57.md: Likewise. * config/arm/arm.c: Likewise. * config/arm/neon.md: Likewise. * config/arm/arm-c.c: Likewise. * config/vms/vms-c.c: Likewise. * config/s390/s390.c: Likewise. * config/i386/znver1.md: Likewise. * config/i386/i386.c: Likewise. * config/ia64/hpux-unix2003.h: Likewise. * config/msp430/msp430.md: Likewise. * config/rx/rx.c: Likewise. * config/rx/rx.md: Likewise. * config/aarch64/aarch64-simd.md: Likewise. * config/aarch64/aarch64.c: Likewise. * config/nvptx/nvptx.c: Likewise. * config/bfin/bfin.c: Likewise. * config/cris/cris.opt: Likewise. * config/rs6000/rs6000.c: Likewise. * target.h: Likewise. * spellcheck.c: Likewise. * ira-build.c: Likewise. * tree-inline.c: Likewise. * builtins.c: Likewise. * lra-constraints.c: Likewise. * explow.c: Likewise. * hwint.h: Likewise. * targhooks.c: Likewise. * tree-vect-data-refs.c: Likewise. * expr.c: Likewise. * doc/tm.texi: Likewise. * doc/extend.texi: Likewise. * doc/install.texi: Likewise. * doc/md.texi: Likewise. * tree-ssa-tail-merge.c: Likewise. * sched-int.h: Likewise. * match.pd: Likewise. * sched-ebb.c: Likewise. * target.def (omit_struct_return_reg): Likewise. * gimple-ssa-isolate-paths.c: Likewise. (find_implicit_erroneous_behaviour): Renamed to... (find_implicit_erroneous_behavior): ... this. (find_explicit_erroneous_behaviour): Renamed to... (find_explicit_erroneous_behavior): ... this. (gimple_ssa_isolate_erroneous_paths): Adjust caller. gcc/cp/ * error.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * decl.c: Likewise. * typeck.c (cp_build_binary_op): Fix up behavior spelling in diagnostics. * init.c (build_delete): Likewise. gcc/objc/ * objc-act.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * objc-map.h: Likewise. gcc/go/ * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * gccgo.texi: Likewise. gcc/ada/ * prj-tree.ads: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * prep.adb: Likewise. * prj.ads: Likewise. * prepcomp.adb: Likewise. * g-socket.ads: Likewise. * s-imgrea.adb: Likewise. * a-calend.adb: Likewise. * exp_disp.adb: Likewise. * doc/gnat_ugn/gnat_utility_programs.rst: Likewise. * g-socket.adb: Likewise. * sem_ch12.adb: Likewise. * terminals.c: Likewise. gcc/testsuite/ * objc.dg/gnu-api-2-method.m: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * objc.dg/attributes/method-nonnull-1.m: Likewise. * objc.dg/gnu-api-2-class-meta.m: Likewise. * c-c++-common/Wvarargs.c: Likewise. * c-c++-common/goacc/host_data-5.c: Likewise. * obj-c++.dg/gnu-api-2-class-meta.mm: Likewise. * obj-c++.dg/attributes/method-nonnull-1.mm: Likewise. * obj-c++.dg/gnu-api-2-method.mm: Likewise. * gcc.target/aarch64/pr60697.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrshl.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise. * gcc.target/aarch64/aapcs64/ice_2.c: Likewise. * gcc.target/aarch64/aapcs64/test_23.c: Likewise. * gcc.target/aarch64/vrnd_f64_1.c: Likewise. * g++.dg/warn/Wconversion-real-integer-3.C: Likewise. * g++.dg/lookup/koenig5.C: Likewise. * g++.dg/ext/no-asm-2.C: Likewise. * gfortran.dg/bounds_check_array_ctor_3.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_7.f90: Likewise. * gfortran.dg/used_types_16.f90: Likewise. * gfortran.dg/assumed_rank_bounds_1.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_1.f90: Likewise. * gfortran.dg/assumed_rank_bounds_2.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_4.f90: Likewise. * gfortran.dg/abstract_type_6.f03: Likewise. * gfortran.dg/bounds_check_array_ctor_5.f90: Likewise. * gfortran.dg/used_types_15.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_8.f90: Likewise. * gfortran.dg/exit_3.f08: Likewise. * gfortran.dg/open_status_2.f90: Likewise. * gfortran.dg/derived_pointer_recursion_2.f90: Likewise. * gfortran.dg/intrinsic_std_1.f90: Likewise. * gfortran.dg/associate_1.f03: Likewise. * gfortran.dg/bounds_check_array_ctor_2.f90: Likewise. * gfortran.dg/intrinsic_std_6.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_6.f90: Likewise. * gcc.dg/builtin-object-size-1.c: Likewise. * gcc.dg/noreturn-6.c: Likewise. * gcc.dg/builtin-stringop-chk-1.c: Likewise. * gcc.dg/globalalias.c: Likewise. * gcc.dg/builtins-config.h: Likewise. * gcc.dg/pr30457.c: Likewise. * gcc.c-torture/compile/volatile-1.c: Likewise. * gcc.c-torture/execute/20101011-1.c: Likewise. * c-c++-common/Waddress-1.c: Likewise. From-SVN: r233358
2016-02-10re PR go/66904 (cmd/go: "#cgo pkg-config:" comments do not work with gccgo)Ian Lance Taylor1-1/+1
PR go/66904 cmd/go: fix "#cgo pkg-config:" comments with gccgo Copy of https://golang.org/cl/18790 by Michael Hudson-Doyle. The unique difficulty of #cgo pkg-config is that the linker flags are recorded when the package is compiled but (obviously) must be used when the package is linked into an executable -- so the flags need to be stored on disk somewhere. As it happens cgo already writes out a _cgo_flags file: nothing uses it currently, but this change adds it to the lib$pkg.a file when compiling a package, reads it out when linking (and passes a version of the .a file with _cgo_flags stripped out of it to the linker). It's all fairly ugly but it works and I can't really think of any way of reducing the essential level of ugliness. Update golang/go#11739. GCC PR 66904. Reviewed-on: https://go-review.googlesource.com/19431 From-SVN: r233290
2016-02-10re PR go/69511 (G.gcstack_size uses uintptr instead of size_t)Ian Lance Taylor1-1/+1
PR go/69511 runtime: change G gcstack_size field to size_t Because its address is passed to __splitstack_find, which expects size_t*. From Dominik Vogt in GCC PR 69511. Reviewed-on: https://go-review.googlesource.com/19429 From-SVN: r233260
2016-02-09re PR go/69357 (libgo refers to _end in a non-weak way)Ian Lance Taylor1-1/+1
PR go/69537 runtime: Don't refer to _end symbol in shared library. Fixes GCC PR 69357. Reviewed-on: https://go-review.googlesource.com/19362 From-SVN: r233235
2016-02-08Remove -fshort-doubleBernd Schmidt1-1/+1
PR target/60410 * tree.c (build_common_tree_nodes): Remove short_double argument. All callers changed. * tree.h (build_common_tree_nodes): Adjust declaration. * doc/invoke.texi (-fshort-double): Remove documentation. * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Remove -fshort-double variant. * lto-wrapper.c (merge_and_complain, append_compiler_options, append_linker_options): Don't handle OPT_fshort_double. c-family/ PR target/60410 * c.opt (fshort-double): Remove. testsuite/ PR target/60410 * gcc.dg/lto/pr55113_0.c: Remove test. From-SVN: r233218
2016-02-04libgo: bump version number for upgrade to 1.6rc1Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/19233 From-SVN: r233156
2016-02-03compiler, runtime: mark stub methods, ignore them in runtime.Caller.Ian Lance Taylor2-3/+4
This fixes the long-standing bug in which the testing package misreports the file/line of an error. Reviewed-on: https://go-review.googlesource.com/19179 From-SVN: r233098
2016-02-03compiler: Unpack method names when sorting them.Ian Lance Taylor2-4/+11
Reviewed-on: https://go-review.googlesource.com/19177 From-SVN: r233097
2016-01-27compiler: Accept map composite literals with omitted key types.Ian Lance Taylor4-74/+116
compiler: Copy key_path_ when copying a Composite_literal_expression. Fixes golang/go#10263. Reviewed-on: https://go-review.googlesource.com/14299 Reviewed-on: https://go-review.googlesource.com/18988 From-SVN: r232892
2016-01-27go-lang.c (go_langhook_init_options_struct): Default to -fkeep-gc-roots-live.Ian Lance Taylor2-0/+8
* go-lang.c (go_langhook_init_options_struct): Default to -fkeep-gc-roots-live. From-SVN: r232890
2016-01-27compiler: Don't crash on erroneous array return types.Ian Lance Taylor2-1/+3
Another issue with erroneous array types. When an erroneous array type is in a function's signature, particularly the return type, we must guarantee that type is changed into an error type. Otherwise, any operations that work on arrays and slices will crash when applied to the erroneous array return type. Fixes golang/go#12939. Reviewed-on: https://go-review.googlesource.com/16235 From-SVN: r232858
2016-01-26compiler: Don't crash on invalid array type declarations.Ian Lance Taylor2-1/+10
Fixes golang/go#12937. Reviewed-on: https://go-review.googlesource.com/16233 From-SVN: r232857
2016-01-26compiler: Avoid knock-on errors with impossibly large types.Ian Lance Taylor2-3/+5
The gofrontend asks the backend compiler for the architecture appropriate size of a given type. For array types, it is possible to construct a type too large to fit on the machine. This patch does two things: 1. When an impossibly large type is encountered, we mark the type as erroneous and later calls to discover the size of that type are short-circuited. 2. When generating the GC symbol data for an impossibly large array of arrays, we avoid generating symbol data as soon as we find an array that is too large to be expressed. Fixes golang/go#12938. Reviewed-on: https://go-review.googlesource.com/16234 From-SVN: r232855
2016-01-04Update copyright years.Jakub Jelinek11-10/+12
From-SVN: r232055
2016-01-04gcc.c (process_command): Update copyright notice dates.Jakub Jelinek2-2/+6
gcc/ * gcc.c (process_command): Update copyright notice dates. * gcov-dump.c (print_version): Ditto. * gcov.c (print_version): Ditto. * gcov-tool.c (print_version): Ditto. * gengtype.c (create_file): Ditto. * doc/cpp.texi: Bump @copying's copyright year. * doc/cppinternals.texi: Ditto. * doc/gcc.texi: Ditto. * doc/gccint.texi: Ditto. * doc/gcov.texi: Ditto. * doc/install.texi: Ditto. * doc/invoke.texi: Ditto. gcc/ada/ * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. gcc/fortran/ * gfortranspec.c (lang_specific_driver): Update copyright notice dates. * gfc-internals.texi: Bump @copying's copyright year. * gfortran.texi: Ditto. * intrinsic.texi: Ditto. * invoke.texi: Ditto. gcc/go/ * gccgo.texi: Bump @copyrights-go year. gcc/java/ * jcf-dump.c (version): Update copyright notice dates. libgomp/ * libgomp.texi: Bump @copying's copyright year. libitm/ * libitm.texi: Bump @copying's copyright year. libjava/ * classpath/gnu/java/rmi/registry/RegistryImpl.java (version): Update copyright notice dates. * classpath/tools/gnu/classpath/tools/orbd/Main.java (run): Ditto. * gnu/gcj/convert/Convert.java (version): Update copyright notice dates. * gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto. libquadmath/ * libquadmath.texi: Bump @copying's copyright year. From-SVN: r232053
2015-12-22go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.Ian Lance Taylor2-29/+77
* go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add t_ and orig_type_ fields. Add new two parameter constructor. Add get_tree and get_decl methods. (Gcc_backend::var_expression): Pass location to var get_tree. (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR. Use two parameter constructor for Bvariable. (Gcc_backend::global_variable_set_init): Don't remove VIEW_CONVERT_EXPR. Use var get_decl, not get_tree. (Gcc_backend::write_global_definitions): Likewise. (Gcc_backend::init_statement): Call var get_decl, not get_tree. (Gcc_backend::block): Likewise. (Gcc_backend::implicit_variable_set_init): Likewise. (Gcc_backend::immutable_struct_set_init): Likewise. (Gcc_backend::function_set_parameters): Likewise. From-SVN: r231894
2015-12-22go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized, add a ↵Ian Lance Taylor2-1/+23
VIEW_CONVERT_EXPR to the tree. * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized, add a VIEW_CONVERT_EXPR to the tree. (Gcc_backend::global_variable_set_init): Remove any VIEW_CONVERT_EXPR. (Gcc_backend::write_global_definitions): Likewise. From-SVN: r231888
2015-12-02re PR go/65717 (64-bit runtime FAILs with 32-bit compiler)Ian Lance Taylor2-25/+23
PR go/65717 compiler: Fix array reflection when len doesn't fit in unsigned long. This comes up when using a 32-bit host and a 64-bit target. Fixes https://gcc.gnu.org/PR65717. Reviewed-on: https://go-review.googlesource.com/17330 From-SVN: r231142
2015-12-01re PR go/68477 (error: type variant differs by TYPE_STRING_FLAG.)Ian Lance Taylor2-1/+6
PR go/68477 * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set TYPE_STRING_FLAG on a variant type. From-SVN: r231096
2015-11-26re PR go/61303 (gccgo: segfault, regression since 4.8.2)Ian Lance Taylor1-1/+1
PR go/61303 runtime: don't overallocate in select code If we've already allocated an fd_set, don't allocate another one. Also, don't bother to read from rdwake if it wasn't returned in select. Fixes https://gcc.gnu.org/PR61303. Reviewed-on: https://go-review.googlesource.com/17243 From-SVN: r230922
2015-11-23re PR go/68496 ([libgo] reflect test fails on Linux x86-64)Ian Lance Taylor1-1/+1
PR go/68496 reflect: Allocate space for FFI functions returning a zero-sized type. The libffi library does not understand zero-sized types. We represent them as a struct with a single field of type void. If such a type is returned from a function, libffi will copy 1 byte of data. Allocate space for that byte, although we won't use it. Fixes https://gcc.gnu.org/PR68496. Reviewed-on: https://go-review.googlesource.com/17175 From-SVN: r230776
2015-11-21re PR go/66378 (libgo syscall.Sendfile() does not honor/use offset argument)Ian Lance Taylor1-1/+1
PR go/66378 syscall: Fix initial offset value in syscall.Sendfile. Bug reported in https://gcc.gnu.org/PR66378. Reviewed-on: https://go-review.googlesource.com/17159 From-SVN: r230699
2015-11-21re PR go/65785 (libgo TestIPv4MulticastListener test fails on machine with ↵Ian Lance Taylor1-1/+1
no network connection) PR go/65785 net: don't run multicast listen test on nil interface in short mode This is a backport of https://golang.org/cl/17154. The gccgo bug report https://gcc.gnu.org/PR65785 points out that the multicast listen tests will use the network even with -test.short. Fix test by checking testing.Short with a nil interface. Reviewed-on: https://go-review.googlesource.com/17158 From-SVN: r230695
2015-11-21re PR go/66574 (Time is provided in millisecond precision instead of ↵Ian Lance Taylor1-1/+1
nanoseconds as described in go documentation) PR go/66574 runtime: Use clock_gettime to get current time. Fetch the current time in nanoseconds, not microseconds, by using clock_gettime rather than gettimeofday. Update golang/go#11222. Fixes https://gcc.gnu.org/PR66574. Reviewed-on: https://go-review.googlesource.com/17156 From-SVN: r230694
2015-11-20re PR go/68141 (go/gofrontend/import-archive.cc: 2 * poor choice of function ↵Ian Lance Taylor2-3/+3
parameter type ?) PR go/68141 compiler: Use references in Archive_iterator comparison functions. Fixes minor performance problem pointed out in https://gcc.gnu.org/PR68141 . Reviewed-on: https://go-review.googlesource.com/17153 From-SVN: r230689
2015-11-20re PR go/68072 (malformed DWARF TagVariable entry)Ian Lance Taylor1-1/+1
PR go/68072 cmd/cgo: ignore vars with no name or type if they have a AttrSpecification Backport of master CL https://golang.org/cl/17151. Fixes https://gcc.gnu.org/PR/68072. Reviewed-on: https://go-review.googlesource.com/17152 From-SVN: r230685
2015-11-20cmd: Use correct install tool dir with gccgoIan Lance Taylor1-1/+1
When using the go command built from gccgo to build and install a go tool, use the value from runtime GCCGOTOOLDIR as the install directory. This also fixes the output from 'go tool' when used with the gccgo-built go command, to only include the go tools and not other binaries found in the same directory. Reviewed-on: https://go-review.googlesource.com/16516 From-SVN: r230677
2015-11-20compiler: Use receiver name in hash/equal for type within method.Ian Lance Taylor2-2/+11
Test case sent as https://golang.org/cl/17081. Reviewed-on: https://go-review.googlesource.com/17082 From-SVN: r230657
2015-11-11decl.c: Remove unused header files.Andrew MacLeod5-14/+7
ada * gcc-interface/decl.c: Remove unused header files. * gcc-interface/misc.c: Likewise. * gcc-interface/targtyps.c: Likewise. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. c * c-array-notation.c: Remove unused header files. * 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. * gccspec.c: Likewise. c-family * array-notation-common.c: Remove unused header files. * 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 * call.c: Remove unused header files. * 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. * g++spec.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 * array.c: Remove unused header files. * 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. * 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 * go-backend.c: Remove unused header files. * go-gcc.cc: Likewise. * go-lang.c: Likewise. * gospec.c: Likewise. Java * boehm.c: Remove unused header files. * 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. * zextract.c: Likewise. jit * dummy-frontend.c: Remove unused header files. * jit-builtins.c: Likewise. * jit-playback.c: Likewise. * jit-recording.c: Likewise. * jit-spec.c: Likewise. * libgccjit.c: Likewise. lto * lto-lang.c: Remove unused header files. * lto-object.c: Likewise. * lto-partition.c: Likewise. * lto-symtab.c: Likewise. * lto.c: Likewise. objc * objc-act.c: Remove unused header files. * objc-encoding.c: Likewise. * objc-gnu-runtime-abi-01.c: Likewise. * objc-lang.c: Likewise. * objc-map.c: Likewise. * objc-next-runtime-abi-01.c: Likewise. * objc-next-runtime-abi-02.c: Likewise. * objc-runtime-shared-support.c: Likewise. objcp * objcp-decl.c: Remove unused header files. * objcp-lang.c: Likewise. From-SVN: r230166
2015-11-10libgo: use Solaris sendfile lib, fix Solaris _in6_addr_t fieldsIan Lance Taylor1-1/+1
Before Solaris 12 the sendfile function is found in -lsendfile, so look for it there. Solaris 12 adds some more types that use _in6_addr_t, that need to be edited in mksysinfo. Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/16779 From-SVN: r230132
2015-11-10re PR go/68255 (cgo-generated constructor not being called)Ian Lance Taylor1-1/+1
PR go/68255 cmd/go: always use --whole-archive for gccgo packages This is a backport of https://golang.org/cl/16775. This is, in effect, what the gc toolchain does. It fixes cases where Go code refers to a C global variable; without this, if the global variable was the only thing visible in the C code, the generated cgo file might not get pulled in from the archive, leaving the Go variable uninitialized. This was reported against gccgo as https://gcc.gnu.org/PR68255 . Reviewed-on: https://go-review.googlesource.com/16778 From-SVN: r230120
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