This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/17794] New: Use of __asm with __USE_ISOCXX11 in stdlib.h


https://sourceware.org/bugzilla/show_bug.cgi?id=17794

            Bug ID: 17794
           Summary: Use of __asm with __USE_ISOCXX11 in stdlib.h
           Product: glibc
           Version: 2.17
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: mjh at edg dot com
                CC: drepper.fsp at gmail dot com

Hi,

This snippet from a 2.17 version of /usr/include/stdlib.h:

...
#if defined __USE_ISOC11 || defined __USE_ISOCXX11
/* Register a function to be called when `quick_exit' is called.  */
# ifdef __cplusplus
extern "C++" int at_quick_exit (void (*__func) (void))
     __THROW __asm ("at_quick_exit") __nonnull ((1));
...

causes problems when compiled by a compiler that is C++11 compliant, but
doesn't support the __asm directive.  

Previous versions (this is from 2.12) recognized that this was GNU-specific:

...
#ifdef __USE_GNU
// XXX There should be a macro to signal with C++ revision is used.
// XXX This function is in the C++1x revision.
/* Register a function to be called when `quick_exit' is called.  */
# ifdef __cplusplus
extern "C++" int at_quick_exit (void (*__func) (void))
     __THROW __asm ("at_quick_exit") __nonnull ((1));
...

It appears that the same code exists in the current version of stdlib.h.

Thanks,

Mike.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]