[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#614402: marked as done (gnat: Pragma Assert is rejected with No_Implementation_Pragmas restriction)



Your message dated Tue, 15 Nov 2011 09:11:59 +0000
with message-id <E1RQF3f-0001WU-9M@franck.debian.org>
and subject line Bug#614402: fixed in gnat-4.6 4.6.2-2
has caused the Debian Bug report #614402,
regarding gnat: Pragma Assert is rejected with No_Implementation_Pragmas restriction
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
614402: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614402
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gnat-4.4
Version: 4.4.5-3
Severity: normal
Tags: upstream patch
Forwarded: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47818

I reported this bug to gcc bugzilla, but it is also applies to Debian
(gnat-4.4 and gcc-snapshot).

Compilation of code containing pragma Assert fails if restriction
No_Implementation_Pragmas is used, even with -gnat2005 or -gnat2012
flags:

% cat test.adb                                                                  
pragma Restrictions(No_Implementation_Pragmas);

procedure test(I : Integer) is
begin
  pragma Assert(I /= 1);
  null;
end;
% gcc -c test.adb -gnat2005                                                     
test.adb:5:03: violation of restriction "no_implementation_pragmas" at line 1

Source file gcc/ada/sem_prag.adb contains correct check for Pragma_Assert
(Ada_2005_Pragma). But this pragma is then rewritten as pragma Check and
restrictions (GNAT_Pragma) are tested again. This test fails and causes
compilation error.

Attached patch adds check in Pragma_Check case. If rewritten pragma Assert was
found then restrictions are not checked.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.38-rc5+ (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnat-4.4 depends on:
ii  gcc-4.4                 4.4.5-12         The GNU C compiler
ii  gnat-4.4-base           4.4.5-3          The GNU Compiler Collection (gnat 
ii  libc6                   2.11.2-11        Embedded GNU C Library: Shared lib
ii  libc6-dev               2.11.2-11        Embedded GNU C Library: Developmen
ii  libgcc1                 1:4.6-20110125-1 GCC support library
ii  libgmp3c2               2:4.3.2+dfsg-1   Multiprecision arithmetic library
ii  libgnat-4.4             4.4.5-3          Runtime library for GNU Ada applic
ii  libgnatprj4.4           4.4.5-3          GNU Ada Project Manager
ii  libgnatvsn4.4           4.4.5-3          GNU Ada compiler version library
ii  libmpfr4                3.0.0-6          multiple precision floating-point 

gnat-4.4 recommends no packages.

Versions of packages gnat-4.4 suggests:
pn  ada-reference-manual         <none>      (no description available)
ii  gnat-4.4-doc                 4.4.4.nf1-1 documentation for the GNU Ada 95 C
ii  gnat-gps                     4.3-6       The GNAT Programming System - adva
ii  gprbuild                     1.3.0-2     a multi-language extensible build 

-- no debconf information
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index fd509c4..b5bae50 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -6477,7 +6477,16 @@ package body Sem_Prag is
             --  Set True if category of assertions referenced by Name enabled
 
          begin
-            GNAT_Pragma;
+            --  This could be a rewritten pragma Assert. If it is the case
+            --  then don't check restrictions, because they are different for
+            --  pragma Assert and were already checked.
+
+            if Nkind (Original_Node (N)) /= N_Pragma
+              or else Pragma_Name (Original_Node (N)) /= Name_Assert
+            then
+               GNAT_Pragma;
+            end if;
+
             Check_At_Least_N_Arguments (2);
             Check_At_Most_N_Arguments (3);
             Check_Optional_Identifier (Arg1, Name_Name);

--- End Message ---
--- Begin Message ---
Source: gnat-4.6
Source-Version: 4.6.2-2

We believe that the bug you reported is fixed in the latest version of
gnat-4.6, which is due to be installed in the Debian FTP archive:

gnat-4.6-base_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/gnat-4.6-base_4.6.2-2_amd64.deb
gnat-4.6-sjlj_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/gnat-4.6-sjlj_4.6.2-2_amd64.deb
gnat-4.6_4.6.2-2.dsc
  to main/g/gnat-4.6/gnat-4.6_4.6.2-2.dsc
gnat-4.6_4.6.2-2.tar.gz
  to main/g/gnat-4.6/gnat-4.6_4.6.2-2.tar.gz
gnat-4.6_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/gnat-4.6_4.6.2-2_amd64.deb
libgnat-4.6-dbg_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/libgnat-4.6-dbg_4.6.2-2_amd64.deb
libgnat-4.6_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/libgnat-4.6_4.6.2-2_amd64.deb
libgnatprj4.6-dbg_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/libgnatprj4.6-dbg_4.6.2-2_amd64.deb
libgnatprj4.6-dev_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/libgnatprj4.6-dev_4.6.2-2_amd64.deb
libgnatprj4.6_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/libgnatprj4.6_4.6.2-2_amd64.deb
libgnatvsn4.6-dbg_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/libgnatvsn4.6-dbg_4.6.2-2_amd64.deb
libgnatvsn4.6-dev_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/libgnatvsn4.6-dev_4.6.2-2_amd64.deb
libgnatvsn4.6_4.6.2-2_amd64.deb
  to main/g/gnat-4.6/libgnatvsn4.6_4.6.2-2_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 614402@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ludovic Brenta <lbrenta@debian.org> (supplier of updated gnat-4.6 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sun, 13 Nov 2011 10:32:28 +0100
Source: gnat-4.6
Binary: gnat-4.6-base gnat-4.6 gnat-4.6-sjlj libgnat-4.6 libgnat-4.6-dbg libgnatvsn4.6-dev libgnatvsn4.6 libgnatvsn4.6-dbg libgnatprj4.6-dev libgnatprj4.6 libgnatprj4.6-dbg
Architecture: source amd64
Version: 4.6.2-2
Distribution: unstable
Urgency: low
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Changed-By: Ludovic Brenta <lbrenta@debian.org>
Description: 
 gnat-4.6   - GNU Ada compiler
 gnat-4.6-base - GNU Ada compiler (common files)
 gnat-4.6-sjlj - GNU Ada compiler (setjump/longjump runtime library)
 libgnat-4.6 - runtime for applications compiled with GNAT (shared library)
 libgnat-4.6-dbg - runtime for applications compiled with GNAT (debugging symbols)
 libgnatprj4.6 - GNU Ada compiler Project Manager (shared library)
 libgnatprj4.6-dbg - GNU Ada compiler Project Manager (debugging symbols)
 libgnatprj4.6-dev - GNU Ada compiler Project Manager (development files)
 libgnatvsn4.6 - GNU Ada compiler selected components (shared library)
 libgnatvsn4.6-dbg - GNU Ada compiler selected components (debugging symbols)
 libgnatvsn4.6-dev - GNU Ada compiler selected components (development files)
Closes: 614402
Changes: 
 gnat-4.6 (4.6.2-2) unstable; urgency=low
 .
   [Євгеній Мещеряков]
   * debian/patches/pr47818.diff: new.  Closes: #614402.
   * debian/rules.patch: apply it.
 .
   Merge from gcc-4.6 (4.6.2-4) unstable; urgency=low
 .
   * Update to SVN 20111103 (r180830) from the gcc-4_6-branch.
     - Fix PR target/50691, PR c++/50901, PR target/50945,
       PR rtl-optimization/47918, PR libstdc++/50880.
 .
   * Configure the armel build by explicitly passing --with-arch=armv4t
     --with-float=soft.
   * libffi: Simplify PowerPC assembly and avoid CPU-specific string
     instructions (Kyle Moffett).
   * Fix MULTIARCH_DIRNAME on powerpcspe (Kyle Moffett). Fixes: #647324.
Checksums-Sha1: 
 1ed2ac249ac76a68f5e511b289860d41ed02c0a0 2911 gnat-4.6_4.6.2-2.dsc
 207ce0e1822b4ff2824d47d3c29442addfcb5ee0 795296 gnat-4.6_4.6.2-2.tar.gz
 21f9afe2cf397d7691156c3360401302a19549fa 147326 gnat-4.6-base_4.6.2-2_amd64.deb
 cc7cafed399d14cab42629ce2ebeba3faca75471 1189164 libgnat-4.6_4.6.2-2_amd64.deb
 764e7b370a63bc1fc7bcaa9f2fe0b62b59f127d5 2058322 libgnat-4.6-dbg_4.6.2-2_amd64.deb
 901cdeb7f74f202603e3d0b9b6f238049129ef14 1809366 libgnatvsn4.6-dev_4.6.2-2_amd64.deb
 d4f11222308559fa28f0387bad1ceb6f20a11cf0 350716 libgnatvsn4.6_4.6.2-2_amd64.deb
 a34883f652bae159e99edeffa9dd85214f617b91 477894 libgnatvsn4.6-dbg_4.6.2-2_amd64.deb
 e9ade16dfe5c4afb31d13d5d2ea144418c9e3665 3064472 libgnatprj4.6-dev_4.6.2-2_amd64.deb
 fad8fa936cf3656ca3b053b1fdd95266105307c3 608292 libgnatprj4.6_4.6.2-2_amd64.deb
 8d59584184689f94a4183d8170d10ec8b37955e2 1040430 libgnatprj4.6-dbg_4.6.2-2_amd64.deb
 b98b1db913c80111124c05e5097ca246002a7b41 11733618 gnat-4.6_4.6.2-2_amd64.deb
 272e25795287209f6b13862d4c9678916ff14e37 4608792 gnat-4.6-sjlj_4.6.2-2_amd64.deb
Checksums-Sha256: 
 4284ad707f954a105152d91b8df0a1bce496e396153bf52d02d395baa9023962 2911 gnat-4.6_4.6.2-2.dsc
 d74c653ae5be04988cdc132f1bdc375b8d1af6b297672620a6f38bacd41678c5 795296 gnat-4.6_4.6.2-2.tar.gz
 3309a42c94fa340d54e1b8ad02dcce1c4b8dcd5e521e16dbb48fd8c3a4808ab4 147326 gnat-4.6-base_4.6.2-2_amd64.deb
 dfff086a4daaffdc38118177cff4d40ef978687d3d8b80187f1e6b15040c1e4b 1189164 libgnat-4.6_4.6.2-2_amd64.deb
 dfb86dd74269d522e5ff2fdc13b302b8a3723cc7153cd1163720eed33613e839 2058322 libgnat-4.6-dbg_4.6.2-2_amd64.deb
 031218415c38060872752ebd9579821db035905932a28989be253edf36f8d5c0 1809366 libgnatvsn4.6-dev_4.6.2-2_amd64.deb
 8fe18a42d73cf45b4366f88bd1fbe89eac2f8cfe88f306efe8ed25fffe887da6 350716 libgnatvsn4.6_4.6.2-2_amd64.deb
 00edef4d021d3a0e6888be2c9f6109c39b7dc6312c793e41ec902cff4b0b1e52 477894 libgnatvsn4.6-dbg_4.6.2-2_amd64.deb
 015c3065398093aff568475c88ba3724f525d43a3403c11bd5dfb944dcbf2ad7 3064472 libgnatprj4.6-dev_4.6.2-2_amd64.deb
 496fc328b7e7bc07df33032036fe9e460be0121c8ef9509a55f87564f50481cf 608292 libgnatprj4.6_4.6.2-2_amd64.deb
 d2c913d6dcef8e26a5aa98ae6e67d5f3c8857db9a7d898faf3d59acb4e68214c 1040430 libgnatprj4.6-dbg_4.6.2-2_amd64.deb
 13e03ed8f9339bb2c1d571bcccbc292da2326774eec18a3e1336040a0c0f4bbb 11733618 gnat-4.6_4.6.2-2_amd64.deb
 7bff271131a4aeb16de0259a56346a685df939745582f5dfeb0a62a2164d1039 4608792 gnat-4.6-sjlj_4.6.2-2_amd64.deb
Files: 
 0d81ef01017d8c30148a478755a6feae 2911 devel optional gnat-4.6_4.6.2-2.dsc
 68b32c1f9a28f8bd67791a15ffbd91f4 795296 devel optional gnat-4.6_4.6.2-2.tar.gz
 64369226ab4c9d5e98fffb3ee06657dc 147326 libs optional gnat-4.6-base_4.6.2-2_amd64.deb
 2f8b474f46d855260feaead315cc78e4 1189164 libs optional libgnat-4.6_4.6.2-2_amd64.deb
 b811d996ff17c0913f674ee80611ad60 2058322 debug extra libgnat-4.6-dbg_4.6.2-2_amd64.deb
 ab040f4172046f83bafc76f50e62ca2c 1809366 libdevel extra libgnatvsn4.6-dev_4.6.2-2_amd64.deb
 5e02afce4255be6549c2cc9f9e9c89e8 350716 libs optional libgnatvsn4.6_4.6.2-2_amd64.deb
 7b6826282d0e073bde43d17002c31de7 477894 debug extra libgnatvsn4.6-dbg_4.6.2-2_amd64.deb
 77ca795b9816dd32039a49227e1ed141 3064472 libdevel extra libgnatprj4.6-dev_4.6.2-2_amd64.deb
 b52515b5b180c76fb72306a90e587515 608292 libs optional libgnatprj4.6_4.6.2-2_amd64.deb
 73841ec8ffa10eb8cbbf4f05f8b363c0 1040430 debug extra libgnatprj4.6-dbg_4.6.2-2_amd64.deb
 4ba44a434e6d903150a3543bedf8b163 11733618 devel optional gnat-4.6_4.6.2-2_amd64.deb
 c0a15120e09ab8a1f24ad9d384c229a8 4608792 devel extra gnat-4.6-sjlj_4.6.2-2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iD8DBQFOwhCux9kwJZ3/qtQRAjMfAJ99JQ8lh2PMMl006lE2eUeziQugfQCggqUw
0L9cWs7YqeddkWBDR9tToRU=
=T3UW
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: