-
Notifications
You must be signed in to change notification settings - Fork 349
[Fortran/gfortran] Disable tests only on AArch64, but enable them els… #187
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
[Fortran/gfortran] Disable tests only on AArch64, but enable them els… #187
Conversation
Thanks, I have tested this pr on a LoongArch machine. Two tests,
|
Thank you Tarun, this passes for me on X86-64. Are they issues opened in llvm-project to cover the aarch64 failures? If so, please add them in comment here, if not, it would be great to open some, even if the features are not meant to be supported there, it would be best to gracefully fail. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works for me on aarch64. Thank you Tarun
I was planning to start filing issues for some of these once I enabled some more tests, but now is as good a time as any, I suppose. |
@tarunprabhu It seems you have marked the wrong test case; the failing one is |
Ackh! Thanks for catching that. Fixed. |
I tried the patch on powerpc64le. I got
Both diff --git a/Fortran/gfortran/regression/override.yaml b/Fortran/gfortran/regression/override.yaml
index 88f312ce..7bed3ead 100644
--- a/Fortran/gfortran/regression/override.yaml
+++ b/Fortran/gfortran/regression/override.yaml
@@ -25,11 +25,11 @@
# Assertion `Elt->getBitWidth() == EltVT.getSizeInBits() && "APInt size does not match type size!"' failed.
#
"findloc_8.f90":
- disabled_on: ["aarch64-*-*", "loongarch64-*-*"]
+ disabled_on: ["aarch64-*-*", "loongarch64-*-*", "powerpc64le-*-*"]
# entry_23.f raises a segmentation fault at runtime, but only on AArch64.
"entry_23.f":
- disabled_on: ["aarch64-*-*"]
+ disabled_on: ["aarch64-*-*", "powerpc64le-*-*"]
# pr91497.f90 fails to compile on some platforms with the following message:
# error: 'kind=' argument must be a constant scalar integer whose value is a
diff --git a/Fortran/gfortran/regression/tests.cmake b/Fortran/gfortran/regression/tests.cmake
index 84762ad6..857dcc25 100644
--- a/Fortran/gfortran/regression/tests.cmake
+++ b/Fortran/gfortran/regression/tests.cmake
@@ -4701,7 +4701,7 @@ run;entry_12.f90;;;;
run;entry_13.f90;;;;
run;entry_14.f90;;;;
run;entry_16.f90;;;;
-run;entry_23.f;;;;aarch64-*-* loongarch64-*-*
+run;entry_23.f;;;;aarch64-*-* loongarch64-*-* powerpc64le-*-*
run;entry_26.f90;;-fno-f2c;;
run;entry_27.f90;;-ff2c;;
run;entry_3.f90;;;;
@@ -4806,7 +4806,7 @@ run;findloc_3.f90;;;;
run;findloc_4.f90;;;;
run;findloc_5.f90;;;;
run;findloc_6.f90;;;;
-run;findloc_8.f90;;;;aarch64-*-* loongarch64-*-*
+run;findloc_8.f90;;;;aarch64-*-* loongarch64-*-* powerpc64le-*-*
run;float_1.f90;;;;
run;flush_1.f90;;;;
run;fmt_bz_bn.f;;;;
@@ -6460,4 +6460,4 @@ run;zero_sized_3.f90;;;;
run;zero_sized_4.f90;;;;
run;zero_sized_5.f90;;;;
run;zero_sized_8.f90;;;;
-run;zero_sized_9.f90;;;;
\ No newline at end of file
+run;zero_sized_9.f90;;;; I got the same outcome.
|
Thanks for checking, Kelvin. It's still odd that you are getting the NOEXE. That suggests that it is attempting to build |
Output on Linux:
Output on AIX:
|
@tarunprabhu I sincerely apologize. After re-verifying, I found that Digging deeper into the cause, I discovered that during the CMake configuration, I had set the parameter I’m not sure whether it’s an issue with To summarize, it has now been found that a total of three test cases fail on LoongArch: |
That's quite alright, Zhaoxin. Happens to all of us :-) It's curious that the test is reported as a pass with |
Thanks for checking, Kelvin. I'll take a closer look to try and understand what might be happening. |
I think one of the issues might have been that @kkwli, could you check if the tests can be disabled on PowerPC with this change? |
It works with using diff --git a/Fortran/gfortran/regression/override.yaml b/Fortran/gfortran/regression/override.yaml
index 7b3e2e81..d7e5fa17 100644
--- a/Fortran/gfortran/regression/override.yaml
+++ b/Fortran/gfortran/regression/override.yaml
@@ -25,11 +25,11 @@
# Assertion `Elt->getBitWidth() == EltVT.getSizeInBits() && "APInt size does not match type size!"' failed.
#
"findloc_8.f90":
- disabled_on: ["aarch64-*-*", "loongarch64-*-*"]
+ disabled_on: ["aarch64-*-*", "loongarch64-*-*", "ppc64le-*-*"]
# entry_23.f raises a segmentation fault at runtime, on some platforms.
"entry_23.f":
- disabled_on: ["aarch64-*-*", "loongarch64-*-*"]
+ disabled_on: ["aarch64-*-*", "loongarch64-*-*", "ppc64le-*-*"]
# pr91497.f90 fails to compile on some platforms with the following message:
# error: 'kind=' argument must be a constant scalar integer whose value is a
diff --git a/Fortran/gfortran/regression/tests.cmake b/Fortran/gfortran/regression/tests.cmake
index 549182d5..e5cc6bf3 100644
--- a/Fortran/gfortran/regression/tests.cmake
+++ b/Fortran/gfortran/regression/tests.cmake
@@ -4701,7 +4701,7 @@ run;entry_12.f90;;;;
run;entry_13.f90;;;;
run;entry_14.f90;;;;
run;entry_16.f90;;;;
-run;entry_23.f;;;;aarch64-.+-.+ loongarch64-.+-.+
+run;entry_23.f;;;;aarch64-.+-.+ loongarch64-.+-.+ ppc64le-.+-.+
run;entry_26.f90;;-fno-f2c;;
run;entry_27.f90;;-ff2c;;
run;entry_3.f90;;;;
@@ -4806,7 +4806,7 @@ run;findloc_3.f90;;;;
run;findloc_4.f90;;;;
run;findloc_5.f90;;;;
run;findloc_6.f90;;;;
-run;findloc_8.f90;;;;aarch64-.+-.+ loongarch64-.+-.+
+run;findloc_8.f90;;;;aarch64-.+-.+ loongarch64-.+-.+ ppc64le-.+-.+
run;float_1.f90;;;;
run;flush_1.f90;;;;
run;fmt_bz_bn.f;;;; No |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LG. Thanks.
…ewhere Some tests fail only on AArch64, but pass on other platforms. Previously, these were disabled everywhere, but now they can be disabled only on AArch64 and enabled on other platforms. In addition, some tests that were failing only on AArch64 now pass, so they are enabled everywhere. The static test configuration has also been updated to reflect these changes. Some bugs were exposed in the update script during this process. These have also been fixed.
…y handled when parsing the target specifications from the test, but the same needs to be done when parsing the override files since we allow the use of these wildcards in those files as well.
21891e1
to
36fab2b
Compare
…ewhere
Some tests fail only on AArch64, but pass on other platforms. Previously, these were disabled everywhere, but now they can be disabled only on AArch64 and enabled on other platforms. In addition, some tests that were failing only on AArch64 now pass, so they are enabled everywhere.
The static test configuration has also been updated to reflect these changes. Some bugs were exposed in the update script during this process. These have also been fixed.
@ylzsx,
Since these tests were preciously disabled on LoongArch, could you check that they pass there. If they do not, I will update the PR to disable them on LoongArch as well.