mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-02 19:46:09 +08:00
gdb: use compiled_regex instead of std::regex
In GDB we should be using compiled_regex instead of std::regex. Replace one use in producer.c. There should be no user visible changes after this commit. gdb/ChangeLog: * producer.c: Replace 'regex' include with 'gdb_regex.h'. (producer_is_icc): Replace use of std::regex with gdb's compiled_regex.
This commit is contained in:
@ -1,3 +1,9 @@
|
||||
2021-04-19 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* producer.c: Replace 'regex' include with 'gdb_regex.h'.
|
||||
(producer_is_icc): Replace use of std::regex with gdb's
|
||||
compiled_regex.
|
||||
|
||||
2021-04-17 Tom Tromey <tom@tromey.com>
|
||||
|
||||
PR gdb/23743:
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "defs.h"
|
||||
#include "producer.h"
|
||||
#include "gdbsupport/selftest.h"
|
||||
#include <regex>
|
||||
#include "gdb_regex.h"
|
||||
|
||||
/* See producer.h. */
|
||||
|
||||
@ -91,9 +91,8 @@ producer_is_icc_ge_19 (const char *producer)
|
||||
bool
|
||||
producer_is_icc (const char *producer, int *major, int *minor)
|
||||
{
|
||||
std::regex i_re ("Intel\\(R\\)");
|
||||
std::cmatch i_m;
|
||||
if ((producer == nullptr) || !std::regex_search (producer, i_m, i_re))
|
||||
compiled_regex i_re ("Intel(R)", 0, "producer_is_icc");
|
||||
if (producer == nullptr || i_re.exec (producer, 0, nullptr, 0) != 0)
|
||||
return false;
|
||||
|
||||
/* Prepare the used fields. */
|
||||
@ -106,12 +105,13 @@ producer_is_icc (const char *producer, int *major, int *minor)
|
||||
*minor = 0;
|
||||
*major = 0;
|
||||
|
||||
std::regex re ("[0-9]+\\.[0-9]+");
|
||||
std::cmatch version;
|
||||
|
||||
if (std::regex_search (producer, version, re))
|
||||
compiled_regex re ("[0-9]+\\.[0-9]+", REG_EXTENDED, "producer_is_icc");
|
||||
regmatch_t version[1];
|
||||
if (re.exec (producer, ARRAY_SIZE (version), version, 0) == 0
|
||||
&& version[0].rm_so != -1)
|
||||
{
|
||||
sscanf (version.str ().c_str (), "%d.%d", major, minor);
|
||||
const char *version_str = producer + version[0].rm_so;
|
||||
sscanf (version_str, "%d.%d", major, minor);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user