00ad3036fc
to compile arduino compatible code. based on the freebsd port
58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
$OpenBSD: patch-gcc_doc_extend_texi,v 1.1 2008/10/01 04:52:19 ckuethe Exp $
|
|
--- gcc/doc/extend.texi.orig Mon Mar 12 15:10:12 2007
|
|
+++ gcc/doc/extend.texi Sat Sep 27 16:29:43 2008
|
|
@@ -81,6 +81,7 @@ extensions, accepted by GCC in C89 mode and in C++.
|
|
* Pragmas:: Pragmas accepted by GCC.
|
|
* Unnamed Fields:: Unnamed struct/union fields within structs/unions.
|
|
* Thread-Local:: Per-thread variables.
|
|
+* Binary constants:: Binary constants using the @samp{0b} prefix.
|
|
@end menu
|
|
|
|
@node Statement Exprs
|
|
@@ -3460,6 +3461,16 @@ placed in either the @code{.bss_below100} section or t
|
|
|
|
@end table
|
|
|
|
+@subsection AVR Variable Attributes
|
|
+
|
|
+@table @code
|
|
+@item progmem
|
|
+@cindex @code{progmem} variable attribute
|
|
+The @code{progmem} attribute is used on the AVR to place data in the Program
|
|
+Memory address space. The AVR is a Harvard Architecture processor and data
|
|
+normally resides in the Data Memory address space.
|
|
+@end table
|
|
+
|
|
@node Type Attributes
|
|
@section Specifying Attributes of Types
|
|
@cindex attribute of types
|
|
@@ -10372,6 +10383,28 @@ Add after paragraph 6
|
|
Non-@code{static} members shall not be @code{__thread}.
|
|
@end quotation
|
|
@end itemize
|
|
+
|
|
+@node Binary constants
|
|
+@section Binary constants using the @samp{0b} prefix
|
|
+@cindex Binary constants using the @samp{0b} prefix
|
|
+
|
|
+Integer constants can be written as binary constants, consisting of a
|
|
+sequence of @samp{0} and @samp{1} digits, prefixed by @samp{0b} or
|
|
+@samp{0B}. This is particularly useful in environments that operate a
|
|
+lot on the bit-level (like microcontrollers).
|
|
+
|
|
+The following statements are identical:
|
|
+
|
|
+@smallexample
|
|
+i = 42;
|
|
+i = 0x2a;
|
|
+i = 052;
|
|
+i = 0b101010;
|
|
+@end smallexample
|
|
+
|
|
+The type of these constants follows the same rules as for octal or
|
|
+hexadecimal integer constants, so suffixes like @samp{L} or @samp{UL}
|
|
+can be applied.
|
|
|
|
@node C++ Extensions
|
|
@chapter Extensions to the C++ Language
|