[lldb-dev] Can someone compile and run this on Linux?

Vince Harron vharron at google.com
Tue Jan 20 15:50:56 PST 2015


vharron at tifa:~$ gcc foo.cpp
foo.cpp: In function ‘int main(int, const char**, const char**)’:
foo.cpp:5:43: error: ‘REG_ENHANCED’ was not declared in this scope
 #define DEFAULT_REG_FLAGS (REG_EXTENDED | REG_ENHANCED)
                                           ^
foo.cpp:11:36: note: in expansion of macro ‘DEFAULT_REG_FLAGS’
     int err = regcomp (&re, "^a$", DEFAULT_REG_FLAGS);

vharron at tifa:~$ clang foo.cpp
foo.cpp:11:36: error: use of undeclared identifier 'REG_ENHANCED'
    int err = regcomp (&re, "^a$", DEFAULT_REG_FLAGS);
                                   ^
foo.cpp:5:43: note: expanded from macro 'DEFAULT_REG_FLAGS'
#define DEFAULT_REG_FLAGS (REG_EXTENDED | REG_ENHANCED)
                                          ^
foo.cpp:14:51: error: use of undeclared identifier 'REG_ENHANCED'
        err = regexec (&re, regex_input, 0, NULL, DEFAULT_REG_FLAGS);
                                                  ^
foo.cpp:5:43: note: expanded from macro 'DEFAULT_REG_FLAGS'
#define DEFAULT_REG_FLAGS (REG_EXTENDED | REG_ENHANCED)
                                          ^
2 errors generated.


On Tue, Jan 20, 2015 at 3:37 PM, Greg Clayton <gclayton at apple.com> wrote:

> The code below fails to match the string "a" to the regex "^a$" on MacOSX
> if both "REG_EXTENDED | REG_ENHANCED" are specified, but it will pass if
> just REG_ENHANCED is used.
>
> Can someone run this on linux to see if the code below fails as well on
> linux? I want to make sure it isn't just an old version of regex we have in
> our libc...
>
>
>
> #include <stdio.h>
> #include <stdint.h>
> #include <regex.h>
>
> #define DEFAULT_REG_FLAGS (REG_EXTENDED | REG_ENHANCED)
>
> int main (int argc, char const *argv[], char const *envp[])
> {
>     regex_t re;
>     const char *regex_input = "a";
>     int err = regcomp (&re, "^a$", DEFAULT_REG_FLAGS);
>     if (err == 0)
>     {
>         err = regexec (&re, regex_input, 0, NULL, DEFAULT_REG_FLAGS);
>         if (err == 0)
>         {
>             puts("matched");
>         }
>         else
>         {
>             char error_str[2048];
>             const size_t actual_error_str_size = regerror(err, &re,
> error_str, sizeof(error_str));
>             puts(error_str);
>         }
>     }
>     return 0;
> }
>
>
>
>
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>



-- 

Vince Harron | Technical Lead Manager | vharron at google.com | 858-442-0868
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150120/b4748ad9/attachment.html>


More information about the lldb-dev mailing list