Given the current state of OS X compilers, the original fails_with
behavior is becoming less useful, mostly resulting in build failures
each time the compiler is updated. So make the following changes:
When a build is specified, we retain the old behavior: switch compilers
if the available compiler is <= the build, don't switch if it is > the
build.
When no build is specified, unconditionally switch compilers, and don't
output the advice message. This allows us to mark formulae as
perpetually failing, avoiding the need to update formulae each time a
new compiler build is made available.
As a bonus, this makes the logic much easier to reason about.
ClosesHomebrew/homebrew#18175.
The current code does not support this behavior, and the X11Dependency
will choke if symbols are passed in the tag field.
Future work will enable this.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
The MacOS.version? family of methods (other than "leopard?") are poorly
defined and lead to confusing code. Replace them in formulae with more
explicit comparisons.
"MacOS.version" is a special version object that can be compared to
numerics, symbols, and strings using the standard Ruby comparison
methods.
The old methods were moved to compat when the version comparison code
was merged, and they must remain there "forever", but they should not be
used in new code.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Clang is unlikely to ever support this kind of thing, it's bad code!
In this case really we could use a way to provide a diff of the lines that break the compile and say that it fails with clang while this bad code is in the sources.
ClosesHomebrew/homebrew#14573.
Remove AM_C_PROTOTYPES from configure.in, which was dropped in automake
1.12 as pre-ANSI C compilers are no longer worth caring about.
Add fails_with clang. AGG tries to return a const reference as a
non-const reference, which is allowed by gcc and llvm but not clang 3.1.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>