Loading

gcc bug

  1. #include <cstdio>
  2.  
  3.  
  4. struct S
  5. {
  6.     void* get()
  7.     {
  8.         return NULL;
  9.     }
  10.  
  11.     ~S()
  12.     {
  13.         printf("dtor\n");
  14.     }
  15. };
  16.  
  17.  
  18. void foo(void* x)
  19. {
  20.     printf("foo\n");
  21. }
  22.  
  23.  
  24. void testFunc(int len)
  25. {
  26.   bool __cond59;
  27.   bool __cond60;
  28.  
  29.   foo ((__cond60 = len > 1, __cond60) ? NULL : (__cond59 = len == 1, __cond59) ? S().get() : NULL);
  30.  
  31.   if (!__cond60)
  32.     {
  33.       if (__cond59)
  34.         {
  35.           printf("fail\n");
  36.         }
  37.     }
  38. }
  39.  
  40.  
  41. void check(void (*dg)(int))
  42. {
  43.     dg(2);
  44. }
  45.  
  46. int main()
  47. {
  48.     check(&testFunc);
  49. }

Version history

Revision # Author Created at
pewdegeqp Anonymous 12 Jun 2016, 10:21:49 UTC Diff
pjwz62z9a Anonymous 12 Jun 2016, 10:19:18 UTC Diff