aaron.ballman added inline comments.

================
Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:1603
+def ext_hlsl_access_specifiers : ExtWarn<
+  "access specifiers are a clang HLSL extension">;
 
----------------
This also needs to go into a warning group.


================
Comment at: clang/lib/Parse/ParseDeclCXX.cpp:3517-3519
+  // HLSL: In HLSL members of a class are public by default.
   AccessSpecifier CurAS;
+  if (TagType == DeclSpec::TST_class && !getLangOpts().HLSL)
----------------
Gross. 🤮


================
Comment at: clang/lib/Sema/SemaDeclCXX.cpp:2504-2507
+  // In HLSL, unspecified class access is public rather than private.
+  if (getLangOpts().HLSL && Class->getTagKind() == TTK_Class &&
+      Access == AS_none)
+    Access = AS_public;
----------------
🤮


================
Comment at: clang/test/ParserHLSL/access_specifiers.hlsl:4-5
+class Doggo {
+  // expected-note@+1 {{member is declared here}}
+  int legs;
+// expected-warning@+1 {{access specifiers are a clang HLSL extension}}
----------------
(It's generally easier to maintain tests when the expected check lines are 
directly on the impacted line rather than using offsets to it. Same applies 
through the rest of the test. NB: we don't care about 80 col limits in tests.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D124487

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

Reply via email to