From 7124230682b8a35f9788cc0e4c9bd3c7e3feca8a Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Thu, 26 Mar 2015 05:27:45 +0000 Subject: Revert "Linker: Drop function pointers for overridden subprograms" This reverts commit r233164 and its testcase follow-ups in r233165, r233207, r233214, and r233221. It apparently unleashed an LTO bootstrap failure, at least on Darwin: http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_build/3376/ I'm reproducing now. llvm-svn: 233254 --- llvm/test/Linker/replaced-function-matches-first-subprogram.ll | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'llvm/test/Linker/replaced-function-matches-first-subprogram.ll') diff --git a/llvm/test/Linker/replaced-function-matches-first-subprogram.ll b/llvm/test/Linker/replaced-function-matches-first-subprogram.ll index ac6633d1c01..508e28da565 100644 --- a/llvm/test/Linker/replaced-function-matches-first-subprogram.ll +++ b/llvm/test/Linker/replaced-function-matches-first-subprogram.ll @@ -45,9 +45,9 @@ entry: !1 = !MDFile(filename: "t1.cpp", directory: "/Users/dexonsmith/data/llvm/staging/test/Linker/repro/d1") !2 = !{} -; Extract out each compile unit's single subprogram. The replaced subprogram's -; function should drop to null in the first compile unit. -; CHECK-DAG: ![[SPs1]] = !{![[SP1:[0-9]+]], ![[SP2r:[0-9]+]]} +; Extract out each compile unit's single subprogram. The replaced subprogram +; should be dropped by the first compile unit. +; CHECK-DAG: ![[SPs1]] = !{![[SP1:[0-9]+]]} ; CHECK-DAG: ![[SPs2]] = !{![[SP2:[0-9]+]]} !3 = !{!4, !7} !4 = !MDSubprogram(name: "foo", line: 2, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 2, file: !1, scope: !5, type: !6, function: i32 ()* @_Z3foov, variables: !2) @@ -58,10 +58,6 @@ entry: ; subprogram is pointing at the correct function. ; CHECK-DAG: ![[SP1]] = !MDSubprogram({{.*}} function: i32 ()* @_Z3foov ; CHECK-DAG: ![[SP2]] = !MDSubprogram({{.*}} file: ![[FILE:[0-9]+]],{{.*}} function: i32 (%struct.Class*)* @_ZN5ClassIiE3fooEv - -; We can't use CHECK-NOT/CHECK-SAME with a CHECK-DAG, so rely on field order to -; prove that there's no function: here. -; CHECK-DAG: ![[SP2r]] = {{.*}}!MDSubprogram({{.*}} isOptimized: false, variables: !7 = !MDSubprogram(name: "foo", line: 2, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 2, file: !8, scope: !9, type: !6, function: i32 (%struct.Class*)* @_ZN5ClassIiE3fooEv, variables: !2) ; The new subprogram should be pointing at the new directory. -- cgit v1.2.3