Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-983

[Linux/gcc] 20.meta.unary.prop.cpp fails is_pod assertions

Add voteWatch issue
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • External
    • None
    • gcc-4.3

    • Incorrect Behavior

    Description

      I'm pretty confident that the following should compile and run without failure. It abbends with SIGABRT with recent versions of gcc-4.3.

      $ cat t.cpp && g++ t.cpp && ./a.out
      #include <assert.h>
      
      struct empty_t
      {
      };
      
      struct trivial_t
      {
        long value;
      };
      
      template <class T>
      struct public_derived_t : T
      {
      };
      
      int main ()
      {
          assert (__is_pod(trivial_t));
          assert (__is_pod(public_derived_t<trivial_t>));
      
          assert (__is_pod(empty_t));
          assert (__is_pod(public_derived_t<empty_t>));
      
          return 0;
      }
      a.out: t.cpp:20: int main(): Assertion `__is_pod(public_derived_t<trivial_t>)' failed.
      Aborted
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            vitek Travis Vitek

            Dates

              Created:
              Updated:

              Slack

                Issue deployment