testsuite: Introduce be/le selectors

This patch creates "be" and "le" selectors, which can be used by all
architectures, similar to ilp32 and lp64.


	* doc/sourcebuild.texi (Endianness): New subsubsection.

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_be): New.
	(check_effective_target_le): New.

From-SVN: r260623
This commit is contained in:
Segher Boessenkool 2018-05-23 19:31:05 +02:00 committed by Segher Boessenkool
parent a347241b93
commit 89453706e0
4 changed files with 35 additions and 0 deletions

View file

@ -1,3 +1,7 @@
2017-05-23 Segher Boessenkool <segher@kernel.crashing.org>
* doc/sourcebuild.texi (Endianness): New subsubsection.
2018-05-23 Luis Machado <luis.machado@linaro.org>
* config/aarch64/aarch64-protos.h (cpu_prefetch_tune)

View file

@ -1313,6 +1313,16 @@ By convention, keywords ending in @code{_nocache} can also include options
specified for the particular test in an earlier @code{dg-options} or
@code{dg-add-options} directive.
@subsubsection Endianness
@table @code
@item be
Target uses big-endian memory order for multi-byte and multi-word data.
@item le
Target uses little-endian memory order for multi-byte and multi-word data.
@end table
@subsubsection Data type sizes
@table @code

View file

@ -1,3 +1,8 @@
2017-05-23 Segher Boessenkool <segher@kernel.crashing.org>
* lib/target-supports.exp (check_effective_target_be): New.
(check_effective_target_le): New.
2018-05-23 Marek Polacek <polacek@redhat.com>
* g++.dg/cpp2a/range-for1.C: New test.

View file

@ -2523,6 +2523,22 @@ proc check_effective_target_next_runtime { } {
}]
}
# Return 1 if we're generating code for big-endian memory order.
proc check_effective_target_be { } {
return [check_no_compiler_messages be object {
int dummy[__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ? 1 : -1];
}]
}
# Return 1 if we're generating code for little-endian memory order.
proc check_effective_target_le { } {
return [check_no_compiler_messages le object {
int dummy[__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ? 1 : -1];
}]
}
# Return 1 if we're generating 32-bit code using default options, 0
# otherwise.