www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21423] New: frontend.h is platform dependent and has diff on


          Issue ID: 21423
           Summary: frontend.h is platform dependent and has diff on Mac
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Mac OS X
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: pro.mathias.lang gmail.com

Running `./src/build.d cxx-headers-test AUTO_UPDATE=1` leads to a bunch of
difference, namely:

--- a/src/dmd/frontend.h
+++ b/src/dmd/frontend.h
   -81,6 +81,7    class Module;
 class TemplateInstance;
 struct Ungag;
 class ScopeDsymbol;
+enum class __c_ulonglong : uint64_t;
 class AggregateDeclaration;
 class LabelDsymbol;
 class ClassDeclaration;
   -748,6 +749,7    struct TargetCPP;
 struct TargetObjC;
 struct Param;
 struct Target;
+enum class __c_longlong : int64_t;
 struct Mem;
 class Object;
 class TypeInfo_Class;
   -841,7 +843,7    public:
     virtual void importAll(Scope* sc);
     virtual Dsymbol* search(const Loc& loc, Identifier* ident, int32_t flags =
     virtual bool overloadInsert(Dsymbol* s);
-    virtual d_uns64 size(const Loc& loc);
+    virtual unsigned long long size(const Loc& loc);
     virtual bool isforwardRef();
     virtual AggregateDeclaration* isThis();
     virtual bool isExport() const;

// A lot more differences for all `size` methods

   -6863,8 +6865,8    enum class HIGHLIGHT : uint8_t

 enum class TARGET : bool
-    Linux = true,
-    OSX = false,
+    Linux = false,
+    OSX = true,
     FreeBSD = false,
     OpenBSD = false,
     Solaris = false,
   -7320,9 +7322,9    typedef int32_t d_int32;

 typedef uint32_t d_uns32;

-typedef int64_t d_int64;
+typedef long long d_int64;

-typedef uint64_t d_uns64;
+typedef unsigned long long d_uns64;

 typedef uint64_t StorageClass;

Nov 24 2020