Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gccgo: hang (4) #12938

Closed
dvyukov opened this issue Oct 14, 2015 · 2 comments
Closed

gccgo: hang (4) #12938

dvyukov opened this issue Oct 14, 2015 · 2 comments
Milestone

Comments

@dvyukov
Copy link
Member

dvyukov commented Oct 14, 2015

gccgo hangs on the following program:

package a
type e[][521617108419562938]e

It also infinitely prints:

go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space
go1: error: type [521617108419562938]   go.a    a.e larger than address space

gcc on rev 228818, gofrontend on a4bcd319d98ddc52b3e7d16ec87d92aad868ab05

@dvyukov
Copy link
Member Author

dvyukov commented Oct 14, 2015

@ianlancetaylor

@ianlancetaylor ianlancetaylor added this to the Gccgo milestone Oct 14, 2015
@gopherbot
Copy link
Contributor

CL https://golang.org/cl/16234 mentions this issue.

kraj pushed a commit to kraj/gcc that referenced this issue Jan 27, 2016
    
    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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232855 138bc75d-0d04-0410-961f-82ee72b054a4
@golang golang locked and limited conversation to collaborators Feb 3, 2017
asiekierka pushed a commit to WonderfulToolchain/gcc-ia16 that referenced this issue May 16, 2022
    
    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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants