]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/langhooks.h
Change attribute((option(...))) to attribute((target(...))); Do not allocate tree...
[thirdparty/gcc.git] / gcc / langhooks.h
index 6a23a313f350bc404119c9bf74cb9070ed99d202..a10ce482f5c43304bc7f0bd12b06ba85ae7c1800 100644 (file)
@@ -410,6 +410,14 @@ struct lang_hooks
   /* Do language specific processing in the builtin function DECL  */
   tree (*builtin_function) (tree decl);
 
+  /* Like builtin_function, but make sure the scope is the external scope.
+     This is used to delay putting in back end builtin functions until the ISA
+     that defines the builtin is declared via function specific target options,
+     which can save memory for machines like the x86_64 that have multiple
+     ISAs.  If this points to the same function as builtin_function, the
+     backend must add all of the builtins at program initialization time.  */
+  tree (*builtin_function_ext_scope) (tree decl);
+
   /* Used to set up the tree_contains_structure array for a frontend. */
   void (*init_ts) (void);
 
@@ -429,4 +437,10 @@ extern tree add_builtin_function (const char *name, tree type,
                                  const char *library_name,
                                  tree attrs);
 
+extern tree add_builtin_function_ext_scope (const char *name, tree type,
+                                           int function_code,
+                                           enum built_in_class cl,
+                                           const char *library_name,
+                                           tree attrs);
+
 #endif /* GCC_LANG_HOOKS_H */