diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-08-02 14:23:04 -0700 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-08-02 23:53:45 -0700 |
| commit | 948172b93fc5d31b7234ad98ff6bac466401a86a (patch) | |
| tree | 1460fdb5dc1d5126a985f2bca9bbd5dc525f32ac /src/libsyntax/parse | |
| parent | 31c5cec55bd8b43e6082f79dff888f52b585621d (diff) | |
Make comparisons between region pointers work
Region pointers were considered a scalar type, so compare_scalar_type would get called to compare region pointers in trans. This would fail, since compare_scalar_type has no case for region pointers. Changed type_is_scalar to return false for region pointers. This had the side effect of breaking casts to types of the form &T. To ameliorate that, I added library functions ptr::assimilate (taking a &T to a *T) and ptr::to_uint (taking a &T to a uint), both of which use reinterpret_cast. While I was at it, I removed ty::type_has_resources, which is dead code.
Diffstat (limited to 'src/libsyntax/parse')
0 files changed, 0 insertions, 0 deletions
