diff options
author | Giuliano Procida <gprocida@google.com> | 2023-11-13 18:12:36 +0000 |
---|---|---|
committer | Giuliano Procida <gprocida@google.com> | 2023-11-15 09:20:55 +0000 |
commit | 85724a7b086f2d56627b44bdf17eb19c034bf76f (patch) | |
tree | 8eb34e4f04380c1a2d6b1feb28212b73b6f155f9 | |
parent | c5e6c43098ccd87befbfafd2ba9f0207c35b0932 (diff) | |
download | stg-85724a7b086f2d56627b44bdf17eb19c034bf76f.tar.gz |
test cases: adjust types/char diff test to work with gcc -O2
This case is tweaked to avoid triggering a GCC bug where optimisation
destroys some debug information.
It suffices to ensure that all functions compile to different code.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112372
PiperOrigin-RevId: 582004246
Change-Id: Id514bcd03d13ba6eb43c030fffb537b7148cc4e8
-rw-r--r-- | test_cases/diff_tests/types/char.0.c | 14 | ||||
-rw-r--r-- | test_cases/diff_tests/types/char.1.c | 14 |
2 files changed, 16 insertions, 12 deletions
diff --git a/test_cases/diff_tests/types/char.0.c b/test_cases/diff_tests/types/char.0.c index ff5cef5..d24d0ab 100644 --- a/test_cases/diff_tests/types/char.0.c +++ b/test_cases/diff_tests/types/char.0.c @@ -1,6 +1,8 @@ -void u(char c) { (void) c; } -void v(unsigned char c) { (void) c; } -void w(signed char c) { (void) c; } -void x(char c) { (void) c; } -void y(unsigned char c) { (void) c; } -void z(signed char c) { (void) c; } +// tweaked due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112372 +void tweak(int); +void u(char c) { (void)c; tweak(0); } +void v(unsigned char c) { (void)c; tweak(1); } +void w(signed char c) { (void)c; tweak(2); } +void x(char c) { (void)c; tweak(3); } +void y(unsigned char c) { (void)c; tweak(4); } +void z(signed char c) { (void)c; tweak(5); } diff --git a/test_cases/diff_tests/types/char.1.c b/test_cases/diff_tests/types/char.1.c index a9291d0..8ab40a0 100644 --- a/test_cases/diff_tests/types/char.1.c +++ b/test_cases/diff_tests/types/char.1.c @@ -1,6 +1,8 @@ -void u(unsigned char c) { (void) c; } -void v(signed char c) { (void) c; } -void w(char c) { (void) c; } -void x(signed char c) { (void) c; } -void y(char c) { (void) c; } -void z(unsigned char c) { (void) c; } +// tweaked due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112372 +void tweak(int); +void u(unsigned char c) { (void)c; tweak(0); } +void v(signed char c) { (void)c; tweak(1); } +void w(char c) { (void)c; tweak(2); } +void x(signed char c) { (void)c; tweak(3); } +void y(char c) { (void)c; tweak(4); } +void z(unsigned char c) { (void)c; tweak(5); } |