re PR ada/18680 (pragma Linker_Section problems)
gcc/ada/ PR ada/18680 * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to apply pragma Linker_Section on type. gcc/testsuite/ PR ada/18680 * gnat.dg/specs/linker_section.ads: New. From-SVN: r134266
This commit is contained in:
parent
b039b10e28
commit
32f7efe1a5
4 changed files with 27 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-04-14 Samuel Tardieu <sam@rfc1149.net>
|
||||
|
||||
PR ada/18680
|
||||
* sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
|
||||
apply pragma Linker_Section on type.
|
||||
|
||||
2008-04-14 Samuel Tardieu <sam@rfc1149.net>
|
||||
|
||||
PR ada/16098
|
||||
|
|
|
@ -8450,6 +8450,12 @@ package body Sem_Prag is
|
|||
Check_Arg_Is_Library_Level_Local_Name (Arg1);
|
||||
Check_Arg_Is_Static_Expression (Arg2, Standard_String);
|
||||
|
||||
-- This pragma does not apply to types
|
||||
|
||||
if Is_Type (Entity (Expression (Arg1))) then
|
||||
Error_Pragma_Arg ("pragma% cannot apply to type", Arg1);
|
||||
end if;
|
||||
|
||||
-- The only processing required is to link this item on to the
|
||||
-- list of rep items for the given entity. This is accomplished
|
||||
-- by the call to Rep_Item_Too_Late (when no error is detected
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2008-04-14 Samuel Tardieu <sam@rfc1149.net>
|
||||
|
||||
PR ada/18680
|
||||
* gnat.dg/specs/linker_section.ads: New.
|
||||
|
||||
2008-04-14 Samuel Tardieu <sam@rfc1149.net>
|
||||
|
||||
PR ada/16098
|
||||
|
|
10
gcc/testsuite/gnat.dg/specs/linker_section.ads
Normal file
10
gcc/testsuite/gnat.dg/specs/linker_section.ads
Normal file
|
@ -0,0 +1,10 @@
|
|||
package Linker_Section is
|
||||
Data1 : constant String := "12345678901234567";
|
||||
pragma Linker_Section (Entity => Data1,
|
||||
Section => ".eeprom");
|
||||
type EEPROM_String is new String;
|
||||
pragma Linker_Section (Entity => EEPROM_String, -- { dg-error "type" }
|
||||
Section => ".eeprom");
|
||||
Data2 : constant EEPROM_String := "12345678901234567";
|
||||
end Linker_Section;
|
||||
|
Loading…
Add table
Reference in a new issue