mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
driver: keep options ordered
The linker flags are order dependent. Ensure that we preserve ordering. Also enhance it to support options which may be repeated (e.g. -rpath).
This commit is contained in:
24
test/AutolinkExtract/linker-order.ll
Normal file
24
test/AutolinkExtract/linker-order.ll
Normal file
@@ -0,0 +1,24 @@
|
||||
; RUN: llc -mtriple armv7--linux-gnueabihf -filetype obj -o - %s | %target-swift-autolink-extract -o - - | FileCheck %s
|
||||
; REQUIRES: autolink-extract
|
||||
|
||||
; Ensure that the options in the object file preserve ordering. The linker
|
||||
; options are order dependent, and we would accidentally reorder them because we
|
||||
; used a std::set rather than a llvm::SmallSetVector.
|
||||
|
||||
@_swift1_autolink_entries_1 = private constant [7 x i8] c"Saleem\00", section ".swift1_autolink_entries", align 8
|
||||
@_swift1_autolink_entries_0 = private constant [8 x i8] c"Naureen\00", section ".swift1_autolink_entries", align 8
|
||||
|
||||
@_swift1_autolink_entries_2 = private constant [7 x i8] c"-rpath\00", section ".swift1_autolink_entries", align 8
|
||||
@_swift1_autolink_entries_3 = private constant [8 x i8] c"Naureen\00", section ".swift1_autolink_entries", align 8
|
||||
@_swift1_autolink_entries_4 = private constant [7 x i8] c"-rpath\00", section ".swift1_autolink_entries", align 8
|
||||
@_swift1_autolink_entries_5 = private constant [7 x i8] c"Saleem\00", section ".swift1_autolink_entries", align 8
|
||||
|
||||
; CHECK: Saleem
|
||||
; CHECK: Naureen
|
||||
|
||||
; CHECK: -rpath
|
||||
; CHECK: Naureen
|
||||
|
||||
; CHECK: -rpath
|
||||
; CHECK: Saleem
|
||||
|
||||
Reference in New Issue
Block a user