summaryrefslogtreecommitdiff
path: root/gcc/ada/par-ch2.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-13 16:34:01 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-13 16:34:01 +0000
commit6eb8cfdb527cb0342ebbe1cfbea0bb85dfbb4da7 (patch)
tree38d420a7a59178cd49c38febdfe3d723669585bb /gcc/ada/par-ch2.adb
parent28ff117fcc4265431367a02b6c28a7312cbbeb3e (diff)
downloadgcc-6eb8cfdb527cb0342ebbe1cfbea0bb85dfbb4da7.tar.gz
2013-10-13 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Add documentation for pragmas Pre[_Class] Post[_Class]. * par-ch2.adb (Skip_Pragma_Semicolon): Handle extra semicolon nicely. * par-prag.adb: Add entries for pragmas Pre[_Class] and Post[_Class]. * sem_prag.adb: Add handling of pragmas Pre[_Class] and Post[_Class]. * sem_util.adb (Original_Aspect_Name): Moved here from Sem_Prag.Original_Name, and modified to handle pragmas Pre/Post/Pre_Class/Post_Class. * sem_util.ads (Original_Aspect_Name): Moved here from Sem_Prag.Original_Name. * snames.ads-tmpl: Add entries for pragmas Pre[_Class] and Post[_Class]. 2013-10-13 Robert Dewar <dewar@adacore.com> * einfo.adb, sem_ch6.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203505 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/par-ch2.adb')
-rw-r--r--gcc/ada/par-ch2.adb18
1 files changed, 5 insertions, 13 deletions
diff --git a/gcc/ada/par-ch2.adb b/gcc/ada/par-ch2.adb
index 224c63b7eb9..2218dacb17e 100644
--- a/gcc/ada/par-ch2.adb
+++ b/gcc/ada/par-ch2.adb
@@ -250,23 +250,15 @@ package body Ch2 is
procedure Skip_Pragma_Semicolon is
begin
- if Token /= Tok_Semicolon then
+ -- If skipping the pragma, ignore a missing semicolon
- -- If skipping the pragma, ignore a missing semicolon
+ if Token /= Tok_Semicolon and then Skipping then
+ null;
- if Skipping then
- null;
-
- -- Otherwise demand a semicolon
-
- else
- T_Semicolon;
- end if;
-
- -- Scan past semicolon if present
+ -- Otherwise demand a semicolon
else
- Scan;
+ T_Semicolon;
end if;
end Skip_Pragma_Semicolon;