Bug 467172

Summary: glibc header signalfd.h error:expected initializer before ‘throw’
Product: [Fedora] Fedora Reporter: Parag AN(पराग) <panemade>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jakub
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-10-20 09:56:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Parag AN(पराग) 2008-10-16 07:57:19 UTC
Description of problem:
When any simple C++ file which includes <sys/signalfd.h> headers then its compilation fails with error
/usr/include/sys/signalfd.h:54: error: expected initializer before ‘throw’

Reference:-
While reviewing new package fbterm #465928 , I see above compilation problem. 

Version-Release number of selected component (if applicable):
glibc-2.8.90-13.fc10

How reproducible:
always

Steps to Reproduce:
1. compile source code 
---------------------------------------
#include <iostream>
#include <sys/signalfd.h>
using namespace std;
int main()
{
cout<<"Testing Throw";
return 0;
}
----------------------------------------
2. observe error
3.
  
Actual results:
/usr/include/sys/signalfd.h:54: error: expected initializer before ‘throw’

Expected results:
It should not report error.

Additional info:
I am not sure if this is correct to report bug to fix compilation error.
The solution I see is as
---------------------------------
#include <iostream>
#undef __THROW
#define __THROW
#include <sys/signalfd.h>
using namespace std;
int main()
{
cout<<"Testing Throw";
return 0;
}
--------------------------------

Comment 1 Jakub Jelinek 2008-10-20 09:56:33 UTC
Should be fixed in glibc-2.8.90-14 in rawhide.