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?

Reply via email to