Commit Graph

48 Commits

Author SHA1 Message Date
Jakub Jelinek
254a858ae7 Update copyright years. 2026-01-02 09:56:11 +01:00
Andreas Schwab
43717ee906 libiberty: Fix off-by-one when collecting range expression
Fixes this error during build of fixincludes:

In function ‘byte_regex_compile’,
    inlined from ‘xregcomp’ at ../libiberty/../../libiberty/regex.c:7973:11:
../libiberty/../../libiberty/regex.c:3477:29: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 3477 |                     str[c1] = '\0';
      |                             ^
../libiberty/../../libiberty/regex.c: In function ‘xregcomp’:
../libiberty/../../libiberty/regex.c:3454:35: note: at offset 128 into destination object ‘str’ of size 128
 3454 |                     unsigned char str[128];     /* Should be large enough.  */
      |                                   ^

	* regex.c (regex_compile): Don't write beyond array bounds when
	collecting range expression.
2025-05-13 09:51:49 +02:00
Jakub Jelinek
6441eb6dc0 Update copyright years. 2025-01-02 11:59:57 +01:00
Jakub Jelinek
94792057ad Fix up duplicated words mostly in comments, part 1
Like in r12-7519-g027e30414492d50feb2854aff38227b14300dc4b, I've done
git grep -v 'long long\|optab optab\|template template\|double double' | grep ' \([a-zA-Z]\+\) \1 '

This is just part of the changes, mostly for non-gcc directories.
I'll try to get to the rest soon.  Obviously, the above command also
finds cases which are correct as is and shouldn't be changed, so one
needs to manually inspect everything.

I'd hope most of it is pretty obvious, but the config/ and libstdc++-v3/
hunks include a tweak in a license wording, though other copies of the
similar license have the wording right.

2024-04-02  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.tpl: Fix duplicated words; returns returns ->
	returns.
config/
	* lcmessage.m4: Fix duplicated words; can can -> can,
	package package -> package.
libdecnumber/
	* decCommon.c (decFinalize): Fix duplicated words in
	comment; the the -> the.
libgcc/
	* unwind-dw2-fde.c (struct fde_accumulator): Fix duplicated
	words in comment; is is -> is.
libgfortran/
	* configure.host: Fix duplicated words; the the -> the.
libgm2/
	* configure.host: Fix duplicated words; the the -> the.
libgomp/
	* libgomp.texi (OpenMP 5.2): Fix duplicated words; with with ->
	with.
	(omp_target_associate_ptr): Fix duplicated words; either either ->
	either.
	(omp_init_allocator): Fix duplicated words; be be -> be.
	(omp_realloc): Fix duplicated words; is is -> is.
	(OMP_ALLOCATOR): Fix duplicated words; other other -> other.
	* priority_queue.h (priority_queue_multi_p): Fix duplicated words;
	to to -> to.
libiberty/
	* regex.c (byte_re_match_2_internal): Fix duplicated words in comment;
	next next -> next.
	* dyn-string.c (dyn_string_init): Fix duplicated words in comment;
	of of -> of.
libitm/
	* beginend.cc (GTM::gtm_thread::begin_transaction): Fix duplicated
	words in comment; not not -> not to.
libobjc/
	* init.c (duplicate_classes): Fix duplicated words in comment; in in
	-> in.
	* sendmsg.c (__objc_prepare_dtable_for_class): Fix duplicated words
	in comment; the the -> the.
	* encoding.c (objc_layout_structure): Likewise.
libstdc++-v3/
	* acinclude.m4: Fix duplicated words; file file -> file can.
	* configure.host: Fix duplicated words; the the -> the.
libvtv/
	* vtv_rts.cc (vtv_fail): Fix duplicated words; to to -> to.
	* vtv_fail.cc (vtv_fail): Likewise.
2024-04-02 13:39:11 +02:00
Jakub Jelinek
a945c346f5 Update copyright years. 2024-01-03 12:19:35 +01:00
Jakub Jelinek
83ffe9cde7 Update copyright years. 2023-01-16 11:52:17 +01:00
Martin Liska
098f02aa15 libiberty: fix wrong replacent in comments
libiberty/ChangeLog:

	* regex.c: Restore comments.
2022-05-10 17:36:28 +02:00
Martin Liska
50b009c5da libiberty: stop using PTR macro
include/ChangeLog:

	* hashtab.h (HTAB_EMPTY_ENTRY): Use void * instead PTR.
	(HTAB_DELETED_ENTRY): Likewise.

libiberty/ChangeLog:

	* alloca.c (C_alloca): Use void * instead PTR.
	* calloc.c (malloc): Likewise.
	(bzero): Likewise.
	(calloc): Likewise.
	* hashtab.c (find_empty_slot_for_expand): Likewise.
	(eq_pointer): Likewise.
	(htab_create_alloc_ex): Likewise.
	(htab_create_typed_alloc): Likewise.
	(htab_set_functions_ex): Likewise.
	(htab_delete): Likewise.
	(htab_empty): Likewise.
	(htab_expand): Likewise.
	(htab_find_with_hash): Likewise.
	(htab_find): Likewise.
	(htab_find_slot_with_hash): Likewise.
	(htab_find_slot): Likewise.
	(htab_remove_elt): Likewise.
	(htab_remove_elt_with_hash): Likewise.
	(htab_clear_slot): Likewise.
	(htab_traverse_noresize): Likewise.
	(htab_traverse): Likewise.
	(htab_hash_string): Likewise.
	(iterative_hash): Likewise.
	(hash_pointer): Likewise.
	* memchr.c (memchr): Likewise.
	* memcmp.c (memcmp): Likewise.
	* memcpy.c (memcpy): Likewise.
	* memmove.c (memmove): Likewise.
	* mempcpy.c (memcpy): Likewise.
	(mempcpy): Likewise.
	* memset.c (memset): Likewise.
	* objalloc.c (malloc): Likewise.
	(free): Likewise.
	(objalloc_create): Likewise.
	(_objalloc_alloc): Likewise.
	(objalloc_free_block): Likewise.
	* random.c (PTR): Likewise.
	(void): Likewise.
	(initstate): Likewise.
	(setstate): Likewise.
	* regex.c: Likewise.
	* spaces.c (malloc): Likewise.
	(free): Likewise.
	* stpcpy.c (memcpy): Likewise.
	* strdup.c (malloc): Likewise.
	(memcpy): Likewise.
	* strerror.c (malloc): Likewise.
	(memset): Likewise.
	* strndup.c (malloc): Likewise.
	(memcpy): Likewise.
	* strsignal.c (malloc): Likewise.
	(memset): Likewise.
	* vasprintf.c (malloc): Likewise.
	* vprintf-support.c: Likewise.
	* xatexit.c (malloc): Likewise.
	* xmalloc.c (xmalloc): Likewise.
	(xcalloc): Likewise.
	(xrealloc): Likewise.
	* xmemdup.c (xmemdup): Likewise.
2022-05-10 16:04:30 +02:00
Martin Sebor
671a283636 Add -Wuse-after-free [PR80532].
gcc/c-family/ChangeLog

	PR tree-optimization/80532
	* c.opt (-Wuse-after-free): New options.

gcc/ChangeLog:

	PR tree-optimization/80532
	* common.opt (-Wuse-after-free): New options.
	* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
	OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
	* diagnostic-spec.h (NW_DANGLING): New enumerator.
	* doc/invoke.texi (-Wuse-after-free): Document new option.
	* gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
	(pass_waccess::check_call_access): ...to this.
	(pass_waccess::check): Rename...
	(pass_waccess::check_block): ...to this.
	(pass_waccess::check_pointer_uses): New function.
	(pass_waccess::gimple_call_return_arg): New function.
	(pass_waccess::warn_invalid_pointer): New function.
	(pass_waccess::check_builtin): Handle free and realloc.
	(gimple_use_after_inval_p): New function.
	(get_realloc_lhs): New function.
	(maybe_warn_mismatched_realloc): New function.
	(pointers_related_p): New function.
	(pass_waccess::check_call): Call check_pointer_uses.
	(pass_waccess::execute): Compute and free dominance info.

libcpp/ChangeLog:

	* files.c (_cpp_find_file): Substitute a valid pointer for
	an invalid one to avoid -Wuse-after-free.

libiberty/ChangeLog:

	* regex.c: Suppress -Wuse-after-free.

gcc/testsuite/ChangeLog:

	PR tree-optimization/80532
	* gcc.dg/Wmismatched-dealloc-2.c: Avoid -Wuse-after-free.
	* gcc.dg/Wmismatched-dealloc-3.c: Same.
	* gcc.dg/analyzer/file-1.c: Prune expected warning.
	* gcc.dg/analyzer/file-2.c: Same.
	* gcc.dg/attr-alloc_size-6.c: Disable -Wuse-after-free.
	* gcc.dg/attr-alloc_size-7.c: Same.
	* c-c++-common/Wuse-after-free-2.c: New test.
	* c-c++-common/Wuse-after-free-3.c: New test.
	* c-c++-common/Wuse-after-free-4.c: New test.
	* c-c++-common/Wuse-after-free-5.c: New test.
	* c-c++-common/Wuse-after-free-6.c: New test.
	* c-c++-common/Wuse-after-free-7.c: New test.
	* c-c++-common/Wuse-after-free.c: New test.
	* g++.dg/warn/Wmismatched-dealloc-3.C: New test.
	* g++.dg/warn/Wuse-after-free.C: New test.
2022-01-15 16:45:24 -07:00
Jakub Jelinek
7adcbafe45 Update copyright years. 2022-01-03 10:42:10 +01:00
Jakub Jelinek
99dee82307 Update copyright years. 2021-01-04 10:26:59 +01:00
Jakub Jelinek
8d9254fc8a Update copyright years.
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Jakub Jelinek
a554497024 Update copyright years.
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Jakub Jelinek
85ec4feb11 Update copyright years.
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Jakub Jelinek
2afd3180c5 Update copyright years.
From-SVN: r244052
2017-01-04 12:30:51 +01:00
Mark Wielaard
c4ec8585dc libiberty: Fix -Wimplicit-fallthrough warnings.
Adjust some comments, add some explicit fall through comments or explicit
returns where necessary to not get implicit-fallthrough warnings.

All fall throughs were deliberate. In one case I added an explicit return
false for clarity instead of falling through a default case (that also
would return false).

libiberty/ChangeLog:

       * cplus-dem.c (demangle_signature): Move fall through comment.
       (demangle_fund_type): Add fall through comment between 'G' and 'I'.
       * hashtab.c (iterative_hash): Add fall through comments.
       * regex.c (regex_compile): Add Fall through comment after '+'/'?'.
       (byte_re_match_2_internal): Add Fall through comment after jump_n.
       Change "Note fall through" to "Fall through".
       (common_op_match_null_string_p): Return false after set_number_at
       instead of fall through.

From-SVN: r241864
2016-11-04 23:55:01 +00:00
Nick Clifton
f8e663301f re PR other/66827 (left shifts of negative value warnings due to C++14 switch)
PR 66827
	* regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left
	shifting.

From-SVN: r231873
2015-12-21 08:23:35 +00:00
Uros Bizjak
dd19cdda76 * regex.c (bzero) [!_LIBC]: Cast the call to memcpy to (void).
From-SVN: r208558
2014-03-13 23:04:07 +01:00
Uros Bizjak
52684bb3c8 regex.c (bzero): Define without coma expression.
* regex.c (bzero) [!_LIBC]: Define without coma expression.
	(regerror): Cast the call to memcpy to (void) to avoid unused
	value warnings.

From-SVN: r208553
2014-03-13 19:34:47 +01:00
Mike Stump
9ffaa03201 Fix typo.
From-SVN: r201139
2013-07-22 17:23:17 +00:00
Mike Stump
b39e7f07ef Fix.
From-SVN: r201102
2013-07-21 16:48:23 +00:00
Jakub Jelinek
4ab7747c26 re PR other/56245 (-fsanitize=address miscompiles GCC)
PR other/56245
	* regex.c (PTR_INT_TYPE): Define.
	(EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.

From-SVN: r195918
2013-02-09 19:41:00 +01:00
Jim Meyering
046957830e remove useless if-before-free tests
Change "if (E) free (E);" to "free (E);" everywhere except in the
libgo/, intl/, zlib/ and classpath/ directories.
Also transform equivalent variants like
"if (E != NULL) free (E);" and allow an extra cast on the
argument to free.  Otherwise, the tested and freed "E"
expressions must be identical, modulo white space.

From-SVN: r172785
2011-04-20 18:19:03 +00:00
Jakub Jelinek
60d3aec487 tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable.
* tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
	used count variable.
	* genemit.c (gen_expand, gen_split): Avoid set but not used warnings
	when operandN variables aren't used in the body of the expander
	or splitter.
	* tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
	FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
	* tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
	* tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
	FOR_EACH_IMM_USE_ON_STMT): Likewise.
	* tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
	* tree.c (PROCESS_ARG): Likewise.
fortran/
	* parse.c (parse_derived, parse_enum): Avoid set but not used
	warning.
java/
	* expr.c (process_jvm_instruction): Avoid set but not used warning.
	* builtins.c (compareAndSwapInt_builtin, compareAndSwapLong_builtin,
	getVolatile_builtin): Likewise.
libjava/
	* exception.cc (_Jv_Throw): Avoid set but not used warning.
	* include/java-assert.h (JvAssertMessage, JvAssert): Use argument in
	sizeof to avoid set but not used warnings.
libjava/classpath/
	* native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaPortDevice.c
	(Java_gnu_javax_sound_midi_alsa_AlsaPortDevice_run_1receiver_1thread_1):
	Avoid set but not used warning.
libiberty/
	* regex.c (byte_re_match_2_internal): Avoid set but not used
	warning.
gcc/testsuite/
	* gcc.dg/builtin-choose-expr.c: Avoid set but not used warnings.
	* gcc.dg/trunc-1.c: Likewise.
	* gcc.dg/vla-9.c: Likewise.
	* gcc.dg/dfp/composite-type.c: Likewise.
libffi/
	* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.

From-SVN: r158084
2010-04-07 22:27:37 +02:00
Martin Thuresson
4578037eb7 regex.c (byte_re_match_2_internal): Split declaration and assignment to avoid -Wc++-compat warning due to goto.
2009-09-30  Martin Thuresson  <martint@google.com>

	* regex.c (byte_re_match_2_internal): Split declaration and
	assignment to avoid -Wc++-compat warning due to goto.

From-SVN: r152354
2009-10-01 01:20:13 +00:00
Ben Elliston
8cfb7ab7a2 * regex.c (regcomp): Change type of `i' from unsigned to int.
From-SVN: r102270
2005-07-22 13:55:44 +10:00
Ben Elliston
7c22afcba1 * regex.c (TRANSLATE): Cast rhs of ternary expression to char.
From-SVN: r102050
2005-07-15 11:45:25 +10:00
Ben Elliston
6c5844d2c6 pexecute.c (pexecute): Cast string litrals to char *.
* pexecute.c (pexecute): Cast string litrals to char *.
	* regex.c (re_comp): Cast a call to gettext() to char *.

From-SVN: r101911
2005-07-12 14:40:33 +10:00
Nick Clifton
ee58dffdbc Update the address and phone number of the FSF organization.
From-SVN: r99519
2005-05-10 15:33:18 +00:00
Gabriel Dos Reis
e7590e9543 Fix missed replacements.
From-SVN: r98063
2005-04-13 01:02:40 +00:00
Gabriel Dos Reis
4cf88ac343 regex.c (wcs_re_match_2_internal, [...]): Replace not with negate.
* regex.c (wcs_re_match_2_internal, byte_re_match_2_internal):
        Replace not with negate.

From-SVN: r98062
2005-04-13 00:52:16 +00:00
Gabriel Dos Reis
93079c819b xregex2.h (_RE_ARGS): Remove definition and uses.
include/
2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * xregex2.h (_RE_ARGS): Remove definition and uses.

libiberty/
2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        Convert libiberty to use ISO C prototype style 7/n.
        * regex.c (PARAMS): Remove definition.
        (PREFIX): Unconditionaly define using ISO C ## operator.
        (init_syntax_once, extract_number, extract_number_and_incr,
        print_fastmap, print_partial_compiled_pattern,
        print_compiled_pattern, print_double_string, printchar,
        convert_mbs_to_wcs, re_set_syntax, regex_grow_registers,
        regex_compile, store_op1, store_op2, insert_op1, insert_op2,
        at_begline_loc_p, at_endline_p, group_in_compile_stack,
        insert_space, wcs_compile_range, byte_compile_range,
        truncate_wchar, re_compile_fastmap, re_compile_fastmap,
        re_set_registers, re_search, re_search_2, re_search_3,
        re_match,
        re_match_2, count_mbs_length, wcs_re_match_2_internal,
        byte_re_match_2_internal, group_match_null_string_p,
        alt_match_null_string_p, common_op_match_null_string_p,
        bcmp_translate, re_compile_pattern, re_comp, re_exec, regcomp,
        regexec, regerror, regfree): Use ISO C prototype style.
        * partition.c: (elem_compare): Likewise.
        * cp-demangle.c (print_usage): Likewise.

From-SVN: r97129
2005-03-28 08:34:12 +00:00
Roger Sayle
2d59754f6a objalloc.c, [...]: Include "config.h" before "ansidecl.h" to avoid redeclaration errors with...
* objalloc.c, strsignal.c, xstrerror.c: Include "config.h" before
	"ansidecl.h" to avoid redeclaration errors with native compilers.
	* regex.c: Protect config.h from multiple inclusion.

From-SVN: r90954
2004-11-20 02:44:34 +00:00
Matt Kraai
ef2a223fbd regex.c: Include <ansidecl.h>.
* regex.c: Include <ansidecl.h>.
	(regcomp): Cast i to int.
	(regerror): Add ATTRIBUTE_UNUSED to parameter preg.

From-SVN: r77944
2004-02-17 01:59:42 +00:00
Kaveh R. Ghazi
55adc7bd57 re PR target/10338 ([3.3 regression?] [Cygwin -> tic4x | avr] cross target compilation error)
gcc:
	PR target/10338
	PR bootstrap/10198
	PR bootstrap/10140
	* fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.

libiberty:
	PR target/10338
	PR bootstrap/10198
	PR bootstrap/10140
	* getopt.c (exchange, _getopt_initialize): Use mempcpy not
	__mempcpy.
	* regex.c (regerror): Likewise.

From-SVN: r65634
2003-04-15 14:24:26 +00:00
John David Anglin
f08b7eee21 cp-demangle.c (demangling_new): Cast 0 to enum.
* cp-demangle.c (demangling_new): Cast 0 to enum.
	(demangle_char): Cast return of strdup to char *.
	(is_gnu_v3_mangled_ctor): Cast 0 to enum.
	(is_gnu_v3_mangled_dtor): Likewise.
	* cplus-dem.c (grow_vect): Cast return of xrealloc to void *.
	(work_stuff_copy_to_from): Cast return of xmalloc to char **.
	* fibheap.c (fibnode_new): Cast return of xcalloc to fibnode_t.
	* md5.c (md5_process_bytes): Cast results back to const void *.
	(md5_process_block): Add cast to const md5_uint32 *.
	* regex.c (re_compile_fastmap): Cast enum to UCHAR_T.
	* safe-ctype.c (L, XL, U, XU, D, P, _, C, Z, M, V, T, S): Add cast to
	unsigned short.
	* splay-tree.c (splay_tree_xmalloc_allocate): Cast return of xmalloc
	to void *.
	* vasprintf.c (int_vasprintf): Cast return of malloc to char *.

From-SVN: r57330
2002-09-20 02:40:51 +00:00
Roger Sayle
70c4e67a71 * regex.c: Only use "#pragma alloca" on AIX when not using gcc.
From-SVN: r56871
2002-09-05 23:07:13 +00:00
DJ Delorie
65b91091db regex.c (re_error_msgid): Just use a simple array of strings.
* regex.c (re_error_msgid): Just use a simple array of strings.
(re_compile_pattern): Compensate.
(re_comp): Likewise.
(re_comp): Likewise.
(regerror): Likewise.

From-SVN: r56106
2002-08-07 16:57:22 -04:00
Kaveh R. Ghazi
2c47b56b0a Update test for token pasting to also check "|| defined(ALMOST_STDC)"
From-SVN: r47108
2001-11-16 21:54:17 +00:00
Kaveh R. Ghazi
23850d35ec regex.c: Check defined(__STDC__) || defined(HAVE_STRINGIZE) to determine whether ISO CPP...
* regex.c: Check defined(__STDC__) || defined(HAVE_STRINGIZE)
	to determine whether ISO CPP token pasting is available.

From-SVN: r47107
2001-11-16 21:49:25 +00:00
Jeffrey A Law
d3982b7128 config.in (HAVE_UINTPTR_T): Provide autoconf stub.
* config.in (HAVE_UINTPTR_T): Provide autoconf stub.
        * configure.in (HAVE_UINTPTR_T): Test for system defining
        uintptr_t and define HAVE_UINTPTR_T appropriately.
        * regex.c (uintptr_t): Do not provide a definition if the
        system provided one.

From-SVN: r47068
2001-11-15 11:11:24 -07:00
Jeffrey A Law
7ddfb6510b regex.c (PREFIX): Provide an alternate definition for non-ANSI/ISO compilers.
* regex.c (PREFIX): Provide an alternate definition for
	non-ANSI/ISO compilers.
	(ARG_PREFIX): Likewise.

From-SVN: r47067
2001-11-15 11:04:08 -07:00
Jim Meyering
2e68303737 obstack.c (_): Honor the setting of ENABLE_NLS.
2001-11-12  Jim Meyering  <meyering@lucent.com>

	* obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
	this code would end up calling gettext even in packages built
	with --disable-nls.
	* getopt.c (_): Likewise.
	* regex.c (_): Likewise.

From-SVN: r46975
2001-11-12 22:46:00 -05:00
Ulrich Drepper
d0708dc1b9 merge from glibc
From-SVN: r45134
2001-08-23 11:19:05 -04:00
Isamu Hasegawa
ccea0d8509 backport: regex.c (wcs_regex_compile): Use appropriate string to compare with collating element.
Merge from libc:
* regex.c (wcs_regex_compile): Use appropriate string
to compare with collating element.
Fix the padding for the alignment.

From-SVN: r44838
2001-08-12 22:23:00 -04:00
Andreas Jaeger
c4b9cfe087 backport: regex.c: Declare wcs functions only if compiling with MBS_SUPPORT.
Merge from glibc:
        * regex.c: Declare wcs functions only if compiling with
        MBS_SUPPORT.
        Don't use #elif for traditional C.

        * regex.c: Revamp memory allocation for WCHAR functions to
        not use too much stack.

From-SVN: r44471
2001-07-30 13:54:36 +02:00
DJ Delorie
27ffc806c4 merge from glibc
From-SVN: r44138
2001-07-18 19:40:00 -04:00
Jeff Johnston
dd7716320a Makefile.in: Add support for regex code.
* Makefile.in: Add support for regex code.
* regex.c: New file.

From-SVN: r43914
2001-07-10 20:11:12 -04:00