about summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
authorRichard Diamond <wichard@vitalitystudios.com>2015-09-15 16:22:16 -0500
committerRichard Diamond <wichard@vitalitystudios.com>2015-09-21 15:43:52 -0500
commit9a2402566102dd54c66f55a62da93e1c7d93f761 (patch)
tree8ad705d759548751418b982a6987e7870af4f889 /src/test/codegen
parent5120f4a3f95f6695c711839b3cc8551303bee0e3 (diff)
Avoid loading the whole gdb debug scripts section.
This is so LLVM isn't forced to load every byte of it. Also sets the alignment of
the load. Adds a test for the debug script section.
Diffstat (limited to 'src/test/codegen')
-rw-r--r--src/test/codegen/adjustments.rs2
-rw-r--r--src/test/codegen/coercions.rs2
-rw-r--r--src/test/codegen/extern-functions.rs1
-rw-r--r--src/test/codegen/function-arguments.rs1
-rw-r--r--src/test/codegen/gdb_debug_script_load.rs25
-rw-r--r--src/test/codegen/link_section.rs2
-rw-r--r--src/test/codegen/loads.rs2
-rw-r--r--src/test/codegen/stores.rs2
8 files changed, 37 insertions, 0 deletions
diff --git a/src/test/codegen/adjustments.rs b/src/test/codegen/adjustments.rs
index d9a7acf1129..a61fa84398e 100644
--- a/src/test/codegen/adjustments.rs
+++ b/src/test/codegen/adjustments.rs
@@ -10,6 +10,8 @@
 
 // compile-flags: -C no-prepopulate-passes
 
+#![crate_type = "lib"]
+
 // Hack to get the correct size for the length part in slices
 // CHECK: @helper([[USIZE:i[0-9]+]])
 #[no_mangle]
diff --git a/src/test/codegen/coercions.rs b/src/test/codegen/coercions.rs
index 2a136d7024d..c8c9f5b407c 100644
--- a/src/test/codegen/coercions.rs
+++ b/src/test/codegen/coercions.rs
@@ -10,6 +10,8 @@
 
 // compile-flags: -C no-prepopulate-passes
 
+#![crate_type = "lib"]
+
 static X: i32 = 5;
 
 // CHECK-LABEL: @raw_ptr_to_raw_ptr_noop
diff --git a/src/test/codegen/extern-functions.rs b/src/test/codegen/extern-functions.rs
index 4c30b5ce02f..ff9d54e67e4 100644
--- a/src/test/codegen/extern-functions.rs
+++ b/src/test/codegen/extern-functions.rs
@@ -10,6 +10,7 @@
 
 // compile-flags: -C no-prepopulate-passes
 
+#![crate_type = "lib"]
 #![feature(unwind_attributes)]
 
 extern {
diff --git a/src/test/codegen/function-arguments.rs b/src/test/codegen/function-arguments.rs
index 7706c97380b..90ced88324e 100644
--- a/src/test/codegen/function-arguments.rs
+++ b/src/test/codegen/function-arguments.rs
@@ -10,6 +10,7 @@
 
 // compile-flags: -C no-prepopulate-passes
 
+#![crate_type = "lib"]
 #![feature(allocator)]
 
 pub struct S {
diff --git a/src/test/codegen/gdb_debug_script_load.rs b/src/test/codegen/gdb_debug_script_load.rs
new file mode 100644
index 00000000000..efaca29752b
--- /dev/null
+++ b/src/test/codegen/gdb_debug_script_load.rs
@@ -0,0 +1,25 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-tidy-linelength
+// ignore-windows
+// ignore-macos
+
+// compile-flags: -g -C no-prepopulate-passes
+
+#![feature(start)]
+
+// CHECK-LABEL: @main
+// CHECK: load volatile i8, i8* getelementptr inbounds ([[B:\[[0-9]* x i8\]]], [[B]]* @__rustc_debug_gdb_scripts_section__, i32 0, i32 0), align 1
+
+#[start]
+fn start(_: isize, _: *const *const u8) -> isize {
+    return 0;
+}
diff --git a/src/test/codegen/link_section.rs b/src/test/codegen/link_section.rs
index 99b43552b0d..5ad3854c05c 100644
--- a/src/test/codegen/link_section.rs
+++ b/src/test/codegen/link_section.rs
@@ -10,6 +10,8 @@
 
 // compile-flags: -C no-prepopulate-passes
 
+#![crate_type = "lib"]
+
 // CHECK: @VAR1 = constant i32 1, section ".test_one"
 #[no_mangle]
 #[link_section = ".test_one"]
diff --git a/src/test/codegen/loads.rs b/src/test/codegen/loads.rs
index b51da69fef2..21f23b6ea18 100644
--- a/src/test/codegen/loads.rs
+++ b/src/test/codegen/loads.rs
@@ -10,6 +10,8 @@
 
 // compile-flags: -C no-prepopulate-passes
 
+#![crate_type = "lib"]
+
 pub struct Bytes {
   a: u8,
   b: u8,
diff --git a/src/test/codegen/stores.rs b/src/test/codegen/stores.rs
index 72862ea8b6f..5d2d47e1bf3 100644
--- a/src/test/codegen/stores.rs
+++ b/src/test/codegen/stores.rs
@@ -10,6 +10,8 @@
 
 // compile-flags: -C no-prepopulate-passes
 
+#![crate_type = "lib"]
+
 pub struct Bytes {
   a: u8,
   b: u8,