yaxunl marked an inline comment as done.
yaxunl added inline comments.
================
Comment at: clang/lib/CodeGen/CodeGenModule.cpp:575
+ // times 100.
+ if (getTarget().getTargetOpts().CodeObjectVersion != "none") {
+ unsigned CodeObjVer;
----------------
tra wrote:
> yaxunl wrote:
> > tra wrote:
> > > When will it ever be set to `none`? Does the new option parser enforce
> > > the default & version values specified in the tablegen?
> > > If so, then it should never be `none`.
> > > If the `Values` specified for the option are not enforced, then the
> > > condition will be true if user specifies any invalid value other than
> > > `none`.
> > >
> > Normal HIP programs should only use `-mcode-object-version={2|3|4|5}`.
> > clang driver enforces that.
> >
> > ROCm device library need to be compiled with `-Xclang
> > -mcode-object-version=none` so that the module flag is not emitted. Since
> > this use case is not for common users, `-mcode-object-version=none` can
> > only be used with -cc1.
> I'm surprised that cc1 does not check option validity. It does check them at
> the driver level: https://godbolt.org/z/9T6n47es9
>
> Assuming that's intentional, and there are no checks in cc1, then we should
> probably remove the now-useless `Values` from the option tablegen and add a
> test to verify what happens with invalid values.
>
>
I will use MarshallingInfoEnum, which will check the values. Will add a test
for invalid values.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119026/new/
https://reviews.llvm.org/D119026
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits