On 12/19/19 5:30 PM, David Holmes wrote:
Hi Ty,
On 20/12/2019 9:23 am, Ty Young wrote:
Hi,
As of the merging of Records into JDK proper, source code compiling
fails using a standard command line of:
bash configure --disable-warnings-as-errors
I would have expected that to ensure the warnings were NOT treated as
an error. Is there some build system bug here? Or is there some
double-negative at play ??
spec.gmk has this:
# A global flag (true or false) determining if native warnings are
considered errors.
WARNINGS_AS_ERRORS := false
...implying that it only affects native warnings. The argument naming
itself doesn't really suggest that though...
which fails with:
/home/ty/Downloads/jdk-master/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java:30:
warning: [preview] RecordComponentElement is an API that is part of a
preview feature
import javax.lang.model.element.RecordComponentElement;
^
/home/ty/Downloads/jdk-master/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java:30:
warning: [preview] RecordComponentElement is an API that is part of a
preview feature
import javax.lang.model.element.RecordComponentElement;
^
error: warnings found and -Werror specified
I think this is more an issue for the language and compiler folk on
compiler-dev. I'm not clear on all the rules around use of preview
features but it seems to me that if we are using them internally and
that generates warnings then we should be suppressing those warnings
(@supressedWarning) at those call sites. Though I don't know whether
you can suppress a warning for an import statement??
David
-----
Sending this to them.
...which was not the case in 13. I'm assuming this is happening now
because JDK source code actually utilizes the feature preview where
as with other preview features before simply existed but weren't used
in source.
I've been told by a JDK developer from the Project Panama mailing
list that it *does* compile for them, but I'm not aware of the
command line arguments that JDK developers use. Is this documented
somewhere? Should it be failing by default like this?
Additionally, the argument --with-libclang-include-aux seems to have
been deprecated in 14. This, as was told to me by a Panama JDK
developer, is needed to specify clang headers for custom source
builds. What is the correct way to specify those now in 14?