Jaka jest domyślna wartość flagi -std= w Clang 3.8?

Jaka jest domyślna wartość flagi -std= w Clang 3.8?
Phestek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 89
0

Cześć,
Jaka jest domyślna wartość flagi -std= w Clangu 3.8? GCC od wersji 6 używa -std=c++14 jako domyślną flagę kompilacji, ale nie potrafię znaleźć informacji dla Clanga.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
2

Nie widzę nic w dokumentacji, ale strzelam, że jest to --std=gnu++98 (na 3.8.1 nie działają lambdy, działają VLA). Btw: nowy g++ domyślnie używa -std=gnu++14, to nie jest to samo co c++14 (VLA, widoczność nagłówków bibliotek posixowych, np. socketów).

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
2

Wypisz wartość zwróconą przez makro __cplusplus.

satirev
  • Rejestracja: dni
  • Ostatnio: dni
3

By default, Clang builds C++ code according to the C++98 standard, with many C++11 features accepted as extensions.
http://clang.llvm.org/cxx_status.html

Phestek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 89
0

Okej, dochodzenie zakończone. Dzięki wszystkim za pomoc :)

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

GCC od wersji 6 używa -std=c++14

Raczej na pewno nie. Jak już to -std=gnu++14 czyli C++14 z GNUśnymi rozszerzeniami (np. VLA).
Podobnie Clang strzelam że ma -std=gnu++98 albo -std=gnu++03 domyślnie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.