Newsgroup: it.comp.lang.c++
Titolo: stato compilatori

E' passato abbastanza tempo da quando ho postato
un messaggio analogo su questo newsgroup.
Come e' la situazione attuale?
In particolare le nuove versioni di
g++, VC++, e BCC come sono messe in quanto
alla conformita' allo standard?
Inoltre, cosa da non trascurare, come sono messi
riguardo la ottimizzazione di codice C++?
E riguardo le estensioni al C++?
Ad esempio so che il g++3 prevede 'restrict', 
gli array literal (FINALMENTE!!) e altre cosette del C90 
anche per il C++.
Il nuovo Comeau C++ e' 100% conforme?
Saluti e grazie  Manlio Perillo

 anche per il C++.
Chi mi spiega cos'è e a che serve?
--
Gerolamo


'restrict':
http://www.lysator.liu.se/c/restrict.html
struct/array literal:
http://david.tribble.com/text/cdiffs.htm#C99-compound-literal

 Il nuovo Comeau C++ e' 100% conforme?
Salvo qualche bachetto qui e la, si.
Ciao,
Nicola

 > alla conformita' allo standard?
e DEV-C++ come sta messo ad aderenza allo standard? eil VC++6?
Bye
Antonio

 wrote in message
news:mH32a.7625$uA5.1...@tornado.fastwebnet.it...

devc++ == gcc3.2

 e il VC++6?
Tra i compilatori correntemente in uso oggi, peggio di tutti.
Ciao,
Nicola

 Nicola


 Non e' gia' in vendita?
Siamo alla Final Beta.
http://msdn.microsoft.com/vstudio/productinfo/vstudio03/default.asp
--
Gerolamo
E' in corso la votazione di it.comp.software.webserver
Se sei interessato alla creazione di questo NG, leggi il messaggio:
news:MK.it.comp.softw...@news.nic.it

 Non e' gia' in vendita?
 
No.
 
Ciao,
Nicola

 questi bachi sono gia' stati risolti...
Quali bachi hai trovato? (sperando di non cadere nell' off-topic)


 Quali bachi hai trovato? (sperando di non cadere nell' off-topic)
Mi inserisco qui per chiedere una cosa della quale mi sono accorto
stasera:
mi sono per errore dimenticato di restituire un valore da una funzione
*non* void ed il gcc ha compilato il codice senza problemi (solo un
warning). Ho testato VC++ con lo stesso codice e si è rifiutato di
compilare restituendo un errore.
Mi farebbe piacere sapere cosa prevede lo standard in questo caso.
Grazie, ciao.
-- 
BSD is for UNIX lovers -- linux is for Windows haters.

 Mi farebbe piacere sapere cosa prevede lo standard in questo caso.
undefined behavior
<cite>
A return statement without an expression can be used only in functions that
do
not return a value, that is, a function with the return type void, a
constructor
(12.1), or a destructor (12.4). A return statement with an expression of
nonvoid
type can be used only in functions returning a value; the value of the
expression is returned to the caller of the function. The expression is
implicitly converted to the return type of the function in which it appears.
A
return statement can involve the construction and copy of a temporary object
(12.2). Flowing off the end of a function is equivalent to a return with no
value; this results in undefined behavior in a valuereturning function.
</cite>
ciao
 sbirish

 </cite>
In aggiunta, se anche fosse stato indicato come un errore dallo
standard, un warning e' considerato diagnostica sufficiente.
Ciao,
Nicola

...

2.95.2 non gestisce correttamente il lookup di operatori dichiarati
friend inline in classi template se queste si trovano in un namespace
diverso da quello globale. Sospetto tra l'altro che questo sia uno dei
motivi per cui 2.95.2 aveva la libreria standard nel namespace
globale.
3.1 non permette l'esistenza di una funzione friend definita inline e
di una funzione membro statica con lo stesso nome.
3.2 in condizioni particolari richiama erroneamente il costruttore di
default da un costruttore con argomenti.
Per ulteriori dettagli vedi:
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc&text=&multitext=&arrivedafter=&arrivedbefore=&modifiedafter=&modifiedbefore=&closedafter=&closedbefore=&category=&category=c%2B%2B&synopsis=&confidential=&severity=&priority=&responsible=&state=&class=&submitter_id=&originator=musatti&release=&columns=category&columns=state&columns=class&columns=responsible&columns=synopsis&displaydate=Display%20
urrent%20Date&cmd=submit%20query&sortby=Responsible&.cgifields=category&.cgifields=state&.cgifields=confidential&.cgifields=severity&.cgifields=ignoreclosed&.cgifields=responsible&.cgifields=class&.cgifields=submitter_id&.cgifields=displaydate&.cgifields=columns&.cgifields=priority
Ciao,
Nicola

 standard, un warning e' considerato diagnostica sufficiente.
Perfetto, grazie ad entrambi.
Ciao.
