• Wez Furlong's avatar
    folly: workaround AsyncTimeoutTest ICE with gcc 8 · 8ea8b06a
    Wez Furlong authored
    Summary:
    ```
    folly/io/async/test/AsyncTimeoutTest.cpp: In lambda function:
    folly/io/async/test/AsyncTimeoutTest.cpp:31:70: internal compiler error: Segmentation fault
           AsyncTimeout::make(manager, [&]() noexcept { value = expected; });
                                                                          ^
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <http://bugzilla.redhat.com/bugzilla> for instructions.
    ```
    
    I'm using:
    
    ```
     $ /opt/rh/devtoolset-8/root/usr/bin/c++ --version
    c++ (GCC) 8.2.1 20180801 (Red Hat 8.2.1-2)
    Copyright (C) 2018 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    ```
    
    This has been fixed in gcc 8.3, but the workaround is to explicitly
    name the captures as is done in this diff.
    
    Reviewed By: yfeldblum
    
    Differential Revision: D14702587
    
    fbshipit-source-id: 1998ef5de8eb4df520edcc41fdc9cd9547dec824
    8ea8b06a
AsyncTimeoutTest.cpp 2.89 KB