Ferenc Gerlits created MINIFICPP-1239:
-----------------------------------------

             Summary: Use STL regular expressions whenever we can
                 Key: MINIFICPP-1239
                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1239
             Project: Apache NiFi MiNiFi C++
          Issue Type: Improvement
            Reporter: Ferenc Gerlits
            Assignee: Ferenc Gerlits
             Fix For: 0.8.0


Because gcc < 4.9 has only partial and buggy support for regular expressions 
(see [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631]), we need to use the 
more basic regex functions of regex.h when using those old compilers.  In 
RegexUtils.h, this is done using the condition

{code:c++}
#if (__cplusplus > 201103L) || defined(_WIN32)
// use STL regexes
{code}

However, this means that we only use the STL regexes on Windows, because on 
Linux and MacOS we compile with {{-std=c++11}} (and not 14), so {{__cplusplus}} 
is always set to {{201103}}.

Change the condition to use STL regexes by default, and only fall back to 
regex.h in the case of old gcc compilers, i.e.

{code:c++}
#if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9))
// don't use STL regexes
{code}
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to