This is an archive of the discontinued LLVM Phabricator instance.

Order of libraries and source files in the f18 frontend
ClosedPublic

Authored by coti on Jul 22 2020, 9:41 AM.

Details

Summary

When the f18 frontend calls the link editor, put the libraries and object files in the correct order.

Fixes the issues reported here https://github.com/flang-compiler/flang/issues/897

Diff Detail

Event Timeline

coti created this revision.Jul 22 2020, 9:41 AM
DavidTruby added inline comments.Jul 24 2020, 6:54 AM
flang/tools/f18/f18.cpp
432

Should the prefix be from 0 to dot, instead of from 0 to 2?

coti marked an inline comment as done.Jul 24 2020, 10:10 AM

Replied comment from @DavidTruby.

flang/tools/f18/f18.cpp
432

The prefix variable is simply here to determine if we are linking against a dynamic library (it is used line 454 and only there), ie, if the string is starting by -l. This might not be the most appropriate variable name though.

sscalpone accepted this revision.Jul 24 2020, 4:15 PM
This revision is now accepted and ready to land.Jul 24 2020, 4:15 PM
AlexisPerry accepted this revision.Jul 27 2020, 9:33 AM

This looks good to me. I think these changes mean that the vector relocatables never actually gets populated, so it could be removed since the patch uses objlist and liblist exclusively, which are clearer names anyway.

coti updated this revision to Diff 281057.Jul 27 2020, 2:38 PM

@AlexisPerry is right, I removed the vector relocatable.

AlexisPerry accepted this revision.Jul 27 2020, 2:59 PM
coti updated this revision to Diff 281069.Jul 27 2020, 3:48 PM

clang-formated the source code, since I have been told about issues with whitespaces.

If this is fine, can anyone with commit access push it? Thanks!

AlexisPerry accepted this revision.Jul 27 2020, 4:01 PM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptJul 28 2020, 8:03 AM