c-pragma.c (handle_pragma_scalar_storage_order): Expand on error message for non-uniform endianness and issue a warning in C++.
* c-pragma.c (handle_pragma_scalar_storage_order): Expand on error message for non-uniform endianness and issue a warning in C++. From-SVN: r252831
This commit is contained in:
parent
f5e37f2ae5
commit
4a8ca690b0
5 changed files with 38 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
|
||||
message for non-uniform endianness and issue a warning in C++.
|
||||
|
||||
2017-09-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* c.opt (Wc++1z-compat): Change from option to undocumented alias.
|
||||
|
|
|
@ -415,7 +415,19 @@ handle_pragma_scalar_storage_order (cpp_reader *ARG_UNUSED(dummy))
|
|||
tree x;
|
||||
|
||||
if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN)
|
||||
error ("scalar_storage_order is not supported");
|
||||
{
|
||||
error ("scalar_storage_order is not supported because endianness "
|
||||
"is not uniform");
|
||||
return;
|
||||
}
|
||||
|
||||
if (c_dialect_cxx ())
|
||||
{
|
||||
if (warn_unknown_pragmas > in_system_header_at (input_location))
|
||||
warning (OPT_Wunknown_pragmas,
|
||||
"%<#pragma scalar_storage_order%> is not supported for C++");
|
||||
return;
|
||||
}
|
||||
|
||||
token = pragma_lex (&x);
|
||||
if (token != CPP_NAME)
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
2017-09-13 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* g++.dg/sso-1.C: New test.
|
||||
* g++.dg/sso-2.C: Likewise.
|
||||
|
||||
2017-09-15 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/78648
|
||||
* g++.dg/cpp0x/lambda/lambda-ice21.C: New.
|
||||
|
|
8
gcc/testsuite/g++.dg/sso-1.C
Normal file
8
gcc/testsuite/g++.dg/sso-1.C
Normal file
|
@ -0,0 +1,8 @@
|
|||
/* Test support of scalar_storage_order attribute */
|
||||
|
||||
/* { dg-do compile } */
|
||||
|
||||
struct __attribute__((scalar_storage_order("little-endian"))) Rec /* { dg-warning "attribute ignored" } */
|
||||
{
|
||||
int i;
|
||||
};
|
6
gcc/testsuite/g++.dg/sso-2.C
Normal file
6
gcc/testsuite/g++.dg/sso-2.C
Normal file
|
@ -0,0 +1,6 @@
|
|||
/* Test support of scalar_storage_order pragma */
|
||||
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-Wall" } */
|
||||
|
||||
#pragma scalar_storage_order little-endian /* { dg-warning "not supported" } */
|
Loading…
Add table
Reference in a new issue