Skip to content

add ABIInfo trait and separate x86-64 ABI implementation from foreign trans - #4590

Merged
catamorphism merged 1 commit into
rust-lang:incomingfrom
crabtw:abi
Jan 24, 2013
Merged

add ABIInfo trait and separate x86-64 ABI implementation from foreign trans#4590
catamorphism merged 1 commit into
rust-lang:incomingfrom
crabtw:abi

Conversation

@crabtw

@crabtw crabtw commented Jan 23, 2013

Copy link
Copy Markdown
Contributor

ABIInfo provides a method to translate the type of foreign function.
The foreign trans uses the method to get ABI-specific type and uses the result to generate LLVM instructions for wrapper and shim functions.

@catamorphism

Copy link
Copy Markdown
Contributor

Sorry, but can you rebase this against the latest incoming and re-submit? foreign has already been changed, and I'm afraid of losing something if I try to do the merge.

@brson

brson commented Jan 23, 2013

Copy link
Copy Markdown
Contributor

Very cool. I'm glad to see this refactoring.

… trans

ABIInfo provides a method to translate the type of foreign function.
The foreign trans uses the method to get ABI-specific type and
uses the result to generate LLVM instructions for wrapper and shim functions.
@crabtw

crabtw commented Jan 24, 2013

Copy link
Copy Markdown
Contributor Author

I rebased and pushed.

catamorphism added a commit that referenced this pull request Jan 24, 2013
add ABIInfo trait and separate x86-64 ABI implementation from foreign trans
@catamorphism
catamorphism merged commit e4e5d98 into rust-lang:incoming Jan 24, 2013
@catamorphism

Copy link
Copy Markdown
Contributor

Thanks!

catamorphism added a commit that referenced this pull request Jan 24, 2013
This reverts commit e4e5d98, reversing
changes made to ab8d774.
@catamorphism

Copy link
Copy Markdown
Contributor

Sorry, I had to revert this because it broke the Windows build. One of us will un-revert once we figure out what's going on.

@graydon

graydon commented Jan 24, 2013

Copy link
Copy Markdown
Contributor

Thanks for the quick backout. Sorry for the abrupt comment -- was on a cell phone. Just trying to get an all-green to snapshot.

@catamorphism

Copy link
Copy Markdown
Contributor

No worries, a snapshot will be amazing!

@catamorphism

Copy link
Copy Markdown
Contributor

@crabtw - Do you have access to a Windows machine? This patch is still failing on Windows: http://buildbot.rust-lang.org/builders/try-win/builds/210/steps/compile/logs/stdio -- and I don't really know where to start as to figuring out why.

@crabtw

crabtw commented Jan 25, 2013

Copy link
Copy Markdown
Contributor Author

@catamorphism Sorry, I have no Windows machine. https://github.com/mozilla/rust/pull/4590/files#L0R166 is the problem. Replacing the condition with llvm::LLVMGetTypeKind(self.ret_ty.ty) == Void should work.

@catamorphism

Copy link
Copy Markdown
Contributor

@crabtw Ok, thanks -- I tried making that change and am running try.

@catamorphism

Copy link
Copy Markdown
Contributor

@crabtw Thanks, that more or less did the trick. I landed this for real in 41adf9d

RalfJung pushed a commit to RalfJung/rust that referenced this pull request Sep 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants