summaryrefslogtreecommitdiffstats
path: root/gcc/go
Commit message (Collapse)AuthorAgeFilesLines
...
* compiler: Correct types when type conversion makes backend call.ian2013-11-081-2/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204559 138bc75d-0d04-0410-961f-82ee72b054a4
* * go-lang.c (go_langhook_post_options): Ifian2013-11-062-0/+12
| | | | | | | | -fisolate-erroneous-paths was turned on by an optimization option, turn it off. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204459 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Implement 3-index slicing.ian2013-10-245-44/+171
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204034 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: use builtin runtime calls for integer to string and string to ↵ian2013-10-231-26/+11
| | | | | | array conversions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203996 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Rework handling of imported anonymous builtin types again.ian2013-10-172-37/+50
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203795 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Don't warn for unknown type when importing anonymous field.ian2013-10-171-4/+18
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203772 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: Don't clobber saved context when catching signal.ian2013-10-147-30/+66
| | | | | | | * go-gcc.cc (Gcc_backend::address_expression): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203579 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Fix handling of imported struct with embedded builtin type.ian2013-10-132-0/+18
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203496 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Fix handling of hidden methods for unnamed types.ian2013-10-114-6/+23
| | | | | | | | | | | If an interface has hidden methods, we must make the interface table comdat if it is for an unnamed type. When we create a stub method for an unnamed type, don't make it publically visible. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203468 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Use backend interface for function code expressions.ian2013-10-118-110/+135
| | | | | | | | * go-gcc.cc (Gcc_backend::function_code_expression): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203467 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Error if receiver and parameter have same name.ian2013-10-111-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203455 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Better error message of unsafe.Offsetof(method value).ian2013-10-111-1/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203454 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: accept integral float constants as string indices.ian2013-10-111-2/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203452 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Improve handling of invalid ASCII characters in identifiers.ian2013-10-111-1/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203450 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Use backend interface for function declarations.ian2013-10-119-309/+368
| | | | | | | | | | * go-gcc.cc (Backend::error_function): New function. (Backend::function): New function. (Backend::make_function): New function. (function_to_tree): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203403 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Avoid extra error for anonymous embedded type.ian2013-10-111-6/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203402 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Fix test for constant argument too large for make.ian2013-10-101-2/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203338 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Don't inherit logical operator operand type from context.ian2013-10-101-0/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203337 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: A type conversion of a constant is not always a constant.ian2013-10-101-2/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203332 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler, runtime: Fix complex division of NaN / 0.ian2013-10-093-0/+50
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203331 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Error for qualified ID as field name in struct literal.ian2013-10-083-9/+50
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203292 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Use backend interface for temporary reference expressions.ian2013-10-044-8/+34
| | | | | | | * go-gcc.cc (Backend::convert_expression): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203209 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Use backend interface for numeric expressions.ian2013-10-026-123/+187
| | | | | | | | | | * go-gcc.cc: Include "real.h" and "realmpfr.h". (Backend::integer_constant_expression): New function. (Backend::float_constant_expression): New function. (Backend::complex_constant_expression): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203127 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Use backend interface for variable expressions.ian2013-09-304-8/+61
| | | | | | | | | * go-gcc.cc (Backend::error_expression): New function. (Backend::var_expression): New function. (Backend::indirect_expression): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203038 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Avoid knockon errors for invalid uses of _.ian2013-09-285-6/+47
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203006 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in (gospec.o): Remove.tromey2013-09-252-91/+26
| | | | | | | | | | | | | | | | | | | (CFLAGS-go/gospec.o): New variable. (GCCGO_OBJS): Update to use go/gospec.o. (go_OBJS): Define. (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H) (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H) (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H) (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o) (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o) (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o) (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o) (go/parse.o, go/runtime.o, go/statements.o, go/types.o) (go/unsafe.o): Remove. (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables. (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202905 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (DRIVER_DEFINES): Use $(and), not shell code,tromey2013-09-252-2/+5
| | | | | | | | | | | | | | | | | | to add -DENABLE_SHARED_LIBGCC. (gcc.o): Don't use subshell. gcc/c * Make-lang.in (c/gccspec.o): Don't use subshell. gcc/cp * Make-lang.in (g++spec.o): Don't use subshell. gcc/fortran * Make-lang.in (gfortranspec.o): Don't use subshell. gcc/go * Make-lang.in (gospec.o): Don't use subshell. gcc/java * Make-lang.in (jvspec.o): Don't use subshell. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202897 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: don't permit nil assignment to blank identifier.ian2013-09-252-5/+14
| | | | | | | Fixes https://code.google.com/p/go/issues/detail?id=6005. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202881 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Fix inconsistent check for structs using memcmp for ==.ian2013-09-192-5/+1
| | | | | | | Test is bug479. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202751 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Fix name of unexported method of embedded imported type.ian2013-09-181-1/+25
| | | | | | | Test case is fixedbugs/bug478.go in master testsuite. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202726 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Correctly handle identical unnamed structs with methods.ian2013-09-182-11/+33
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202723 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Fix type of result of shortcut calculation.ian2013-09-181-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202717 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: expand arguments with multiple results for built-in functions.ian2013-09-041-21/+15
| | | | | | | Fixed https://code.google.com/p/go/issues/detail?id=5796. Official fixedbug will be added with change to gc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202239 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler, runtime: Use runtime functions to pass closure value.ian2013-09-039-316/+201
| | | | | | | | | | | | This changes the compiler and runtime to not pass a closure value as the last argument, but to instead pass it via __go_set_closure and retrieve it via __go_get_closure. This eliminates the need for function descriptor wrapper functions. It will make it possible to retrieve the closure value in a reflect.MakeFunc function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202233 138bc75d-0d04-0410-961f-82ee72b054a4
* * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC ifian2013-08-292-10/+12
| | | | | | | | the struct is not hidden. (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202065 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: don't export embedded builtins.ian2013-08-232-3/+28
| | | | | | | | | | | | | The panic in test/fixedbugs/bug461.go was caused by the fact that reflect expects unexported fields in a struct to have a valid package path. If a struct field is an embedded built-in type, it is now given the package name of the currently compiling package, so it remains unexported for purposes of reflect. Fixed Issue 25. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201951 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Don't generate value reference in range clause if receiver is a sink.ian2013-08-171-1/+2
| | | | | | | | | The panic in test/fixedbugs/bug454.go was caused by the generation of an unnecessary var reference when writing a range value into a sink. If the receiving variable is a sink, there's no need to dereference a possible NULL pointer. Fixes Issue 24. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201815 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Fix "missing return" error for case T1, T2 in type switches.ian2013-08-072-1/+12
| | | | | | | | | Also change the "missing return" text and report it at the end of the function, rather than the start, to match the gc compiler. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201579 138bc75d-0d04-0410-961f-82ee72b054a4
* * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Useian2013-08-062-1/+8
| | | | | | | compute_reloc_for_constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201535 138bc75d-0d04-0410-961f-82ee72b054a4
* * go-gcc.cc (immutable_struct_set_init): Always callian2013-08-022-4/+10
| | | | | | | resolve_unique_section. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201446 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Always put descriptor wrappers in their own section.ian2013-08-021-0/+6
| | | | | | | This lets the linker GC them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201442 138bc75d-0d04-0410-961f-82ee72b054a4
* * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has aian2013-07-242-14/+41
| | | | | | | | fields, recreate those fields with the first one with a non-zero size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201222 138bc75d-0d04-0410-961f-82ee72b054a4
* * go-backend.c: Don't #include "rtl.h".ian2013-07-233-8/+7
| | | | | | | | (go_imported_unsafe): Don't call init_varasm_once. * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201176 138bc75d-0d04-0410-961f-82ee72b054a4
* * go-lang.c: Don't #include "except.h".ian2013-07-233-2/+6
| | | | | | | * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201171 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: adjust closure field indexesian2013-07-161-1/+1
| | | | | | | | | This corrects the code that handles composite literals where the key is a variable in an enclosing function. See bug475.go in the testsuite. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200990 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: structs inherit all methods from embedded pointer fields.ian2013-06-271-1/+6
| | | | | | | | | Previously if a struct S contained an embedded field *T, a method with receiver *T would not be promoted to a method with value receiver S. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200493 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: more consistent error message for [...]T(x)ian2013-06-271-1/+1
| | | | | | | | The message should be similar to the one for "var x [...]T", not to the message for []T(x...). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200490 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: disallow fallthrough in last case of switch.ian2013-06-261-0/+3
| | | | | | | | In spec: A "fallthrough" statement may appear as the last statement of all but the last clause of an expression switch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200440 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: reject integer division by zero constant.ian2013-06-261-0/+14
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200436 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: forbid identifiers named "init" in package scope.ian2013-06-261-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200426 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud