Bug 2151104

Summary: bison: Implicit declaration of yydestruct in test case
Product: [Fedora] Fedora Reporter: Florian Weimer <fweimer>
Component: bisonAssignee: Arjun Shankar <arjun>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: arjun, ashankar, codonell, me, pfrankli
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-02-22 13:48:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2137512    

Description Florian Weimer 2022-12-06 06:38:56 UTC
Instrumentation shows that something contains an implicit function declaration somewhere in the sources:

*** GCC errors begin ***
input.c:1162: implicit function declaration: yydestruct
*** GCC errors end ***

I assume it's in a test case, and apparently the compilation error is ignored for some reason.

Full build logs are here:

<https://gitlab.com/fweimer-rh/fedora-modernc-logs/-/blob/main/logs/b/bison.log>

Links to resources (mock configuration, container image):

https://fedoraproject.org/wiki/Toolchain/PortingToModernC#Discovering_Packages_Which_Need_Fixing

Comment 1 Carlos O'Donell 2022-12-06 14:16:19 UTC
We discussed this today in the Fedora triage for this package and noted that this is likely an issue in the testsuite.

Comment 2 Ben Cotton 2023-02-07 15:00:27 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 38 development cycle.
Changing version to 38.

Comment 3 Arjun Shankar 2023-02-22 13:48:58 UTC
After triaging this, it turned out to be an expected failure. tests/synclines.at contains a "union name syncline" test that uses a reserved word for a union name. That error cascades down to an implicit function declaration (it's due to gcc not knowing one of the types used in the earlier definition of that function). So we will leave bison unchanged and let the implicit function declaration error to exist.

For the fedora-modernc porting initiative where these sorts of errors lead to a package build failure, Florian has checked in an exception so bison can continue to build there.