aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@redhat.com>2013-09-04 12:54:09 +0000
committerDodji Seketeli <dodji@gcc.gnu.org>2013-09-04 14:54:09 +0200
commit24ba81955d92ff8c29f814867b887446f5c0be05 (patch)
tree176424902166f5edeed2bd7007f7ecee9148c4da /gcc/tree.h
parent0a04869e7f2bdd1b1573e806e3be03197d4f236c (diff)
downloadgcc-24ba81955d92ff8c29f814867b887446f5c0be05.zip
gcc-24ba81955d92ff8c29f814867b887446f5c0be05.tar.gz
gcc-24ba81955d92ff8c29f814867b887446f5c0be05.tar.bz2
More comments about DECL_BUILT_IN and DECL_IS_BUILTIN
gcc/ * tree.h (DECL_BUILT_IN, DECL_IS_BUILTIN): Add more comments explaining their differences. From-SVN: r202251
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 718d8f4..88d527a 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1838,6 +1838,9 @@ extern enum machine_mode vector_type_mode (const_tree);
#define DECL_SOURCE_FILE(NODE) LOCATION_FILE (DECL_SOURCE_LOCATION (NODE))
#define DECL_SOURCE_LINE(NODE) LOCATION_LINE (DECL_SOURCE_LOCATION (NODE))
#define DECL_SOURCE_COLUMN(NODE) LOCATION_COLUMN (DECL_SOURCE_LOCATION (NODE))
+/* This accessor returns TRUE if the decl it operates on was created
+ by a front-end or back-end rather than by user code. In this case
+ builtin-ness is indicated by source location. */
#define DECL_IS_BUILTIN(DECL) \
(LOCATION_LOCUS (DECL_SOURCE_LOCATION (DECL)) <= BUILTINS_LOCATION)
@@ -2486,7 +2489,13 @@ extern vec<tree, va_gc> **decl_debug_args_insert (tree);
#define DECL_STRUCT_FUNCTION(NODE) \
(FUNCTION_DECL_CHECK (NODE)->function_decl.f)
-/* In a FUNCTION_DECL, nonzero means a built in function. */
+/* In a FUNCTION_DECL, nonzero means a built in function of a
+ standard library or more generally a built in function that is
+ recognized by optimizers and expanders.
+
+ Note that it is different from the DECL_IS_BUILTIN accessor. For
+ instance, user declarated prototypes of C library functions are not
+ DECL_IS_BUILTIN but may be DECL_BUILT_IN. */
#define DECL_BUILT_IN(NODE) (DECL_BUILT_IN_CLASS (NODE) != NOT_BUILT_IN)
/* For a builtin function, identify which part of the compiler defined it. */