about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorJed Davis <jld@panix.com>2013-06-30 22:42:30 -0700
committerJed Davis <jld@panix.com>2013-10-29 09:09:19 -0700
commit01740acd5ab243e7b8c0e1e076ed56edcb9bf4d0 (patch)
tree2f6b6508ccef28be51058e8b8ea1736d3e04912c /src/rustllvm/RustWrapper.cpp
parentf1124a2f55406be8e758488352c59ae9deef17b3 (diff)
downloadrust-01740acd5ab243e7b8c0e1e076ed56edcb9bf4d0.tar.gz
rust-01740acd5ab243e7b8c0e1e076ed56edcb9bf4d0.zip
Initial implementation of enum discrimnant sizing.
Allows an enum with a discriminant to use any of the primitive integer
types to store it.  By default the smallest usable type is chosen, but
this can be overridden with an attribute: `#[repr(int)]` etc., or
`#[repr(C)]` to match the target's C ABI for the equivalent C enum.

This commit breaks a few things, due to transmutes that now no longer
match in size, or u8 enums being passed to C that expects int, or
reflection; later commits on this branch fix them.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions