On Mon, Feb 10, 2020 at 12:00:28PM -0600, Segher Boessenkool wrote:
> On Mon, Feb 10, 2020 at 03:07:49PM +0100, Jakub Jelinek wrote:
> > +      || strncmp (name, ".lbss.", sizeof (".lbss.") - 1) == 0
> 
> You can just use  strlen (".lbss.")  which is nicer to read and compiles
> to the same thing?

By GCC yes, non-GCC compilers might not.  Though admittedly, we probably
don't care.

We use sizeof ("...") - 1 or sizeof "..." - 1 in a lot of places though.

gcc.c:        && (p1[sizeof "%include" - 1] == ' '
gcc.c:            || p1[sizeof "%include" - 1] == '\t'))
gcc.c:    else if (!strncmp (p1, "%include_noerr", sizeof "%include_noerr" - 1)
gcc.c:             && (p1[sizeof "%include_noerr" - 1] == ' '
gcc.c:                 || p1[sizeof "%include_noerr" - 1] == '\t'))
gcc.c:    else if (!strncmp (p1, "%rename", sizeof "%rename" - 1)
gcc.c:             && (p1[sizeof "%rename" - 1] == ' '
gcc.c:                 || p1[sizeof "%rename" - 1] == '\t'))
gcc.c:      if (sl->name_len == sizeof "self_spec" - 1
c-family/c-format.c:  if (!strncmp (format_chars, "__attribute", sizeof 
"__attribute" - 1))
c-family/c-format.c:      unsigned nchars = sizeof "__attribute" - 1;
c-family/c-format.c:      && (!strncmp (format_chars + 2, "atomic", sizeof 
"atomic" - 1)
c-family/c-format.c:      || !strncmp (format_chars + 2, "builtin", sizeof 
"builtin" - 1)
c-family/c-format.c:      || !strncmp (format_chars + 2, "sync", sizeof "sync" 
- 1)))
[jakub@tucnak gcc]$ grep 'sizeof ("[^"]*") - 1' *.[ch] */*.[ch] */*/*.[ch]
asan.c:  name[sizeof ("__odr_asan") - 1] = '.';
asan.c:  name[sizeof ("__odr_asan") - 1] = '$';
collect2.c:      if (strncmp (name, "not found", sizeof ("not found") - 1) == 0)
gcc.c:    if (!strncmp (p1, "%include", sizeof ("%include") - 1)
gcc.c:      if (len > (int) sizeof ("/lib/gcc/") - 1
gcc.c:      len -= sizeof ("/lib/gcc/") - 1;
gcc.c:          sizeof ("COLLECT_GCC_OPTIONS=") - 1);
gcc.c:  obstack_grow (&collect_obstack, "COLLECT_GCC=", sizeof ("COLLECT_GCC=") 
- 1);
gcc.c:              sizeof ("COLLECT_LTO_WRAPPER=") - 1);
gcc.c:              sizeof ("OFFLOAD_TARGET_NAMES=") - 1);
lto-wrapper.c:             sizeof ("-foffload-objects=") - 1) == 0)
lto-wrapper.c:      = argv[i] + sizeof ("-foffload-objects=") - 1;
c/c-parser.c:                              + sizeof ("omp declare reduction ") 
- 1,
fortran/module.c:         const char *p = name + sizeof ("operator ") - 1;
fortran/trans-io.c:  memcpy (name + sizeof ("__st_parameter_") - 1, 
st_parameter[ptype].name,
config/arm/driver-arm.c:      if (strncmp (buf, "CPU implementer", sizeof ("CPU 
implementer") - 1) == 0)
config/arm/driver-arm.c:      if (strncmp (buf, "CPU part", sizeof ("CPU part") 
- 1) == 0)
config/frv/frv.h:             sizeof ("__trampoline_setup bad size\n") - 1);    
        \
config/frv/frv.h:             sizeof ("__trampoline_setup bad size\n") - 1);    
        \
config/i386/i386.c:      || strncmp (name, ".lbss.", sizeof (".lbss.") - 1) == 0
config/i386/i386.c:               sizeof (".gnu.linkonce.lb.") - 1) == 0)
config/mips/driver-native.c:    if (strncmp (buf, "cpu model", sizeof ("cpu 
model") - 1) == 0)
config/msp430/msp430.c:                     sizeof ("__mspabi_mpy") - 1) == 0;
config/msp430/msp430-devices.c:  if (len > (int) sizeof ("/lib/gcc/") - 1
config/msp430/msp430-devices.c:   len -= sizeof ("/lib/gcc/") - 1;
config/pa/som.h:               sizeof ("shared library list:") - 1) == 0)       
\
config/pa/som.h:                    sizeof ("shared library binding:") - 1) == 
0)\
config/pa/som.h:                    sizeof ("static branch prediction 
disabled") - 1) == 0)\
config/pa/som.h:           &&  strncmp (PTR, "dynamic", sizeof ("dynamic") - 1) 
== 0) \
config/pa/som.h:      PTR += sizeof ("dynamic") - 1;                            
\
config/pa/som.h:           && strncmp (PTR, "static", sizeof ("static") - 1) == 
0) \
config/pa/som.h:      PTR += sizeof ("static") - 1;                             
\
config/rs6000/rs6000.c:    spaces += sizeof ("  Reload=sl") - 1;
config/rs6000/rs6000.c:    spaces += sizeof ("  Upper=y") - 1;
config/rs6000/rs6000.c:  strcpy (name, bname + sizeof ("__builtin_") - 1);
config/rs6000/rs6000.c:       len += sizeof ("no-") - 1;
config/rs6000/rs6000.c:       len += sizeof ("no-") - 1;
config/rs6000/rs6000.c:      comma_len = sizeof (", ") - 1;
config/sparc/driver-sparc.c:    if (strncmp (buf, "cpu\t\t:", sizeof 
("cpu\t\t:") - 1) == 0)

        Jakub

Reply via email to