about summary refs log tree commit diff
path: root/src/libstd/rt
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2015-06-25 14:48:36 -0700
committerEli Friedman <eli.friedman@gmail.com>2015-07-23 17:03:04 -0700
commit6fa17b43d351ed4f9093cf80f4044d1208044241 (patch)
tree7b83ba2d846643e167815d8990a458764adebc48 /src/libstd/rt
parentd4d4206e5604b86fc4a9b28a8b51d99121cc3a5d (diff)
downloadrust-6fa17b43d351ed4f9093cf80f4044d1208044241.tar.gz
rust-6fa17b43d351ed4f9093cf80f4044d1208044241.zip
Rewrite the improper_ctypes lint.
Makes the lint a bit more accurate, and improves the quality of the diagnostic
messages by explicitly returning an error message.

The new lint is also a little more aggressive: specifically, it now
rejects tuples, and it recurses into function pointers.
Diffstat (limited to 'src/libstd/rt')
-rw-r--r--src/libstd/rt/unwind/gcc.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/libstd/rt/unwind/gcc.rs b/src/libstd/rt/unwind/gcc.rs
index 87941e79b2f..59fc8df6107 100644
--- a/src/libstd/rt/unwind/gcc.rs
+++ b/src/libstd/rt/unwind/gcc.rs
@@ -251,12 +251,11 @@ pub mod eabi {
     use rt::libunwind as uw;
     use libc::{c_void, c_int};
 
-    #[repr(C)]
-    pub struct EXCEPTION_RECORD;
-    #[repr(C)]
-    pub struct CONTEXT;
-    #[repr(C)]
-    pub struct DISPATCHER_CONTEXT;
+    // Fake definitions; these are actually complicated structs,
+    // but we don't use the contents here.
+    pub type EXCEPTION_RECORD = c_void;
+    pub type CONTEXT = c_void;
+    pub type DISPATCHER_CONTEXT = c_void;
 
     #[repr(C)]
     #[derive(Copy, Clone)]