aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/avr/avr.c
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2012-03-01 15:28:44 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2012-03-01 15:28:44 +0000
commit1619fcfc0624216f30ee0b0227dbca03e5c93896 (patch)
tree7cc69017798e43be50c265f90693c5cb0fd4ffb4 /gcc/config/avr/avr.c
parent69ef9a7916e17a1e660fdba561938c3a39478e34 (diff)
downloadgcc-1619fcfc0624216f30ee0b0227dbca03e5c93896.zip
gcc-1619fcfc0624216f30ee0b0227dbca03e5c93896.tar.gz
gcc-1619fcfc0624216f30ee0b0227dbca03e5c93896.tar.bz2
extend.texi (AVR Built-in Functions): Document __builtin_avr_flash_segment.
* doc/extend.texi (AVR Built-in Functions): Document __builtin_avr_flash_segment. * config/avr/builtins.def (__builtin_avr_flash_segment): New entry. * config/avr/avr.md (flash_segment, flash_segment1): New expanders. (*split.flash_segment): New insn-and-split. * config/avr/avr.c (avr_init_builtins): Add local variables: const_memx_void_node, const_memx_ptr_type_node, char_ftype_const_memx_ptr. From-SVN: r184746
Diffstat (limited to 'gcc/config/avr/avr.c')
-rw-r--r--gcc/config/avr/avr.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 73afc48..7ead6f4 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -10432,6 +10432,19 @@ avr_init_builtins (void)
unsigned_char_type_node,
NULL_TREE);
+ tree const_memx_void_node
+ = build_qualified_type (void_type_node,
+ TYPE_QUAL_CONST
+ | ENCODE_QUAL_ADDR_SPACE (ADDR_SPACE_MEMX));
+
+ tree const_memx_ptr_type_node
+ = build_pointer_type_for_mode (const_memx_void_node, PSImode, false);
+
+ tree char_ftype_const_memx_ptr
+ = build_function_type_list (char_type_node,
+ const_memx_ptr_type_node,
+ NULL);
+
#define DEF_BUILTIN(NAME, N_ARGS, ID, TYPE, CODE) \
add_builtin_function (NAME, TYPE, ID, BUILT_IN_MD, NULL, NULL_TREE);
#include "builtins.def"