#2052: piraha assumes that assert(false) always aborts
Reporter:Roland Haas
Status:resolved
Milestone:
Version:development version
Type:bug
Priority:minor
Component:Cactus

Changes (by Steven R. Brandt):

status:resolved (was open)

I recently tried compiling Cactus with the Cray compiler on BW and get (among other things) warnings like this:

CC-940 crayc++: WARNING File = src/piraha/Piraha.hpp, Line = 326
  A "return" statement is missing from the end of a non-void function
          "cctki_piraha::LookAhead::match".

      bool match(Matcher *m) { assert(false); }//TODO: Fill in

which is indeed a bug. If one defines NDEBUG (as is done for the highly optimized option lists) then assert() is a no-op and the function (if it was called) returned garbage.

I see three solutions:

  1. call CCTK_Abort()
  2. add a "return false;" or so
  3. remove the whole function definition. I think C++ does not mind if declared member fun

    Comment (by Steven R. Brandt):

    Applied previously.

    --
    Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2052/piraha-assumes-that-assert-false-always