aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2022-01-18 15:25:04 +0100
committerMartin Liska <mliska@suse.cz>2022-01-18 15:25:04 +0100
commit929c31a9d1f9741115465d7591f29ef31f96f362 (patch)
tree71baf7aeed74b6405c62b83b7c128b4d70084b8f /gcc/c
parent6ab1963fc8f70a07dc8566f8b6ad317b40ab379d (diff)
parent7402e40a2e2f5eac4489d28ac696e15c88c07f51 (diff)
downloadgcc-929c31a9d1f9741115465d7591f29ef31f96f362.zip
gcc-929c31a9d1f9741115465d7591f29ef31f96f362.tar.gz
gcc-929c31a9d1f9741115465d7591f29ef31f96f362.tar.bz2
Merge branch 'master' into devel/sphinx
Diffstat (limited to 'gcc/c')
-rw-r--r--gcc/c/ChangeLog55
-rw-r--r--gcc/c/Make-lang.in10
-rw-r--r--gcc/c/c-aux-info.cc (renamed from gcc/c/c-aux-info.c)0
-rw-r--r--gcc/c/c-convert.cc (renamed from gcc/c/c-convert.c)10
-rw-r--r--gcc/c/c-decl.cc (renamed from gcc/c/c-decl.c)6
-rw-r--r--gcc/c/c-errors.cc (renamed from gcc/c/c-errors.c)0
-rw-r--r--gcc/c/c-fold.cc (renamed from gcc/c/c-fold.c)0
-rw-r--r--gcc/c/c-lang.cc (renamed from gcc/c/c-lang.c)0
-rw-r--r--gcc/c/c-objc-common.cc (renamed from gcc/c/c-objc-common.c)0
-rw-r--r--gcc/c/c-objc-common.h2
-rw-r--r--gcc/c/c-parser.cc (renamed from gcc/c/c-parser.c)4
-rw-r--r--gcc/c/c-parser.h2
-rw-r--r--gcc/c/c-tree.h22
-rw-r--r--gcc/c/c-typeck.cc (renamed from gcc/c/c-typeck.c)7
-rw-r--r--gcc/c/config-lang.in2
-rw-r--r--gcc/c/gccspec.cc (renamed from gcc/c/gccspec.c)0
-rw-r--r--gcc/c/gimple-parser.cc (renamed from gcc/c/gimple-parser.c)0
17 files changed, 88 insertions, 32 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index c3933da..012800a 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,58 @@
+2022-01-17 Martin Liska <mliska@suse.cz>
+
+ * Make-lang.in: Rename .c names to .cc.
+ * c-convert.cc: Likewise.
+ * c-decl.cc (struct lang_identifier): Likewise.
+ (pop_scope): Likewise.
+ (finish_decl): Likewise.
+ * c-objc-common.h (GCC_C_OBJC_COMMON): Likewise.
+ * c-parser.cc (c_parser_skip_to_end_of_block_or_statement): Likewise.
+ * c-parser.h (GCC_C_PARSER_H): Likewise.
+ * c-tree.h (c_keyword_starts_typename): Likewise.
+ (finish_declspecs): Likewise.
+ (c_get_alias_set): Likewise.
+ (enum c_oracle_request): Likewise.
+ (tag_exists_p): Likewise.
+ (set_c_expr_source_range): Likewise.
+ * c-typeck.cc (c_common_type): Likewise.
+ (c_finish_omp_clauses): Likewise.
+ * config-lang.in: Likewise.
+
+2022-01-17 Martin Liska <mliska@suse.cz>
+
+ * c-aux-info.c: Moved to...
+ * c-aux-info.cc: ...here.
+ * c-convert.c: Moved to...
+ * c-convert.cc: ...here.
+ * c-decl.c: Moved to...
+ * c-decl.cc: ...here.
+ * c-errors.c: Moved to...
+ * c-errors.cc: ...here.
+ * c-fold.c: Moved to...
+ * c-fold.cc: ...here.
+ * c-lang.c: Moved to...
+ * c-lang.cc: ...here.
+ * c-objc-common.c: Moved to...
+ * c-objc-common.cc: ...here.
+ * c-parser.c: Moved to...
+ * c-parser.cc: ...here.
+ * c-typeck.c: Moved to...
+ * c-typeck.cc: ...here.
+ * gccspec.c: Moved to...
+ * gccspec.cc: ...here.
+ * gimple-parser.c: Moved to...
+ * gimple-parser.cc: ...here.
+
+2022-01-17 Andrew Stubbs <ams@codesourcery.com>
+
+ * c-parser.c (c_parser_omp_requires): Don't "sorry" dynamic_allocators.
+
+2022-01-14 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR c++/103705
+ * c-typeck.c (c_finish_omp_clauses): Also continue peeling off of
+ outer node for ARRAY_REFs.
+
2022-01-01 Jakub Jelinek <jakub@redhat.com>
PR objc/103639
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index b0e9994..1367a10 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -71,15 +71,15 @@ endif
# compute checksum over all object files and the options
# re-use the checksum from the prev-final stage so it passes
# the bootstrap comparison and allows comparing of the cc1 binary
-cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
$(C_OBJS) $(BACKEND) $(LIBDEPS)
if [ -f ../stage_final ] \
&& cmp -s ../stage_current ../stage_final; then \
- cp ../prev-gcc/cc1-checksum.c cc1-checksum.c; \
+ cp ../prev-gcc/cc1-checksum.cc cc1-checksum.cc; \
else \
build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
- checksum-options > cc1-checksum.c.tmp && \
- $(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c; \
+ checksum-options > cc1-checksum.cc.tmp && \
+ $(srcdir)/../move-if-change cc1-checksum.cc.tmp cc1-checksum.cc; \
fi
cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
@@ -106,7 +106,7 @@ c.all.cross:
c.start.encap:
c.rest.encap:
c.srcinfo:
-c.srcextra: gengtype-lex.c
+c.srcextra: gengtype-lex.cc
-cp -p $^ $(srcdir)
c.tags: force
cd $(srcdir)/c; $(ETAGS) -o TAGS.sub *.c *.h; \
diff --git a/gcc/c/c-aux-info.c b/gcc/c/c-aux-info.cc
index bf01315..bf01315 100644
--- a/gcc/c/c-aux-info.c
+++ b/gcc/c/c-aux-info.cc
diff --git a/gcc/c/c-convert.c b/gcc/c/c-convert.cc
index 5e92759..18083d5 100644
--- a/gcc/c/c-convert.c
+++ b/gcc/c/c-convert.cc
@@ -45,12 +45,12 @@ along with GCC; see the file COPYING3. If not see
Here is a list of all the functions that assume that widening and
narrowing is always done with a NOP_EXPR:
- In convert.c, convert_to_integer.
- In c-typeck.c, build_binary_op (boolean ops), and
+ In convert.cc, convert_to_integer.
+ In c-typeck.cc, build_binary_op (boolean ops), and
c_common_truthvalue_conversion.
- In expr.c: expand_expr, for operands of a MULT_EXPR.
- In fold-const.c: fold.
- In tree.c: get_narrower and get_unwidened. */
+ In expr.cc: expand_expr, for operands of a MULT_EXPR.
+ In fold-const.cc: fold.
+ In tree.cc: get_narrower and get_unwidened. */
/* Subroutines of `convert'. */
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.cc
index 29a79eb..c701f07 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.cc
@@ -225,7 +225,7 @@ struct GTY(()) lang_identifier {
struct c_binding *label_binding; /* labels */
};
-/* Validate c-lang.c's assumptions. */
+/* Validate c-lang.cc's assumptions. */
extern char C_SIZEOF_STRUCT_LANG_IDENTIFIER_isnt_accurate
[(sizeof(struct lang_identifier) == C_SIZEOF_STRUCT_LANG_IDENTIFIER) ? 1 : -1];
@@ -1367,7 +1367,7 @@ pop_scope (void)
gcc_fallthrough ();
/* Parameters go in DECL_ARGUMENTS, not BLOCK_VARS, and have
already been put there by store_parm_decls. Unused-
- parameter warnings are handled by function.c.
+ parameter warnings are handled by function.cc.
error_mark_node obviously does not go in BLOCK_VARS and
does not get unused-variable warnings. */
case PARM_DECL:
@@ -5527,7 +5527,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
if (TREE_PUBLIC (decl))
c_determine_visibility (decl);
- /* This is a no-op in c-lang.c or something real in objc-act.c. */
+ /* This is a no-op in c-lang.cc or something real in objc-act.cc. */
if (c_dialect_objc ())
objc_check_decl (decl);
diff --git a/gcc/c/c-errors.c b/gcc/c/c-errors.cc
index ced12ed..ced12ed 100644
--- a/gcc/c/c-errors.c
+++ b/gcc/c/c-errors.cc
diff --git a/gcc/c/c-fold.c b/gcc/c/c-fold.cc
index fc593753..fc593753 100644
--- a/gcc/c/c-fold.c
+++ b/gcc/c/c-fold.cc
diff --git a/gcc/c/c-lang.c b/gcc/c/c-lang.cc
index eecc0a0..eecc0a0 100644
--- a/gcc/c/c-lang.c
+++ b/gcc/c/c-lang.cc
diff --git a/gcc/c/c-objc-common.c b/gcc/c/c-objc-common.cc
index 97850ad..97850ad 100644
--- a/gcc/c/c-objc-common.c
+++ b/gcc/c/c-objc-common.cc
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index d23bdea..0b60df9 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
#define GCC_C_OBJC_COMMON
/* Lang hooks that are shared between C and ObjC are defined here. Hooks
- specific to C or ObjC go in c-lang.c and objc/objc-lang.c, respectively. */
+ specific to C or ObjC go in c-lang.cc and objc/objc-lang.cc, respectively. */
#undef LANG_HOOKS_IDENTIFIER_SIZE
#define LANG_HOOKS_IDENTIFIER_SIZE C_SIZEOF_STRUCT_LANG_IDENTIFIER
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.cc
index 6ada004..e9086c5 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.cc
@@ -1413,7 +1413,7 @@ c_parser_skip_to_end_of_block_or_statement (c_parser *parser)
parser->error = false;
}
-/* CPP's options (initialized by c-opts.c). */
+/* CPP's options (initialized by c-opts.cc). */
extern cpp_options *cpp_opts;
/* Save the warning flags which are controlled by __extension__. */
@@ -22583,7 +22583,7 @@ c_parser_omp_requires (c_parser *parser)
c_parser_skip_to_pragma_eol (parser, false);
return;
}
- if (p)
+ if (p && this_req != OMP_REQUIRES_DYNAMIC_ALLOCATORS)
sorry_at (cloc, "%qs clause on %<requires%> directive not "
"supported yet", p);
if (p)
diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
index 8d5fc30..3d256b6 100644
--- a/gcc/c/c-parser.h
+++ b/gcc/c/c-parser.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_C_PARSER_H
#define GCC_C_PARSER_H
-/* The C lexer intermediates between the lexer in cpplib and c-lex.c
+/* The C lexer intermediates between the lexer in cpplib and c-lex.cc
and the C parser. Unlike the C++ lexer, the parser structure
stores the lexer information instead of using a separate structure.
Identifiers are separated into ordinary identifiers, type names,
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index df03fd2..c70f0ba 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
#include "c-family/c-common.h"
#include "diagnostic.h"
-/* struct lang_identifier is private to c-decl.c, but langhooks.c needs to
- know how big it is. This is sanity-checked in c-decl.c. */
+/* struct lang_identifier is private to c-decl.cc, but langhooks.cc needs to
+ know how big it is. This is sanity-checked in c-decl.cc. */
#define C_SIZEOF_STRUCT_LANG_IDENTIFIER \
(sizeof (struct c_common_identifier) + 3 * sizeof (void *))
@@ -538,14 +538,14 @@ enum c_inline_static_type {
};
-/* in c-parser.c */
+/* in c-parser.cc */
extern void c_parse_init (void);
extern bool c_keyword_starts_typename (enum rid keyword);
-/* in c-aux-info.c */
+/* in c-aux-info.cc */
extern void gen_aux_info_record (tree, int, int, int);
-/* in c-decl.c */
+/* in c-decl.cc */
struct c_spot_bindings;
class c_struct_parse_info;
extern struct obstack parser_obstack;
@@ -660,7 +660,7 @@ extern struct c_declspecs *declspecs_add_alignas (location_t,
struct c_declspecs *, tree);
extern struct c_declspecs *finish_declspecs (struct c_declspecs *);
-/* in c-objc-common.c */
+/* in c-objc-common.cc */
extern bool c_objc_common_init (void);
extern bool c_missing_noreturn_ok_p (tree);
extern bool c_warn_unused_global_decl (const_tree);
@@ -668,7 +668,7 @@ extern void c_initialize_diagnostics (diagnostic_context *);
extern bool c_vla_unspec_p (tree x, tree fn);
extern alias_set_type c_get_alias_set (tree);
-/* in c-typeck.c */
+/* in c-typeck.cc */
extern int in_alignof;
extern int in_sizeof;
extern int in_typeof;
@@ -783,7 +783,7 @@ extern int current_function_returns_null;
extern int current_function_returns_abnormally;
-/* In c-decl.c */
+/* In c-decl.cc */
/* Tell the binding oracle what kind of binding we are looking for. */
@@ -798,7 +798,7 @@ enum c_oracle_request
create bindings when needed by the C compiler. The oracle is told
the name and type of the binding to create. It can call pushdecl
or the like to ensure the binding is visible; or do nothing,
- leaving the binding untouched. c-decl.c takes note of when the
+ leaving the binding untouched. c-decl.cc takes note of when the
oracle has been called and will not call it again if it fails to
create a given binding. */
@@ -816,7 +816,7 @@ extern void c_pushtag (location_t, tree, tree);
extern void c_bind (location_t, tree, bool);
extern bool tag_exists_p (enum tree_code, tree);
-/* In c-errors.c */
+/* In c-errors.cc */
extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
ATTRIBUTE_GCC_DIAG(3,4);
extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
@@ -832,7 +832,7 @@ extern void
set_c_expr_source_range (c_expr *expr,
source_range src_range);
-/* In c-fold.c */
+/* In c-fold.cc */
extern vec<tree> incomplete_record_decls;
#if CHECKING_P
diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.cc
index 8b492cf..b06f078 100644
--- a/gcc/c/c-typeck.c
+++ b/gcc/c/c-typeck.cc
@@ -1009,7 +1009,7 @@ c_common_type (tree t1, tree t2)
return t2;
}
-/* Wrapper around c_common_type that is used by c-common.c and other
+/* Wrapper around c_common_type that is used by c-common.cc and other
front end optimizations that remove promotions. ENUMERAL_TYPEs
are allowed here and are converted to their compatible integer types.
BOOLEAN_TYPEs are allowed here and return either boolean_type_node or
@@ -14929,7 +14929,8 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
t = TREE_OPERAND (t, 0);
}
}
- while (TREE_CODE (t) == COMPONENT_REF);
+ while (TREE_CODE (t) == COMPONENT_REF
+ || TREE_CODE (t) == ARRAY_REF);
if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP
&& OMP_CLAUSE_MAP_IMPLICIT (c)
@@ -14995,7 +14996,7 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
|| OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
/* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
bias) to zero here, so it is not set erroneously to the pointer
- size later on in gimplify.c. */
+ size later on in gimplify.cc. */
OMP_CLAUSE_SIZE (c) = size_zero_node;
while (TREE_CODE (t) == INDIRECT_REF
|| TREE_CODE (t) == ARRAY_REF)
diff --git a/gcc/c/config-lang.in b/gcc/c/config-lang.in
index cb697e8..4526f63 100644
--- a/gcc/c/config-lang.in
+++ b/gcc/c/config-lang.in
@@ -29,4 +29,4 @@ compilers="cc1\$(exeext)"
target_libs=
-gtfiles="\$(srcdir)/c/c-lang.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-family/c-format.c \$(srcdir)/c/c-objc-common.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-lang.h"
+gtfiles="\$(srcdir)/c/c-lang.cc \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.cc \$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.cc \$(srcdir)/c-family/c-format.cc \$(srcdir)/c/c-objc-common.cc \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.cc \$(srcdir)/c/c-lang.h"
diff --git a/gcc/c/gccspec.c b/gcc/c/gccspec.cc
index d1165dd..d1165dd 100644
--- a/gcc/c/gccspec.c
+++ b/gcc/c/gccspec.cc
diff --git a/gcc/c/gimple-parser.c b/gcc/c/gimple-parser.cc
index 51ddd86..51ddd86 100644
--- a/gcc/c/gimple-parser.c
+++ b/gcc/c/gimple-parser.cc