Auto merge of #28427 - DiamondLovesYou:gdb-debug-script-load, r=alexcrichton

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.

r? @alexcrichton
This commit is contained in:
bors 2015-09-22 03:35:55 +00:00
commit f07f4ef743
10 changed files with 50 additions and 4 deletions

View file

@ -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]

View file

@ -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

View file

@ -10,6 +10,7 @@
// compile-flags: -C no-prepopulate-passes
#![crate_type = "lib"]
#![feature(unwind_attributes)]
extern {

View file

@ -10,6 +10,7 @@
// compile-flags: -C no-prepopulate-passes
#![crate_type = "lib"]
#![feature(allocator)]
pub struct S {

View file

@ -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;
}

View file

@ -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"]

View file

@ -10,6 +10,8 @@
// compile-flags: -C no-prepopulate-passes
#![crate_type = "lib"]
pub struct Bytes {
a: u8,
b: u8,

View file

@ -10,6 +10,8 @@
// compile-flags: -C no-prepopulate-passes
#![crate_type = "lib"]
pub struct Bytes {
a: u8,
b: u8,