Articles of clang

Errore di collegamento C ++ dopo l’aggiornamento a Mac OS X 10.9 / Xcode 5.0.1

Dopo l’aggiornamento a Mac OS X 10.9 / Xcode 5.0.1, le righe di comando per creare una libreria condivisa (.dylib) non sono riuscite con diversi simboli non definiti. clang++ -dynamiclib -install_name test.dylib *.o -o test.dylib Undefined symbols for architecture x86_64: “std::allocator::allocator()”, referenced from: _main in test.o “std::allocator::~allocator()”, referenced from: _main in test.o “std::ostream::operator<<(std::ostream& (*)(std::ostream&))", referenced […]

Quali sono le differenze tra -std = c ++ 11 e -std = gnu ++ 11?

Quali sono le differenze tra -std=c++11 e -std=gnu++11 come parametro di compilazione per gcc e clang? Stessa domanda con c99 e gnu99 ? Conosco gli standard C ++ e C, sono le differenze nei parametri che mi interessano. Ho letto da qualche parte che ha a che fare con alcune estensioni, ma non mi è […]

Come generare codice assembly con clang nella syntax Intel?

Come mostra questa domanda , con g ++, posso fare g++ -S -masm=intel test.cpp . Inoltre, con clang, posso fare clang++ -S test.cpp , ma -masm=intel non è supportato da clang ( warning argument unused during compilation: -masm=intel ). Come posso ottenere la syntax Intel con clang?

Ottenere Clang per lavorare su Windows

Ho seguito la seguente guida passo passo e sono riuscito, dopo un po ‘di giocherellare, a ottenere clang per compilare usando codice: blocks e MinGW. Ottimo, quindi ora posso aggiungere il modulo Clang a eclipse (perché avere un IDE quando ne puoi avere quattro) e iniziare la compilazione. Posso compilare un semplice programma che non […]

Intestazione C ++ mancante dopo l’aggiornamento degli strumenti della riga di comando OSX 6.3

Dopo l’aggiornamento a Command Line Tools 6.3 dall’App Store, i programmi che includono o che includono internamente causeranno errori di file non trovati come segue. Il cpp non è interessante ma include uno degli header inclusi. c++ -O3 -I/Users/farleylai/Documents/dev/git/ESMS/Optimizer/../StreamIt/src/cluster/headers -L/Users/farleylai/Documents/dev/git/ESMS/Optimizer/../StreamIt/build/binaries/clusterStaticLibrary /Users/farleylai/Documents/dev/git/ESMS/Optimizer/build/StreamIt/FIR/511/512/combined_threads.cpp -o streamit -lcluster -lpthread -lstdc++ In file included from /Users/farleylai/Documents/dev/git/ESMS/Optimizer/build/StreamIt/FIR/511/512/combined_threads.cpp:9: In file included from […]

Ignora tutti gli avvertimenti in un file specifico usando LLVM / Clang

Ci sono alcuni file nel mio progetto iOS che hanno alcuni avvertimenti e voglio ignorare quegli avvertimenti. Non voglio disabilitare gli avvisi nell’intero progetto (so come farlo), solo alcuni file specifici. Quindi, c’è un modo per ignorare completamente tutti gli avvisi da un file specifico? Sto usando LLVM 3.0 e Clang su Xcode 4.2.

Utilizzando librerie compilate libstdc ++ con clang ++ -stdlib = libc ++

Sto lavorando in C ++ su Mac OS X (10.8.2) e di recente ho avuto l’esigenza di utilizzare le funzionalità di C ++ 11, che sono disponibili attraverso il compilatore clang ++ usando libc ++ stdlib. Tuttavia, ho anche bisogno di usare una libreria legacy compilata e collegata a libstdc ++ (proveniente da MacPorts). In […]

gcc può compilare un modello variadico mentre clang non può

Sto leggendo alcune diapositive denominate An Overview of C ++ 11 e C ++ 14 presentate da Mr. Leor Zolman. A pagina 35 introduce un modo per fare l’operazione di sum con decltype . struct Sum { template static T sum(T n) { return n; } template /// static T sum(T n, Args… rest) { […]

Comportamento del compilatore diverso per l’espressione: auto p {make_pointer ()};

Qual è il comportamento corretto per il seguente programma? // example.cpp #include #include struct Foo { void Bar() const { std::cout << "Foo::Bar()" << std::endl; } }; std::shared_ptr MakeFoo() { return std::make_shared(); } int main() { auto p { MakeFoo() }; p->Bar(); } Quando lo compilo nella mia workstation Linux RHEL 6.6, ottengo i seguenti […]

In clang, come si usano gli attributi di ottimizzazione per funzione?

Sto cercando di compilare una funzione specifica senza ottimizzazione utilizzando clang , al fine di evitare che alcune chiamate relative alla sicurezza a memset() vengano ottimizzate. Secondo la documentazione che può essere trovata qui , esiste un attributo optnone che consente questo. Inoltre, un esempio può essere trovato qui . Sfortunatamente, (almeno nella versione di […]