Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit b811680

Browse files
committedFeb 3, 2019
Clang on OpenBSD does not use GNU.
1 parent d50f3f3 commit b811680

File tree

2 files changed

+43
-8
lines changed

2 files changed

+43
-8
lines changed
 

‎src/ansi-c/c_preprocess.cpp

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -589,19 +589,39 @@ bool c_preprocess_gcc_clang(
589589
switch(config.cpp.cpp_standard)
590590
{
591591
case configt::cppt::cpp_standardt::CPP98:
592-
argv.push_back("-std=gnu++98");
592+
#if defined(__OpenBSD__)
593+
if (preprocessor==configt::ansi_ct::preprocessort::CLANG)
594+
argv.push_back("-std=c++98");
595+
else
596+
#endif
597+
argv.push_back("-std=gnu++98");
593598
break;
594599

595600
case configt::cppt::cpp_standardt::CPP03:
596-
argv.push_back("-std=gnu++03");
601+
#if defined(__OpenBSD__)
602+
if (preprocessor==configt::ansi_ct::preprocessort::CLANG)
603+
argv.push_back("-std=c++03");
604+
else
605+
#endif
606+
argv.push_back("-std=gnu++03");
597607
break;
598608

599609
case configt::cppt::cpp_standardt::CPP11:
600-
argv.push_back("-std=gnu++11");
610+
#if defined(__OpenBSD__)
611+
if (preprocessor==configt::ansi_ct::preprocessort::CLANG)
612+
argv.push_back("-std=c++11");
613+
else
614+
#endif
615+
argv.push_back("-std=gnu++11");
601616
break;
602617

603618
case configt::cppt::cpp_standardt::CPP14:
604-
argv.push_back("-std=gnu++14");
619+
#if defined(__OpenBSD__)
620+
if (preprocessor==configt::ansi_ct::preprocessort::CLANG)
621+
argv.push_back("-std=c++14");
622+
else
623+
#endif
624+
argv.push_back("-std=gnu++14");
605625
break;
606626
}
607627
}
@@ -610,15 +630,30 @@ bool c_preprocess_gcc_clang(
610630
switch(config.ansi_c.c_standard)
611631
{
612632
case configt::ansi_ct::c_standardt::C89:
613-
argv.push_back("-std=gnu89");
633+
#if defined(__OpenBSD__)
634+
if (preprocessor==configt::ansi_ct::preprocessort::CLANG)
635+
argv.push_back("-std=c89");
636+
else
637+
#endif
638+
argv.push_back("-std=gnu89");
614639
break;
615640

616641
case configt::ansi_ct::c_standardt::C99:
617-
argv.push_back("-std=gnu99");
642+
#if defined(__OpenBSD__)
643+
if (preprocessor==configt::ansi_ct::preprocessort::CLANG)
644+
argv.push_back("-std=c99");
645+
else
646+
#endif
647+
argv.push_back("-std=gnu99");
618648
break;
619649

620650
case configt::ansi_ct::c_standardt::C11:
621-
argv.push_back("-std=gnu11");
651+
#if defined(__OpenBSD__)
652+
if (preprocessor==configt::ansi_ct::preprocessort::CLANG)
653+
argv.push_back("-std=c11");
654+
else
655+
#endif
656+
argv.push_back("-std=gnu11");
622657
break;
623658
}
624659
}

‎src/util/config.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ configt::ansi_ct::c_standardt configt::ansi_ct::default_c_standard()
677677
#if defined(__APPLE__)
678678
// By default, clang on the Mac builds C code in GNU C11
679679
return c_standardt::C11;
680-
#elif defined(__FreeBSD__)
680+
#elif defined(__FreeBSD__) || defined(__OpenBSD__)
681681
// By default, clang on FreeBSD builds C code in GNU C99
682682
return c_standardt::C99;
683683
#else

0 commit comments

Comments
 (0)
Please sign in to comment.