aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
AgeCommit message (Collapse)AuthorFilesLines
2018-11-27compiler: finalize types parsed for inline functionsIan Lance Taylor5-8/+37
When we inline functions, we may parse types that we have not seen before inlining. Inlining runs after the finalize_methods pass, so those types will not be finalized, meaning that we don't have an accurate list of which methods they support. Explicitly finalize them when we parse them. Reviewed-on: https://go-review.googlesource.com/c/150068 From-SVN: r266530
2018-11-27compiler: add '$' to names in expression export dataIan Lance Taylor3-24/+42
For inlined function bodies we're going to need to refer to variables, so change the existing export data to add a '$' to names that look like identifiers: true, false, nil, convert. While we're here drop an unnecessary space character after operators. Reviewed-on: https://go-review.googlesource.com/c/150067 From-SVN: r266529
2018-11-27compiler: change expression importing to use Import_expressionIan Lance Taylor7-69/+296
Change expression importing to use a new abstract interface class Import_expression, so that we can more easily import expressions from inlinable function bodies. This is a refactoring with no affect on compiler behavior. Reviewed-on: https://go-review.googlesource.com/c/150065 From-SVN: r266526
2018-11-27compiler: pass a Location to import_expressionIan Lance Taylor6-52/+57
Separate the Location that import_expression uses when creating a new Expression from the Location used to report an error. This is a step toward importing expressions for inlined functions. This is a pure refactoring that does not affect compiler behavior. Reviewed-on: https://go-review.googlesource.com/c/150064 From-SVN: r266525
2018-11-27compiler: change Expression export to use Export_function_bodyIan Lance Taylor7-111/+157
In preparation for writing expressions to inline function bodies, change the existing expression export code to use Export_function_body rather than Export. Adjust existing expression exporters accordingly. This is a refactoring that doesn't affect compiler output. Reviewed-on: https://go-review.googlesource.com/c/150063 From-SVN: r266523
2018-11-27compiler: import inlinable functions from package dataIan Lance Taylor13-33/+512
Start reading the export data generated by the last change in this series. At this point we will inline direct calls to empty functions and methods defined in different packages. Reviewed-on: https://go-review.googlesource.com/c/150062 From-SVN: r266517
2018-11-26syscall: always define WEXITED and WNOWAIT on GNU/LinuxIan Lance Taylor1-1/+1
Fixes https://gcc.gnu.org/PR88135 Reviewed-on: https://go-review.googlesource.com/c/150897 From-SVN: r266495
2018-11-26compiler: initial support for exporting function bodiesIan Lance Taylor9-10/+397
Create a framework for putting function bodies in export data. At present only empty functions will be put there, and they will be ignored on import. Later patches will get this to the point of supporting inlining of (some) functions defined in other packages. Reviewed-on: https://go-review.googlesource.com/c/150061 From-SVN: r266490
2018-11-21re PR go/88060 ↵Ian Lance Taylor1-1/+1
(../../../gcc-8.2.0/libgo/go/syscall/libcall_linux_utimesnano.go:17:18: error: reference to undefined name ‘_AT_FDCWD’) PR go/88060 syscall: always define _AT_FDCWD and IPv6MTUInfo They aren't defined by old versions of glibc, but are required by the code in syscall_linux.go. Reviewed-on: https://go-review.googlesource.com/c/150697 From-SVN: r266333
2018-11-13Eliminate source_location in favor of location_tDavid Malcolm6-13/+21
Historically GCC used location_t, while libcpp used source_location. This inconsistency has been annoying me for a while, so this patch removes source_location in favor of location_t throughout (as the latter is shorter). gcc/ChangeLog: * builtins.c: Replace "source_location" with "location_t". * diagnostic-show-locus.c: Likewise. * diagnostic.c: Likewise. * dumpfile.c: Likewise. * gcc-rich-location.h: Likewise. * genmatch.c: Likewise. * gimple.h: Likewise. * gimplify.c: Likewise. * input.c: Likewise. * input.h: Likewise. Eliminate the typedef. * omp-expand.c: Likewise. * selftest.h: Likewise. * substring-locations.h (get_source_location_for_substring): Rename to.. (get_location_within_string): ...this. * tree-cfg.c: Replace "source_location" with "location_t". * tree-cfgcleanup.c: Likewise. * tree-diagnostic.c: Likewise. * tree-into-ssa.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-phinodes.c: Likewise. * tree-phinodes.h: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa.c: Likewise. * tree-ssa.h: Likewise. * tree-vect-loop-manip.c: Likewise. gcc/c-family/ChangeLog: * c-common.c (c_get_substring_location): Update for renaming of get_source_location_for_substring to get_location_within_string. * c-lex.c: Replace "source_location" with "location_t". * c-opts.c: Likewise. * c-ppoutput.c: Likewise. gcc/c/ChangeLog: * c-decl.c: Replace "source_location" with "location_t". * c-tree.h: Likewise. * c-typeck.c: Likewise. * gimple-parser.c: Likewise. gcc/cp/ChangeLog: * call.c: Replace "source_location" with "location_t". * cp-tree.h: Likewise. * cvt.c: Likewise. * name-lookup.c: Likewise. * parser.c: Likewise. * typeck.c: Likewise. gcc/fortran/ChangeLog: * cpp.c: Replace "source_location" with "location_t". * gfortran.h: Likewise. gcc/go/ChangeLog: * go-gcc-diagnostics.cc: Replace "source_location" with "location_t". * go-gcc.cc: Likewise. * go-linemap.cc: Likewise. * go-location.h: Likewise. * gofrontend/README: Likewise. gcc/jit/ChangeLog: * jit-playback.c: Replace "source_location" with "location_t". gcc/testsuite/ChangeLog: * g++.dg/plugin/comment_plugin.c: Replace "source_location" with "location_t". * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Likewise. libcc1/ChangeLog: * libcc1plugin.cc: Replace "source_location" with "location_t". (plugin_context::get_source_location): Rename to... (plugin_context::get_location_t): ...this. * libcp1plugin.cc: Likewise. libcpp/ChangeLog: * charset.c: Replace "source_location" with "location_t". * directives-only.c: Likewise. * directives.c: Likewise. * errors.c: Likewise. * expr.c: Likewise. * files.c: Likewise. * include/cpplib.h: Likewise. Rename MAX_SOURCE_LOCATION to MAX_LOCATION_T. * include/line-map.h: Likewise. * init.c: Likewise. * internal.h: Likewise. * lex.c: Likewise. * line-map.c: Likewise. * location-example.txt: Likewise. * macro.c: Likewise. * pch.c: Likewise. * traditional.c: Likewise. From-SVN: r266085
2018-11-09cmd/cgo: fix typo in gccgo name mangling recipeIan Lance Taylor1-1/+1
The code to implement new-style gccgo name mangling had a recipe that didn't quite match the one in the compiler (incorrect handling for '.'). This showed up as a failure in the gotools cgo test if the directory containing the test run included a "." character. Reviewed-on: https://go-review.googlesource.com/c/147917 From-SVN: r265981
2018-11-09syscall: change RLIM_INFINITY from 0xffffffffffffffff to -1Ian Lance Taylor1-1/+1
For compatibility with the gc toolchain's syscall package. Fixes golang/go#28665 Reviewed-on: https://go-review.googlesource.com/c/148697 From-SVN: r265974
2018-11-05compiler: handle abstract type in builtin numeric const valueIan Lance Taylor2-2/+2
Builtin_call_expression::do_numeric_constant_value can be called by Array_type::verify_length before the determine types pass, so accept an abstract type. Test case is https://golang.org/cl/147537. Fixes golang/go#28601 Reviewed-on: https://go-review.googlesource.com/c/147442 From-SVN: r265820
2018-11-01go-gcc.cc (Gcc_backend::write_global_definitions): Don't call ↵Ian Lance Taylor2-1/+8
gimplify_function_tree. * go-gcc.cc (Gcc_backend::write_global_definitions): Don't call gimplify_function_tree. Instead call allocate_struct_function if necessary. From-SVN: r265710
2018-10-31re PR bootstrap/82856 (--enable-maintainter-mode broken by incompatiblity of ↵Ian Lance Taylor1-1/+1
gcc's required automake and modern Perl) PR bootstrap/82856 libgo: update to autoconf 2.69 and automake 1.15.1 Initial patch from Joseph Myers. Reviewed-on: https://go-review.googlesource.com/c/146417 From-SVN: r265701
2018-10-29compiler: pass a single flags argument to Backend::functionIan Lance Taylor5-48/+73
Reviewed-on: https://go-review.googlesource.com/c/145319 * go-gcc.cc (Gcc_backend::function): Change to use a single flags parameter. From-SVN: r265599
2018-10-29compiler: add location_fileIan Lance Taylor4-4/+32
Add support for getting the file name from a Location value. This will be used by later work. Reviewed-on: https://go-review.googlesource.com/c/145318 * go-linemap.cc (Gcc_linemap::location_file): New method. From-SVN: r265598
2018-10-26libgo: simplify gotest script to avoid sed substitution to \nIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/c/145057 From-SVN: r265541
2018-10-26libgo: avoid use of 'local' directive in shell scriptIan Lance Taylor1-1/+1
Avoid declaring shell variables with 'local' (not supported on all systems of interest). Reviewed-on: https://go-review.googlesource.com/c/145021 From-SVN: r265534
2018-10-26libgo: fix improperly mangled linker symbol directiveIan Lance Taylor1-1/+1
Fix asm name directive for the C version of log/syslog.syslog_c, which didn't get included in the recent name mangling change. Reviewed-on: https://go-review.googlesource.com/c/145017 From-SVN: r265533
2018-10-26libgo: don't use wc in gotestIan Lance Taylor1-1/+1
The wc command is not in the GNU approved list of Makefile utilities (https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html#Utilities-in-Makefiles). Reviewed-on: https://go-review.googlesource.com/c/144897 From-SVN: r265515
2018-10-25compiler: improve name mangling for packpathsIan Lance Taylor7-76/+153
The current implementation of Gogo::pkgpath_for_symbol was written in a way that allowed two distinct package paths to map to the same symbol, which could cause collisions at link- time or compile-time. Switch to a better mangling scheme to insure that we get a unique packagepath symbol for each package. In the new scheme instead of having separate mangling schemes for identifiers and package paths, the main identifier mangler ("go_encode_id") now handles mangling of both packagepath characters and identifier characters. The new mangling scheme is more intrusive: "foo/bar.Baz" is mangled as "foo..z2fbar.Baz" instead of "foo_bar.Baz". To mitigate this, this patch also adds a demangling capability so that function names returned from runtime.CallersFrames are converted back to their original unmangled form. Changing the pkgpath_for_symbol scheme requires updating a number of //go:linkname directives and C "__asm__" directives to match the new scheme, as well as updating the 'gotest' driver (which makes assumptions about the correct mapping from pkgpath symbol to package name). Fixes golang/go#27534. Reviewed-on: https://go-review.googlesource.com/c/135455 From-SVN: r265510
2018-10-23re PR go/87661 (libgo bootstrap failure on arm-linux-gnueabihf (redefinition ↵Ian Lance Taylor1-1/+1
of constants)) PR go/87661 runtime: remove unused armArch, hwcap and hardDiv After CL 140057 these are only written but never read in gccgo. Reviewed-on: https://go-review.googlesource.com/c/141077 From-SVN: r265439
2018-10-23compiler: export indexed type data, read unexported types lazilyIan Lance Taylor9-152/+555
Introduce a new "types" command to the export data to record the number of types and the size of their export data. It is immediately followed by new "type" commands that can be indexed. Parse all the exported types immediately so that we register them, but parse other type data only as needed. Reviewed-on: https://go-review.googlesource.com/c/143022 From-SVN: r265409
2018-10-19compiler: don't export any functions with special namesIan Lance Taylor2-7/+3
This keeps init functions from appearing in the export data. Checking for special names in general means that we don't need to check specifically for nested functions or thunks, which have special names. Reviewed-on: https://go-review.googlesource.com/c/143237 From-SVN: r265321
2018-10-18compiler: add COMPARE_ALIASES flag for type compare and hashIan Lance Taylor3-10/+25
Normally aliases compare as identical to the underlying type. Add a COMPARE_ALIASES flag to let them compare (and hash) differently. This will be used by later patches in this series. Reviewed-on: https://go-review.googlesource.com/c/143021 From-SVN: r265297
2018-10-18compiler: list indirect imports separately in export dataIan Lance Taylor7-23/+255
Previously when export data referred to a type that was not defined in a directly imported package, we would write the package name as additional information in the type's export data. That approach required all type information to be read in order. This patch changes the compiler to find all references to indirectly imported packages, and write them out as an indirectimport line in the import data. This will permit us to read exported type data out of order. The type traversal used to find indirect imports is a little more complicated than necessary in preparation for later patches in this series. Reviewed-on: https://go-review.googlesource.com/c/143020 From-SVN: r265296
2018-10-18Remove ChangeLog entry for changes in gofrontend that were reverted.Ian Lance Taylor1-15/+0
From-SVN: r265295
2018-10-18Revert SVN revision 264561, incorrectly committed directly to the GCCIan Lance Taylor6-17/+32
repo rather than to the master repo. From-SVN: r265294
2018-10-18compiler: rewrite Type::are_identical to use flagsIan Lance Taylor8-181/+173
A single flags parameter replaces the Cmp_tags and errors_are_identical parameters. The existing behavior is unchanged. This is a simplification step for future work that will add a new flag. Reviewed-on: https://go-review.googlesource.com/c/143019 From-SVN: r265293
2018-10-18compiler: drop semicolons in export dataIan Lance Taylor7-34/+72
The export data, which is approximately readable and looks something like Go, was first implemented back when Go still used semicolons. Drop the semicolons, to make it look slightly more Go like and make it slightly smaller. This updates the compiler and the gccgoimporter package. This introduces a new version of the export data. There are going to be more changes to the export data, so this version is still subject to change. Reviewed-on: https://go-review.googlesource.com/c/143018 From-SVN: r265284
2018-10-17Run selftests for C++ as well as CDavid Malcolm2-0/+7
gcc/ChangeLog: * Makefile.in (SELFTEST_TARGETS): New. (selftest) Change from s-selftest-c to $(SELFTEST_TARGETS). (C_SELFTEST_FLAGS, C_SELFTEST_DEPS, s-selftest-c, selftest-c-gdb) (selftest-gdb, selftest-c-valgrind, selftest-valgrind): Move to c/Make-lang.in. (CPP_SELFTEST_FLAGS, CPP_SELFTEST_DEPS, s-selftest-c++) (selftest-c++-gdb, selftest-c++-valgrind): Move to cp/Make-lang.in. * configure: Regenerate. * configure.ac (selftest_languages): New. gcc/brig/ChangeLog: * Make-lang.in (selftest-brig): New. gcc/c/ChangeLog: * Make-lang.in (selftest-c): New. (C_SELFTEST_FLAGS, C_SELFTEST_DEPS, s-selftest-c, selftest-c-gdb) (selftest-gdb, selftest-c-valgrind, selftest-valgrind): Move here from gcc/Makefile.in. gcc/cp/ChangeLog: * Make-lang.in (selftest-c++): New. (CPP_SELFTEST_FLAGS, CPP_SELFTEST_DEPS, s-selftest-c++) (selftest-c++-gdb, selftest-c++-valgrind): Move here from gcc/Makefile.in. gcc/fortran/ChangeLog: * Make-lang.in (selftest-fortran): New. gcc/go/ChangeLog: * Make-lang.in (selftest-go): New. gcc/jit/ChangeLog: * Make-lang.in (selftest-jit): New. gcc/lto/ChangeLog: * Make-lang.in (selftest-lto): New. gcc/objc/ChangeLog: * Make-lang.in (selftest-objc): New. gcc/objcp/ChangeLog: * Make-lang.in (selftest-obj-c++): New. From-SVN: r265240
2018-10-09runtime: skip testSetPanicOnFault for gollvmIan Lance Taylor1-1/+1
LLVM doesn't support non-call exception. This test was passing more or less by luck: if the faulting instruction is between two calls with the same landing pad (in instruction layout order, not the program's logic order), it generates a merged PC range that covers the faulting instruction. If the instruction layout order changes, or it uses two different (but may be degenerate) landing pads, this doesn't work. Reviewed-on: https://go-review.googlesource.com/c/140517 From-SVN: r264985
2018-10-08libgo: update to Go 1.11.1 releaseIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/c/140277 From-SVN: r264932
2018-10-05libgo: use inline assembly in favor of call to _xgetbv()Ian Lance Taylor1-1/+1
Use inline assembly in the implementation of internal_cpu.xgetbv as opposed to a call to the intrinsic _xgetbv(), since non-gcc compilers (e.g. clang) may or may not have support for it. Reviewed-on: https://go-review.googlesource.com/c/140137 From-SVN: r264882
2018-10-05runtime: remove checkgoarm functionIan Lance Taylor1-1/+1
Nothing in libgo calls checkgoarm, and it relies on a variable, goarm, that is not set. Reviewed-on: https://go-review.googlesource.com/c/140057 From-SVN: r264872
2018-10-02internal/bytealg: support systems that don't have memmemIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/138839 From-SVN: r264798
2018-10-02net: don't fail test if splice fails because pipe2 is missingIan Lance Taylor1-1/+1
This reportedly happens on CentOS 5.11. The real code will work fine; this test is assuming that the unexported slice function will handle the splice, but if pipe2 does not work then it doesn't. The relevant code in internal/poll/splice_linux.go says "Falling back to pipe is possible, but prior to 2.6.29 splice returns -EAGAIN instead of 0 when the connection is closed." Reviewed-on: https://go-review.googlesource.com/138838 From-SVN: r264793
2018-10-01compiler: use the underlying type to build placeholder type for aliasIan Lance Taylor2-1/+3
When asking for a placeholder type of an alias type, build a placeholder for the underlying type, instead of treating the alias as a named type and calling get_backend. The latter may fail as we may not be ready to build a complete backend type. We have already used a unified backend type for alias type and its underlying type. Do the same for placeholders as well. Reviewed-on: https://go-review.googlesource.com/138635 From-SVN: r264773
2018-10-01libgo: support x32 as GOARCH=amd64p32 GOOS=linuxIan Lance Taylor1-1/+1
This is enough to let libgo build when configured using --with-multilib-list=m64,m32,mx32. I don't have an x32-enabled kernel so I haven't tested whether it executes correctly. For https://gcc.gnu.org/PR87470 Reviewed-on: https://go-review.googlesource.com/138817 From-SVN: r264772
2018-10-01runtime: add arm64 version of AES hash codeIan Lance Taylor1-1/+1
Rewrite the arm64 AES hashing code from gc assembler to C code using intrinsics. The resulting code generates the same hash code for the same input as the gc code--that doesn't matter as such, but testing it ensures that the C code does something useful. Reviewed-on: https://go-review.googlesource.com/138535 From-SVN: r264771
2018-09-28compiler: fix parsing issue with non-ASCII first package charIan Lance Taylor4-4/+19
Fix a bug in the parser code that decides whether a given name should be considered exported or not. The function Lex::is_exported_name (which assumes that its input is a mangled name) was being called on non-mangled (raw utf-8) names in various places. For the bug in question this caused an imported package to be registered under the wrong name. To fix the issue, rename 'Lex::is_exported_name' to 'Lex::is_exported_mangled_name', and add a new 'Lex::is_exported_name' that works on utf-8 strings. Fixes golang/go#27836. Reviewed-on: https://go-review.googlesource.com/137736 From-SVN: r264690
2018-09-26syscall: don't assume we have a GETEUID system callIan Lance Taylor1-1/+1
On Alpha GNU/Linux there is no geteuid system call, there is only getresuid. The raw geteuid system call is only used for testing, so just skip the test if it's not available. Reviewed-on: https://go-review.googlesource.com/137655 From-SVN: r264647
2018-09-26runtime, os: fix the build on SolarisIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/137535 From-SVN: r264593
2018-09-25internal/bytealg, internal/cpu, internal/poll: portability fixesIan Lance Taylor1-1/+1
In internal/bytealg correct a +build tag to never build indexbyte_generic.go for the gofrontend, where we always use indexbyte_native.go. For internal/cpu let the Makefile define CacheLineSize using goarch.sh, rather than trying to enumerate all the possibilities in cpu_ARCH.go files. In internal/poll call the C fcntl function rather than using SYS_FCNTL. Change mksysinfo.sh to ensure that F_GETPIPE_SZ is always defined, and check that in internal/poll. Reviewed-on: https://go-review.googlesource.com/137256 From-SVN: r264572
2018-09-25cmd/go: pass down testing gccgo in TestScriptIan Lance Taylor1-1/+1
This permits TestScript to work when gccgo is not installed. Previous testing was using a previously installed gccgo, not the newly built one. This revealed that the testing of whether an internal package is permitted was incorrect for standard library packages, since the uninstalled gccgo can see internal packages in the uninstalled libgo. Fix the internal package tests. This permitted removing a couple of gccgo-specific changes in the testsuite. Reviewed-on: https://go-review.googlesource.com/137255 From-SVN: r264570
2018-09-25Remove unused functions and fields.Martin Liska7-32/+32
2018-09-25 Martin Liska <mliska@suse.cz> * alias.c (set_dest_equal_p): Remove unused function. * config/i386/i386.c (def_builtin_pure2): Likewise. * diagnostic-show-locus.c (class layout): Remove unused field. (layout::layout): Likewise here. * dump-context.h (class temp_dump_context): Likewise. * dwarf2out.c (add_AT_fde_ref): Remove unused function. (add_AT_loclistsptr): Likewise. (add_AT_offset): Likewise. (get_AT_hi_pc): Likewise. (is_comdat_die): Likewise. (type_is_enum): Likewise. (ceiling): Likewise. (add_AT_vms_delta): Likewise. (is_class_die): Likewise. * edit-context.c (class line_event): Remove unused field. * graphite-sese-to-poly.c (tree_int_to_gmp): Remove unused function. * ipa-cp.c (ipa_get_vr_lat): Likewise. * lra-constraints.c (ok_for_index_p_nonstrict): Likewise. (ok_for_base_p_nonstrict): Likewise. * tree-chrec.c (is_not_constant_evolution): Likewise. (chrec_fold_poly_cst): Likewise. * tree-if-conv.c (has_pred_critical_p): Likewise. * tree-ssa-coalesce.c (print_exprs): Likewise. * tree-ssa-pre.c (bitmap_set_contains_expr): Likewise. * tree-ssa-uninit.c (is_and_or_or_p): Likewise. * tree-vrp.c (value_ranges_intersect_p): Likewise. (value_range_nonnegative_p): Likewise. 2018-09-25 Martin Liska <mliska@suse.cz> * name-lookup.c (namespace_scope_ht_size): Remove unused function. * parser.c (cp_lexer_next_token_is_not_keyword): Likewise. 2018-09-25 Martin Liska <mliska@suse.cz> * trans.c (remove_suffix): Remove unused function. 2018-09-25 Martin Liska <mliska@suse.cz> * gofrontend/escape.cc (Gogo::analyze_escape): Remove usage of a parameter. (Gogo::assign_connectivity): Likewise. (class Escape_analysis_tag): Likewise. (Gogo::tag_function): Likewise. * gofrontend/expressions.cc (Call_expression::do_type): Likewise. * gofrontend/gogo.h (class Gogo): Likewise. * gofrontend/types.cc (class Call_multiple_result_type): Likewise. (Type::make_call_multiple_result_type): Likewise. * gofrontend/types.h (class Type): Likewise. * gofrontend/wb.cc (class Check_escape): Likewise. (Gogo::add_write_barriers): Likewise. From-SVN: r264561
2018-09-24libgo: update to Go 1.11Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/136435 gotools/: * Makefile.am (mostlyclean-local): Run chmod on check-go-dir to make sure it is writable. (check-go-tools): Likewise. (check-vet): Copy internal/objabi to check-vet-dir. * Makefile.in: Rebuild. From-SVN: r264546
2018-09-20Fix and document -r optionAllan Sandfeld Jensen2-0/+5
The option has existed and been working for years, make sure it implies the right extra options, and list it in the documentation. 2018-09-20 Allan Sandfeld Jensen <allan.jensen@qt.io> gcc/ * gcc.c (LINK_COMMAND_SPEC): Handle -r like -nostdlib. (VTABLE_VERIFICATION_SPEC): Likewise. (SANITIZER_EARLY_SPEC): Likewise. (SANITIZER_SPEC): Likewise. * config/darwin.h (LINK_COMMAND_SPEC): Likewise. * doc/invoke.texi (Link Options): Document -r. gcc/cp/ * g++spec.c (lang_specific_driver): Handle -r like -nostdlib. gcc/fortran/ * gfortranspec.c (lang_specific_driver): Handle -r like -nostdlib. gcc/go/ * gospec.c (lang_specific_driver): Handle -r like -nostdlib. gcc/testsuite/ * g++.dg/ipa/pr64059.C: Removed now redundant -nostdlib. * g++.dg/lto/20081109-1_0.C: Likewise. * g++.dg/lto/20090302_0.C: Likewise. * g++.dg/lto/pr45621_0.C: Likewise. * g++.dg/lto/pr60567_0.C: Likewise. * g++.dg/lto/pr62026.C: Likewise. * gcc.dg/lto/pr45736_0.c: Likewise. * gcc.dg/lto/pr52634_0.c: Likewise. * gfortran.dg/lto/20091016-1_0.f90: Likewise. * gfortran.dg/lto/pr79108_0.f90: Likewise. From-SVN: r264451
2018-09-14cmd/go: correct gccgo buildid file on ARMIan Lance Taylor1-1/+1
Bring in https://golang.org/cl/135297 from the gc repository to fix a GCC bug report. Original CL description: The GNU assembler for ARM treats @ as a comment character, so section types must be written using % instead. Fixes https://gcc.gnu.org/PR87260. Reviewed-on: https://go-review.googlesource.com/135360 From-SVN: r264330