Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR for llvm/llvm-project#64464 #716

Closed
wants to merge 1 commit into from
Closed

Conversation

llvmbot
Copy link
Collaborator

@llvmbot llvmbot commented Oct 1, 2023

…tion (#67891)

Prior to 591c4b6, the mingw specific
linker options -mthreads, -mconsole, -mwindows and -mdll would be
tolerated also at compile time, but generating a warning about being
unused.

After that commit, they were marked as target specific, which means that
it's an error if they're unused (which would consider them used for the
wrong target). These specific options are only relevant when linking,
but we want to tolerate them at compile time too, like before.

This was fixed for -mthreads in
a79995c, while the other options didn't
seem to be commonly used during compilation.

After the 17.x release, we've got more reports about this actually being
an issue, in #64464. Therefore, apply the same fix for them; marking
them as tolerated for mingw targets during compilation, even if they're
unused. Also add a testcase for -mthreads which was already handled.

Thus, this fixes #64464.

(cherry picked from commit e39de2b8862ae43459324da84279366997265078)
@mstorsjo
Copy link
Member

mstorsjo commented Oct 1, 2023

@alvinhochun Can you ack the backport of the patch here?

@alvinhochun
Copy link
Contributor

Ack the backport. However, the check is failing:

FAIL: Clang :: Driver/mingw-linker-options.c (9661 of 17749)
******************** TEST 'Clang :: Driver/mingw-linker-options.c' FAILED ********************
Script:
--
: 'RUN: at line 1';   d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe --target=x86_64-windows-gnu -c -mwindows D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c -### 2>&1 | d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c --check-prefix=WARNING
: 'RUN: at line 2';   d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe --target=x86_64-windows-gnu -c -mconsole D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c -### 2>&1 | d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c --check-prefix=WARNING
: 'RUN: at line 3';   d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe --target=x86_64-windows-gnu -c -mdll D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c -### 2>&1 | d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c --check-prefix=WARNING
: 'RUN: at line 4';   d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe --target=x86_64-windows-gnu -c -mthreads D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c -### 2>&1 | d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c --check-prefix=WARNING
: 'RUN: at line 5';   not d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe --target=x86_64-windows-msvc -c -mwindows D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c -### 2>&1 | d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c --check-prefix=ERROR
: 'RUN: at line 6';   not d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe --target=x86_64-windows-msvc -c -mconsole D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c -### 2>&1 | d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c --check-prefix=ERROR
: 'RUN: at line 7';   not d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe --target=x86_64-windows-msvc -c -mdll D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c -### 2>&1 | d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c --check-prefix=ERROR
: 'RUN: at line 8';   not d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe --target=x86_64-windows-msvc -c -mthreads D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c -### 2>&1 | d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c --check-prefix=ERROR
--
Exit Code: 1

Command Output (stdout):
--
$ ":" "RUN: at line 1"
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe" "--target=x86_64-windows-gnu" "-c" "-mwindows" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "-###"
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "--check-prefix=WARNING"
$ ":" "RUN: at line 2"
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe" "--target=x86_64-windows-gnu" "-c" "-mconsole" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "-###"
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "--check-prefix=WARNING"
$ ":" "RUN: at line 3"
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe" "--target=x86_64-windows-gnu" "-c" "-mdll" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "-###"
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "--check-prefix=WARNING"
$ ":" "RUN: at line 4"
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe" "--target=x86_64-windows-gnu" "-c" "-mthreads" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "-###"
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "--check-prefix=WARNING"
$ ":" "RUN: at line 5"
$ "not" "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\clang.exe" "--target=x86_64-windows-msvc" "-c" "-mwindows" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "-###"
note: command had no output on stdout or stderr
error: command failed with exit status: True
$ "d:\a\llvm-project-release-prs\llvm-project-release-prs\build\bin\filecheck.exe" "D:\a\llvm-project-release-prs\llvm-project-release-prs\clang\test\Driver\mingw-linker-options.c" "--check-prefix=ERROR"

@tru
Copy link
Contributor

tru commented Oct 2, 2023

@mstorsjo can you check the test failures?

@mstorsjo
Copy link
Member

mstorsjo commented Oct 2, 2023

Ack the backport. However, the check is failing:

Thanks! It turned out that my testcase was reliant on f39c399; before that, the use of the -### didn't return an error code when there were driver errors. I changed it to use -fdriver-only instead (as we're not actually inspecting the output of -### here) and made a manual cherrypick/branch of it.

@tru tru closed this Oct 2, 2023
@tru tru deleted the llvm-issue64464 branch October 2, 2023 11:45
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.

unsupported option '-mwindows' for target 'aarch64-w64-mingw32'
4 participants