2016-01-19 2 views
0

Je reçois l'erreur du compilateur, « Attribut non reconnu « Résultat » de moucheron 4.4.0 dans mes codes qui contiennent les éléments suivants:Pourquoi est-ce que j'obtiens l'attribut "Résultat non reconnu" de gnat 4.4?

pragma Postcondition (Kind (Create_Object'Result) = String_Type) ; 

J'ai vérifié le manuel de référence GNAT (https://gcc.gnu.org/onlinedocs/gnat_rm/Pragma-Postcondition.html#Pragma-Postcondition). Il indique que Postcondition pragma a été mis en œuvre avant Ada 2012 et a été conservé à des fins de compatibilité.

Je me demande pourquoi l'erreur et comment s'en débarrasser.

Quelqu'un peut-il fournir des pointeurs?

Merci.

+2

Non définitif donc commentaire, mais je soupçonne que Gnat-4.4 est beaucoup trop tôt pour soutenir pré/postconditions de manière fiable. Je recommande de passer au moins à Gnat-4.9 et d'utiliser Ada-2012. Quelle plate-forme utilisez-vous? (Quelqu'un peut-être capable de suggérer où trouver un Gnat plus récent pour cette plate-forme) Y at-il un problème spécifique vous liant à Gnat-4.4? Quelqu'un peut être en mesure de proposer une solution. –

+0

Je cours OS X 10.5 avec Xcode 3.0. Je ne suis pas sûr que Gnat-4.9 fonctionnera sur mon ancien Mac ou non. –

+1

J'ai publié GCC 4.6 à [Sourceforge] (http://sourceforge.net/projects/gnuada/files/GNAT_GCC%20Mac%20OS%20X/) à la fin de 2011, donc il peut y avoir quelques fonctionnalités fonctionnelles Ada2012; mais c'était pour Darwin 10, et vous exécutez Darwin 9. Peut-être plus de chance avec GCC 4.7 (construit pour Lion, Darwin 11, OS X 10.7)? Je ne peux pas vérifier les fonctionnalités, car aucune de ces versions avant GCC 4.8 ne fonctionne sur El Capitan (Darwin 15, OS X 10.11). GCC 4.8 semble comprendre '' Result'. –

Répondre

1

Vous devez effectuer une mise à niveau vers un compilateur Ada 2012 pour que l'attribut 'Result soit disponible.