Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#63265 closed enhancement (fixed)

clang-11, clang-12, clang-devel: Don't default to +analyzer on 10.6 and earlier

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: kencu (Ken)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: clang-11 clang-12 clang-devel

Description

clang-3.7 no longer enables +analyzer by default on 10.6 and earlier as of [9809d4ba1a7540430d2f8998b211d39c69fc1587/macports-ports].

clang-5.0, 6.0, 7.0, 8.0, 9.0, 10 and devel had the same change made in [6b338b8b0a4fd729e64d35829b0fa3b6d6711b5e/macports-ports].

The change in clang-devel was reverted in [78b2cb450f7f56f0d1e6f66c44cd6e3a3fd742b1/macports-ports]. The commit message does not say why. Can it be re-reverted?

clang-11 has used +analyzer as a default ever since the port was added. Can if be changed to do so only on OS > 10.6?

clang-12 was added without that default variant but the default was added by request in [e5dd44494ea579bb4bc6b5b97ab3b8aa82087680/macports-ports]. Can it be made conditional to OS > 10.6?

(This all presumes that these clang ports can or will in the future build on <= 10.6.)

If we could make these changes and agree that +analyzer shall not be a default for 10.6 and earlier, it would simplify the fixes that need to be made to the perl5 port to fix #57648.

Change History (4)

comment:1 Changed 3 years ago by kencu (Ken)

100% agree, the intention is that the analyzer would be the default only on 10.7+, specifically for the perl dep.

If it's not like that, it's an oversight somehow.

We could make the analyzer the default only for the very latest systems too.

comment:2 Changed 3 years ago by kencu (Ken)

Resolution: fixed
Status: assignedclosed

In 2648d9763bd78126ff46170d72309194beaac42b/macports-ports (master):

clang-11,12,devel: default analyzer on darwin 11+

the analyzer variant adds a dependency on perl5 at runtime

Although at present MacPorts compiler selection builds perl5
using clang-9.0, which is fine and builds a fully-capable perl5,
it is possible that at some point in the future MacPorts might change to
default to a newer clang like clang-10, 11 or newer on 10.6 and earlier.

If that should happen, then there would be circular dependancy.

So we will remove the analyzer variant from all clang versions on systems
where the system roots can't build a fully capable perl5, in case
at some point in the future the MacPorts defaults might change.

closes: #63265

comment:3 Changed 3 years ago by kencu (Ken)

I am not planning on revbumping clang-11 and forcing everyone to build it again for this, just for this trivial change that affects < 10.7 only.

At some point in the future, some reason will come along to revbump clang-11 and cover this.

If this is not acceptable, then a revbump is a single keystroke away ;>

comment:4 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Agreed, thank you!

Note: See TracTickets for help on using tickets.