[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-14 Thread Cassie Jones via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rG2e2709479636: [clang] Include clang config.h in 
LangStandards.cpp (authored by porglezomp).

Changed prior to commit:
  https://reviews.llvm.org/D124974?vs=429275=429416#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

Files:
  clang/lib/Basic/LangStandards.cpp


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -7,6 +7,7 @@
 
//===--===//
 
 #include "clang/Basic/LangStandard.h"
+#include "clang/Config/config.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/ErrorHandling.h"


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -7,6 +7,7 @@
 //===--===//
 
 #include "clang/Basic/LangStandard.h"
+#include "clang/Config/config.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/ErrorHandling.h"
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-14 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision.
dexonsmith added a comment.

LGTM, thanks! One comment online below.




Comment at: clang/include/clang/Config/config.h.cmake:19
 #cmakedefine CLANG_DEFAULT_STD_C LangStandard::lang_${CLANG_DEFAULT_STD_C}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.

I just noticed that the other comments in this file are C-style. Probably the 
new ones should be too. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-13 Thread Cassie Jones via Phabricator via cfe-commits
porglezomp updated this revision to Diff 429275.
porglezomp added a comment.

I haven't used arc in a little while and am having trouble sorry for the emails


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

Files:
  clang/include/clang/Config/config.h.cmake
  clang/lib/Basic/LangStandards.cpp


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -7,6 +7,7 @@
 
//===--===//
 
 #include "clang/Basic/LangStandard.h"
+#include "clang/Config/config.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/ErrorHandling.h"
@@ -57,27 +58,24 @@
 return LangStandard::lang_cuda;
   case Language::Asm:
   case Language::C:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 // The PS4 uses C99 as the default C standard.
 if (T.isPS4())
   return LangStandard::lang_gnu99;
 return LangStandard::lang_gnu17;
-#endif
   case Language::ObjC:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 return LangStandard::lang_gnu11;
-#endif
   case Language::CXX:
   case Language::ObjCXX:
-#if defined(CLANG_DEFAULT_STD_CXX)
-return CLANG_DEFAULT_STD_CXX;
-#else
+if (CLANG_DEFAULT_STD_CXX != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_CXX;
+
 return LangStandard::lang_gnucxx14;
-#endif
   case Language::RenderScript:
 return LangStandard::lang_c99;
   case Language::HIP:
Index: clang/include/clang/Config/config.h.cmake
===
--- clang/include/clang/Config/config.h.cmake
+++ clang/include/clang/Config/config.h.cmake
@@ -16,9 +16,19 @@
 
 /* Default C/ObjC standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_C LangStandard::lang_${CLANG_DEFAULT_STD_C}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_C
+#define CLANG_DEFAULT_STD_C LangStandard::lang_unspecified
+#endif
 
 /* Default C++/ObjC++ standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_CXX LangStandard::lang_${CLANG_DEFAULT_STD_CXX}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_CXX
+#define CLANG_DEFAULT_STD_CXX LangStandard::lang_unspecified
+#endif
 
 /* Default C++ stdlib to use. */
 #define CLANG_DEFAULT_CXX_STDLIB "${CLANG_DEFAULT_CXX_STDLIB}"


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -7,6 +7,7 @@
 //===--===//
 
 #include "clang/Basic/LangStandard.h"
+#include "clang/Config/config.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/ErrorHandling.h"
@@ -57,27 +58,24 @@
 return LangStandard::lang_cuda;
   case Language::Asm:
   case Language::C:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 // The PS4 uses C99 as the default C standard.
 if (T.isPS4())
   return LangStandard::lang_gnu99;
 return LangStandard::lang_gnu17;
-#endif
   case Language::ObjC:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 return LangStandard::lang_gnu11;
-#endif
   case Language::CXX:
   case Language::ObjCXX:
-#if defined(CLANG_DEFAULT_STD_CXX)
-return CLANG_DEFAULT_STD_CXX;
-#else
+if (CLANG_DEFAULT_STD_CXX != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_CXX;
+
 return LangStandard::lang_gnucxx14;
-#endif
   case Language::RenderScript:
 return LangStandard::lang_c99;
   case Language::HIP:
Index: clang/include/clang/Config/config.h.cmake
===
--- clang/include/clang/Config/config.h.cmake
+++ clang/include/clang/Config/config.h.cmake
@@ -16,9 +16,19 @@
 
 /* Default C/ObjC standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_C LangStandard::lang_${CLANG_DEFAULT_STD_C}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_C
+#define CLANG_DEFAULT_STD_C LangStandard::lang_unspecified
+#endif
 
 /* Default C++/ObjC++ standard to 

[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-13 Thread Cassie Jones via Phabricator via cfe-commits
porglezomp updated this revision to Diff 429274.
porglezomp added a comment.

Arcanist accidentally threw away the first commit in the sequence...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

Files:
  clang/include/clang/Config/config.h.cmake
  clang/lib/Basic/LangStandards.cpp


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -58,27 +58,24 @@
 return LangStandard::lang_cuda;
   case Language::Asm:
   case Language::C:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 // The PS4 uses C99 as the default C standard.
 if (T.isPS4())
   return LangStandard::lang_gnu99;
 return LangStandard::lang_gnu17;
-#endif
   case Language::ObjC:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 return LangStandard::lang_gnu11;
-#endif
   case Language::CXX:
   case Language::ObjCXX:
-#if defined(CLANG_DEFAULT_STD_CXX)
-return CLANG_DEFAULT_STD_CXX;
-#else
+if (CLANG_DEFAULT_STD_CXX != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_CXX;
+
 return LangStandard::lang_gnucxx14;
-#endif
   case Language::RenderScript:
 return LangStandard::lang_c99;
   case Language::HIP:
Index: clang/include/clang/Config/config.h.cmake
===
--- clang/include/clang/Config/config.h.cmake
+++ clang/include/clang/Config/config.h.cmake
@@ -16,9 +16,19 @@
 
 /* Default C/ObjC standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_C LangStandard::lang_${CLANG_DEFAULT_STD_C}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_C
+#define CLANG_DEFAULT_STD_C LangStandard::lang_unspecified
+#endif
 
 /* Default C++/ObjC++ standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_CXX LangStandard::lang_${CLANG_DEFAULT_STD_CXX}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_CXX
+#define CLANG_DEFAULT_STD_CXX LangStandard::lang_unspecified
+#endif
 
 /* Default C++ stdlib to use. */
 #define CLANG_DEFAULT_CXX_STDLIB "${CLANG_DEFAULT_CXX_STDLIB}"


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -58,27 +58,24 @@
 return LangStandard::lang_cuda;
   case Language::Asm:
   case Language::C:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 // The PS4 uses C99 as the default C standard.
 if (T.isPS4())
   return LangStandard::lang_gnu99;
 return LangStandard::lang_gnu17;
-#endif
   case Language::ObjC:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 return LangStandard::lang_gnu11;
-#endif
   case Language::CXX:
   case Language::ObjCXX:
-#if defined(CLANG_DEFAULT_STD_CXX)
-return CLANG_DEFAULT_STD_CXX;
-#else
+if (CLANG_DEFAULT_STD_CXX != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_CXX;
+
 return LangStandard::lang_gnucxx14;
-#endif
   case Language::RenderScript:
 return LangStandard::lang_c99;
   case Language::HIP:
Index: clang/include/clang/Config/config.h.cmake
===
--- clang/include/clang/Config/config.h.cmake
+++ clang/include/clang/Config/config.h.cmake
@@ -16,9 +16,19 @@
 
 /* Default C/ObjC standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_C LangStandard::lang_${CLANG_DEFAULT_STD_C}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_C
+#define CLANG_DEFAULT_STD_C LangStandard::lang_unspecified
+#endif
 
 /* Default C++/ObjC++ standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_CXX LangStandard::lang_${CLANG_DEFAULT_STD_CXX}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_CXX
+#define CLANG_DEFAULT_STD_CXX LangStandard::lang_unspecified
+#endif
 
 /* Default C++ stdlib to use. */
 #define CLANG_DEFAULT_CXX_STDLIB "${CLANG_DEFAULT_CXX_STDLIB}"
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-13 Thread Cassie Jones via Phabricator via cfe-commits
porglezomp updated this revision to Diff 429273.
porglezomp added a comment.
Herald added a subscriber: mgorny.

Add changes suggested by Duncan to make CLANG_DEFAULT_STD_C more 
misuse-resistant


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

Files:
  clang/include/clang/Config/config.h.cmake
  clang/lib/Basic/LangStandards.cpp


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -58,27 +58,24 @@
 return LangStandard::lang_cuda;
   case Language::Asm:
   case Language::C:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 // The PS4 uses C99 as the default C standard.
 if (T.isPS4())
   return LangStandard::lang_gnu99;
 return LangStandard::lang_gnu17;
-#endif
   case Language::ObjC:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 return LangStandard::lang_gnu11;
-#endif
   case Language::CXX:
   case Language::ObjCXX:
-#if defined(CLANG_DEFAULT_STD_CXX)
-return CLANG_DEFAULT_STD_CXX;
-#else
+if (CLANG_DEFAULT_STD_CXX != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_CXX;
+
 return LangStandard::lang_gnucxx14;
-#endif
   case Language::RenderScript:
 return LangStandard::lang_c99;
   case Language::HIP:
Index: clang/include/clang/Config/config.h.cmake
===
--- clang/include/clang/Config/config.h.cmake
+++ clang/include/clang/Config/config.h.cmake
@@ -16,9 +16,19 @@
 
 /* Default C/ObjC standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_C LangStandard::lang_${CLANG_DEFAULT_STD_C}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_C
+#define CLANG_DEFAULT_STD_C LangStandard::lang_unspecified
+#endif
 
 /* Default C++/ObjC++ standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_CXX LangStandard::lang_${CLANG_DEFAULT_STD_CXX}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_CXX
+#define CLANG_DEFAULT_STD_CXX LangStandard::lang_unspecified
+#endif
 
 /* Default C++ stdlib to use. */
 #define CLANG_DEFAULT_CXX_STDLIB "${CLANG_DEFAULT_CXX_STDLIB}"


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -58,27 +58,24 @@
 return LangStandard::lang_cuda;
   case Language::Asm:
   case Language::C:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 // The PS4 uses C99 as the default C standard.
 if (T.isPS4())
   return LangStandard::lang_gnu99;
 return LangStandard::lang_gnu17;
-#endif
   case Language::ObjC:
-#if defined(CLANG_DEFAULT_STD_C)
-return CLANG_DEFAULT_STD_C;
-#else
+if (CLANG_DEFAULT_STD_C != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_C;
+
 return LangStandard::lang_gnu11;
-#endif
   case Language::CXX:
   case Language::ObjCXX:
-#if defined(CLANG_DEFAULT_STD_CXX)
-return CLANG_DEFAULT_STD_CXX;
-#else
+if (CLANG_DEFAULT_STD_CXX != LangStandard::lang_unspecified)
+  return CLANG_DEFAULT_STD_CXX;
+
 return LangStandard::lang_gnucxx14;
-#endif
   case Language::RenderScript:
 return LangStandard::lang_c99;
   case Language::HIP:
Index: clang/include/clang/Config/config.h.cmake
===
--- clang/include/clang/Config/config.h.cmake
+++ clang/include/clang/Config/config.h.cmake
@@ -16,9 +16,19 @@
 
 /* Default C/ObjC standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_C LangStandard::lang_${CLANG_DEFAULT_STD_C}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_C
+#define CLANG_DEFAULT_STD_C LangStandard::lang_unspecified
+#endif
 
 /* Default C++/ObjC++ standard to use. */
 #cmakedefine CLANG_DEFAULT_STD_CXX LangStandard::lang_${CLANG_DEFAULT_STD_CXX}
+// Always #define something so that missing the config.h #include at use sites
+// becomes a compile error.
+#ifndef CLANG_DEFAULT_STD_CXX
+#define CLANG_DEFAULT_STD_CXX LangStandard::lang_unspecified
+#endif
 
 /* Default C++ stdlib to use. */
 #define CLANG_DEFAULT_CXX_STDLIB "${CLANG_DEFAULT_CXX_STDLIB}"
___
cfe-commits mailing list
cfe-commits@lists.llvm.org

[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-13 Thread Cassie Jones via Phabricator via cfe-commits
porglezomp added a comment.

That looks good to me. I'm testing it out locally to make sure it still works 
right and also catches the issue, and will plan put up an updated patch in the 
morning.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-12 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment.

In D124974#3504986 , @porglezomp 
wrote:

> Ah, so it'd be a test that passes pretty trivially on any bot that doesn't 
> have a custom version of `CLANG_DEFAULT_STD_C` and `CLANG_DEFAULT_STD_CXX` 
> like the default config, but could get caught by any other bots that do set 
> it?
>
> What's the best way to get the compiler to report the standard it's using for 
> this test?
>
> For C++ I can do:
>
>   clang++ -xc++ -dM -E - < /dev/null | grep cplusplus
>
> And it will print e.g.
>
>   #define __cplusplus 199711L
>
> But that requires quite some decoding to compare against 
> `CLANG_DEFAULT_STD_CXX` which would look like `LangStandard::lang_gnucxx98`.

Yeah, that seems awkward.

My concern with lacking a test is that someone could easily remove this in the 
future when trying to prune unused `#include`s.

Another solution might be to change this to a compile error. I think it'd work 
to change the `#cmakedefine` logic to:

  #cmakedefine CLANG_DEFAULT_STD_C LangStandard::lang_${CLANG_DEFAULT_STD_C}
  // Always #define something so that missing the config.h #include at use sites
  // becomes a compile error.
  #ifndef CLANG_DEFAULT_STD_C
  #define CLANG_DEFAULT_STD_C LangStandard::lang_unknown
  #endif

and then update the code to:

  case Language::C:
if (CLANG_DEFAULT_STD_C != LangStandard::lang_unknown)
  return CLANG_DEFAULT_STD_C;
  
// The PS4 uses C99 as the default C standard.
if (T.isPS4())
  return LangStandard::lang_gnu99;
return LangStandard::lang_gnu17;

(without the `#ifdef`)

WDYT?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-10 Thread Cassie Jones via Phabricator via cfe-commits
porglezomp added a comment.

Ah, so it'd be a test that passes pretty trivially on any bot that doesn't have 
a custom version of `CLANG_DEFAULT_STD_C` and `CLANG_DEFAULT_STD_CXX` like the 
default config, but could get caught by any other bots that do set it?

What's the best way to get the compiler to report the standard it's using for 
this test?

For C++ I can do:

  clang++ -xc++ -dM -E - < /dev/null | grep cplusplus

And it will print e.g.

  #define __cplusplus 199711L

But that requires quite some decoding to compare against 
`CLANG_DEFAULT_STD_CXX` which would look like `LangStandard::lang_gnucxx98`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment.

In D124974#3494374 , @sammccall wrote:

> In D124974#3494279 , @dexonsmith 
> wrote:
>
>> Can we add a test for this?
>
> I think the problem with testing it is that this variable comes from the 
> CMake config, and in the default configuration (as used by all the bots) it's 
> not set.

Maybe you could use the same CMake config to set a lit variable, and use that 
lit variable to test that we get the configured default language variant.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-09 Thread Cassie Jones via Phabricator via cfe-commits
porglezomp added a comment.

Unless anyone has an idea about how to test this, I'm going to commit this 
without adding a test.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-05 Thread Sam McCall via Phabricator via cfe-commits
sammccall added a comment.

In D124974#3494279 , @dexonsmith 
wrote:

> Can we add a test for this?

I think the problem with testing it is that this variable comes from the CMake 
config, and in the default configuration (as used by all the bots) it's not set.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-05 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment.

Can we add a test for this?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-05 Thread Haojian Wu via Phabricator via cfe-commits
hokein accepted this revision.
hokein added a comment.
This revision is now accepted and ready to land.

Thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124974/new/

https://reviews.llvm.org/D124974

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D124974: [clang] Include clang config.h in LangStandards.cpp

2022-05-04 Thread Cassie Jones via Phabricator via cfe-commits
porglezomp created this revision.
porglezomp added reviewers: hokein, sammccall, dexonsmith.
Herald added a project: All.
porglezomp requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

This is necessary in order to pick up the default C/C++ standard from
the CLANG_DEFAULT_STD_C(XX) defines. This fixes a bug that was
introduced when this default language standard code was moved from
Frontend to Basic, making compilers ignore the configured default
language version override.

Fixes a bug introduced by D121375 .


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D124974

Files:
  clang/lib/Basic/LangStandards.cpp


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -7,6 +7,7 @@
 
//===--===//
 
 #include "clang/Basic/LangStandard.h"
+#include "clang/Config/config.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/ErrorHandling.h"


Index: clang/lib/Basic/LangStandards.cpp
===
--- clang/lib/Basic/LangStandards.cpp
+++ clang/lib/Basic/LangStandards.cpp
@@ -7,6 +7,7 @@
 //===--===//
 
 #include "clang/Basic/LangStandard.h"
+#include "clang/Config/config.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/ErrorHandling.h"
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits