{"record":{"id":"d0d42f38c046f5ef","repo":"openjdk/jdk","slug":"s-found-d-warning","errorCode":null,"errorMessage":"%s:  Found %d warning","messagePattern":"(.+?):  Found (.+?) warning","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"src/hotspot/share/adlc/adlparse.cpp","lineNumber":73,"sourceCode":"  }\n#endif\n  if( _AD._syntax_errs + _AD._semantic_errs + _AD._warnings == 0 ) {\n    if (!_AD._quiet_mode)\n      fprintf(stderr,\"No errors or warnings to report from phase-1 parse.\\n\" );\n  }\n  else {\n    if( _AD._syntax_errs ) {      // Any syntax errors?\n      fprintf(stderr,\"%s:  Found %d syntax error\", _buf._fp->_name, _AD._syntax_errs);\n      if( _AD._syntax_errs > 1 ) fprintf(stderr,\"s.\\n\\n\");\n      else fprintf(stderr,\".\\n\\n\");\n    }\n    if( _AD._semantic_errs ) {    // Any semantic errors?\n      fprintf(stderr,\"%s:  Found %d semantic error\", _buf._fp->_name, _AD._semantic_errs);\n      if( _AD._semantic_errs > 1 ) fprintf(stderr,\"s.\\n\\n\");\n      else fprintf(stderr,\".\\n\\n\");\n    }\n    if( _AD._warnings ) {         // Any warnings?\n      fprintf(stderr,\"%s:  Found %d warning\", _buf._fp->_name, _AD._warnings);\n      if( _AD._warnings > 1 ) fprintf(stderr,\"s.\\n\\n\");\n      else fprintf(stderr,\".\\n\\n\");\n    }\n  }\n  if (!_AD._quiet_mode)\n    fprintf(stderr,\"-----------------------------------------------------------------------------\\n\");\n  _AD._TotalLines += linenum()-1;     // -1 for overshoot in \"nextline\" routine\n\n  // Write out information we have stored\n  // // UNIXism == fsync(stderr);\n}\n\n//------------------------------parse------------------------------------------\n// Each top-level keyword should appear as the first non-whitespace on a line.\n//\nvoid ADLParser::parse() {\n  char *ident;\n","sourceCodeStart":55,"sourceCodeEnd":91,"githubUrl":"https://github.com/openjdk/jdk/blob/88dfb74bbeefcf2b0aa11835183bcd949998fc8f/src/hotspot/share/adlc/adlparse.cpp#L55-L91","documentation":"Phase-1 ADLC summary '\"%s: Found %d warning(s).\"' printed when only _AD._warnings > 0 (no errors). Warnings are non-fatal hygiene messages about the .ad description (e.g. unused operands at archDesc.cpp:776, ThreadLocal naming at formssel.cpp:304). The build continues and generated output is produced.","triggerScenarios":"Any ADLParser warning path incrementing _AD._warnings — unused operand definitions, instructions matching ThreadLocal without the tlsLoadP_ name prefix, and similar lint-level checks on the platform description.","commonSituations":"Upstream .ad files that carry intentionally unused compatibility operands; developers adding new vector operands without wiring them into any instruction.","solutions":["Read each warning line; remove or use the flagged construct if it is your code","For upstream files, warnings can usually be ignored — verify the build otherwise succeeds","Pass quiet mode (_AD._quiet_mode, e.g. via -q flag in adlc) if you only want errors"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"make adlc 2>&1 | grep -c '^Warning' # CI: fail or annotate when warning count grows vs baseline","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Track warning count in CI against a baseline","Fix warnings in your own .ad edits; upstream noise may stay","Use adlc quiet mode when only errors matter"],"tags":["adlc","warnings","build","hotspot","lint"],"backgroundTag":null,"analyzedSha":"88dfb74bbeefcf2b0aa11835183bcd949998fc8f","analyzedAt":"2026-08-14T11:45:09.665Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}