summaryrefslogtreecommitdiffstats
path: root/gcc/go/gofrontend/expressions.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* Correct type size comparison.ian2011-06-081-2/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174814 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix bug with taking address of a variable when address does not escape.ian2011-05-121-6/+16
| | | | | | | | | * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken parameter. (Gcc_backend::parameter_variable): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173712 138bc75d-0d04-0410-961f-82ee72b054a4
* Permit new of a function type.ian2011-05-111-12/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173672 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash ranging over call to builtin function.ian2011-05-111-5/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173671 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend types for all type conversions.ian2011-05-071-62/+91
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173520 138bc75d-0d04-0410-961f-82ee72b054a4
* Define go_unreachable to replace gcc_unreachable.ian2011-04-231-56/+56
| | | | | | | From Evan Shaw. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172882 138bc75d-0d04-0410-961f-82ee72b054a4
* Define go_assert to replace gcc_assertian2011-04-211-143/+143
| | | | | | | | | This is defined in go-system.h in the backend. * go-system.h (go_assert, go_unreachable): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172846 138bc75d-0d04-0410-961f-82ee72b054a4
* Use mpfr_prec_round, not real_convert, to constraint floats.ian2011-04-211-17/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172811 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for temporary variables.ian2011-04-191-3/+16
| | | | | | | * go-gcc.cc (Gcc_backend::temporary_variable): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172737 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for variables.ian2011-04-191-1/+18
| | | | | | | | | | | | | | | | * go-gcc.cc: Include "go-c.h". (class Bvariable): Define. (Gcc_backend::init_statement): New function. (Gcc_backend::global_variable): New function. (Gcc_backend::global_variable_set_init): New function. (Gcc_backend::local_variable): New function. (Gcc_backend::parameter_variable): New function. (tree_to_type, var_to_tree): New functions. * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H). * (go/gogo-tree.o): Depend on go/gofrontend/backend.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172693 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for send statement.ian2011-04-151-0/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172519 138bc75d-0d04-0410-961f-82ee72b054a4
* Use the backend interface for select statements.ian2011-04-151-3/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172468 138bc75d-0d04-0410-961f-82ee72b054a4
* Unify handling of runtime support functions.ian2011-04-131-6/+122
| | | | | | | | | | This introduces the new approach, and rewrites the lowering code which uses runtime functions. The code which calls runtime functions at GENERIC conversion time is not yet rewritten. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172396 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for if statements.ian2011-04-061-2/+1
| | | | | | | | | | | | Rename some temporary conversion functions to shorter names. * go-gcc.cc (Gcc_backend::if_statement): New function. (tree_to_stat): New function. (expr_to_tree): Renamed from expression_to_tree. (stat_to_tree): Renamed from statement_to_tree. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172052 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for labels and goto statements.ian2011-04-051-2/+6
| | | | | | | | | | | | | | | | | * go-gcc.c (class Blabel): Define. (Gcc_backend::make_expression): New function. (get_identifier_from_string): New function. (Gcc_backend::label): New function. (Gcc_backend::label_definition_statement): New function. (Gcc_backend::goto_statement): New function. (Gcc_backend::label_address): New function. (expression_to_tree): New function. * Make-lang.in (go/expressions.o): Depend on go/gofrontend/backend.h. (go/gogo.o): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171968 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for return statements.ian2011-04-041-2/+1
| | | | | | | | | | | | | | * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h". (class Bfunction): Define. (Gcc_backend::assignment_statement): Rename from assignment. Check for errors. (Gcc_backend::return_statement): New function. (tree_to_function): New function. * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h, $(GIMPLE_H), and $(GO_GOGO_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171959 138bc75d-0d04-0410-961f-82ee72b054a4
* Taking a slice of an array requires moving the array to the heap.ian2011-03-311-4/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171792 138bc75d-0d04-0410-961f-82ee72b054a4
* Permit copying hidden fields when passing method receiver.ian2011-03-281-3/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171641 138bc75d-0d04-0410-961f-82ee72b054a4
* Do not permit method expressions with pointers to interface types.ian2011-03-281-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171633 138bc75d-0d04-0410-961f-82ee72b054a4
* Support method expressions for interface types.ian2011-03-281-5/+26
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171631 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix useless assertion in ^ code.ian2011-03-281-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171619 138bc75d-0d04-0410-961f-82ee72b054a4
* Improve error about indirecting an unsafe.Pointer type.ian2011-03-271-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171574 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't permit embedded field to be pointer to interface.ian2011-03-261-1/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171558 138bc75d-0d04-0410-961f-82ee72b054a4
* Check for invalid uses of ... in builtin function calls.ian2011-03-261-0/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171544 138bc75d-0d04-0410-961f-82ee72b054a4
* Clean up handling of undefined types.ian2011-03-251-45/+30
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171528 138bc75d-0d04-0410-961f-82ee72b054a4
* Avoid overflow error after negative shift count error.ian2011-03-251-1/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171523 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove closed function. Fix tuple receive in select.ian2011-03-251-30/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171440 138bc75d-0d04-0410-961f-82ee72b054a4
* Change c <- v from an expression to a statement.ian2011-03-241-97/+0
| | | | | | | | Don't do anything special if we don't use the value of <-c. Fix sending an untyped constant in a select statement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171371 138bc75d-0d04-0410-961f-82ee72b054a4
* Handle predeclared names used as fields in struct composite literals.ian2011-03-071-27/+25
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170754 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash on large composite literal array index.ian2011-03-031-0/+26
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170645 138bc75d-0d04-0410-961f-82ee72b054a4
* Make sure variable type is determined when var initialized to var.ian2011-03-031-0/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170643 138bc75d-0d04-0410-961f-82ee72b054a4
* Determine call types even if first call result is not used.ian2011-03-031-2/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170637 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix type of discarded send expression.ian2011-03-031-1/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170634 138bc75d-0d04-0410-961f-82ee72b054a4
* Rewrite conversion of named types to backend representation.ian2011-03-031-2/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170627 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't delete old arguments when lowering varargs.ian2011-02-241-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170474 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash when using receive on erroneous channel.ian2011-02-241-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170468 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash if a map index is used outside of a function.ian2011-02-241-9/+37
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170453 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash on Sizeof of bad type.ian2011-02-231-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170430 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash on erroneous type descriptor in interface conversion.ian2011-02-231-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170429 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix missing type traversals.ian2011-02-231-0/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170427 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't permit string index expression to have abstract types.ian2011-02-221-3/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170390 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash on attempt to index array type expression.ian2011-02-221-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170387 138bc75d-0d04-0410-961f-82ee72b054a4
* Permit comparing non-empty interfaces with empty interfaces.ian2011-02-221-4/+30
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170385 138bc75d-0d04-0410-961f-82ee72b054a4
* Test shift count for overflow.ian2011-02-221-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170384 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash on constant right shift.ian2011-02-191-8/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170307 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove old mechanism for passing varargs argument to varargs function.ian2011-02-191-83/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170304 138bc75d-0d04-0410-961f-82ee72b054a4
* Avoid dangling open function after erroneous method expression.ian2011-02-191-1/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170302 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix struct with array of struct with field that points to first struct.ian2011-02-191-2/+12
| | | | | | | | | | | | Don't crash converting an untyped complex constant to an integer type. Don't crash on unsafe.Sizeof of erroneous type. Don't crash on method expression of erroneous type. Don't crash when sink and global var are initialized from type guard. Don't crash initializing erroneous slice. Don't crash on erroneous method of type seen before definition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170301 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't let array indexes be untyped.ian2011-02-151-3/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170193 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't get confused using type of erronous binary expression.ian2011-02-111-0/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170043 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud