Project

General

Profile

Bug #12230

clang optimizer defeats ctf test suite

Added by Robert Mustacchi over 1 year ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Category:
tests
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

The clang optimizer is a bit more aggressive than gcc. If there are static values that aren't referenced by non-static functionality, it'll remove them at the default optimization level. The CTF test suite is unfortunately full of such abuses. We should fix it such that the clang optimizer no longer defeats the tests.

#1

Updated by Electric Monk 10 months ago

  • Gerrit CR set to 331
#2

Updated by Robert Mustacchi 4 months ago

I tested this by running the CTF test suite against a number of different compilers with both -gdwarf-2 and -gdwarf-4 (when supported). The compilers were:

  • gcc 4.4.4
  • gcc 7.4.0
  • gcc 7.5.0
  • gcc 8.3.0
  • gcc 9.3.0
  • gcc 10.2.0
  • clang 8.0.1
  • clang 9.0.1
  • clang 10.0.1
  • clang 11.0.0
#3

Updated by Electric Monk 4 months ago

  • Status changed from New to Closed
  • % Done changed from 90 to 100

git commit 3cec98229bf077e97e442c942c2bd8768e277449

commit  3cec98229bf077e97e442c942c2bd8768e277449
Author: Robert Mustacchi <rm@fingolfin.org>
Date:   2020-12-15T14:56:00.000Z

    12229 fix ctf test check-qualifiers for clang
    12230 clang optimizer defeats ctf test suite
    12231 ctf tests should not pass -h directly to clang
    12232 fix clang compiler warnings in the ctf test suite
    13348 ctftest should skip known failures with clang
    13350 some ctf tests still rely on default compiler arch
    13349 ctf tests should specify -fcommon when needed
    Reviewed by: Andy Fiddaman <andy@omnios.org>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Also available in: Atom PDF