(Empty)
langs's Introduction
langs's People
langs's Issues
Availability of compiler time data
I'm interested in the data, or rather the model of performance that might best fit the data.
Here is one I did earlier: https://shape-of-code.com/2019/01/29/modeling-visual-studio-c-compile-times/
Is detailed data available to be shared?
Is compile time growing quadratically or exponentially, with LOC?
If a couple of intermediate LOC values were measured, a regression fit would tell us the likely rate of increase.
Measurements are needed from at least a dozen compiles of the source, to handle the impact of other processes running during compile.
bcc.exe hangs sometimes and pressing CTRL or SHIFT helps
A hang of bcc.exe can be triggered by including some file that does not exist. Eg.:
-------------------- begin ctest30x.c --------------------
#include <aclapi.h>
int main(int argc,char *argv[]){return 0;}
-------------------- end ctest30x.c --------------------
If I compile ctest30x.c with bcc it writes:
Compiling ctest30.c to ctest30.exe
aclapi.h 8
Lex error Can't find include file in:ctest30.c Line: 2
and then hangs. Pressing CTRL or SHIFT helps. Probably there are other
situations (besides a missing include file) that trigger these hangs.
When I compile Seed7 with
make7 -f mk_bcc.mak depend
it is necessary to press CTRL or SHIFT very often. After pressing these keys very often
make depend finishes (at the end it complains about a missing definition of REG_SZ,
which is defined in winnt.h/windows.h with #define REG_SZ 1 ).
I verified with ProcessExplorer that the hangs are in bcc.exe (and not in make7).
Normally an error in a C program triggers a segmentation violation. Therefore I guess
that this hangs are on purpose. The previous version of bcc.exe triggered popups in
Wine that told me that a program crashed.
bcc.exe - Several definitions in wingdi.h respectively windows.h are missing.
The following definitions are missing in the wingdi.h file (that is included by windows.h):
#define HORZRES 8
#define VERTRES 10
#define DESKTOPHORZRES 118
#define DESKTOPVERTRES 117
int GetDeviceCaps(HDC hdc, int index);
BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
HBITMAP CreateBitmap(int,int,UINT,UINT,const VOID *);
bcc.exe - Several definitions of winbase.h respectively windows.h are missing.
These definitions together with other missing definitions in windows.h allow the compilation of Seed7. The definitions from winbase.h need to be inserted after the definitions from winnt.h into windows.h.
BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
HANDLE WINAPI GetCurrentProcess(void);
HANDLE WINAPI GetCurrentThread(void);
BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD);
HGLOBAL WINAPI GlobalFree(HGLOBAL);
HLOCAL WINAPI LocalAlloc(UINT,SIZE_T);
#define LPTR 64
bcc.exe - Several definitions in winnt.h respectively windows.h are missing.
These definitions need to be added to compile Seed7:
typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
typedef PVOID PSID;
typedef struct _ACL {
BYTE AclRevision;
BYTE Sbz1;
WORD AclSize;
WORD AceCount;
WORD Sbz2;
} ACL, *PACL;
typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
typedef struct _SECURITY_DESCRIPTOR {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
PSID Owner;
PSID Group;
PACL Sacl;
PACL Dacl;
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
typedef enum _SID_NAME_USE {
SidTypeUser=1,
SidTypeGroup,
SidTypeDomain,
SidTypeAlias,
SidTypeWellKnownGroup,
SidTypeDeletedAccount,
SidTypeInvalid,
SidTypeUnknown,
SidTypeComputer
} SID_NAME_USE,*PSID_NAME_USE;
typedef struct _SID_AND_ATTRIBUTES {
PSID Sid;
DWORD Attributes;
} SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;
typedef struct _TOKEN_USER {
SID_AND_ATTRIBUTES User;
} TOKEN_USER, *PTOKEN_USER;
typedef enum _TOKEN_INFORMATION_CLASS {
TokenUser=1,
} TOKEN_INFORMATION_CLASS;
#define OWNER_SECURITY_INFORMATION 0x00000001
#define GROUP_SECURITY_INFORMATION 0x00000002
#define TOKEN_QUERY (0x0008)
bcc.exe - dbuffer error
If I compile the file sql_base.c with bcc.exe I get:
../bin/bcc.exe -c sql_base.c
Compiling sql_base.c to sql_base.obj
INITLEX 8388608
dbuffer error
Questions
Hello! Sorry to see you deleted your Reddit account. I always enjoyed your posts there. I hope you'll consider it again. Us Dinosaurs need to be heard! :)
Languages: Have you seen Phix? Phix on Github
It is pretty amazing. Just wondering what your thoughts on it were.
Is this the best way to communicate with you? If you prefer email, mine is on my Github account
bcc.exe - SS code gen error: fix opnds
I got:
../bin/bcc.exe -c sql_tds.c
Compiling sql_tds.c to sql_tds.obj
INITLEX 8388608
SS code gen error: fix opnds
On line: 6595
I generated assembler code with:
../bin/bcc -s sql_tds.c
In the file sql_tds.asm line 6595 contains:
cvttsd2si D0, 0.000000
I hope that helps to fix this bug.
Bcc.exe cannot cast from short * to unsigned short *
The following test program:
------------------------- Begin of tst298.c -------------------------
#include "stdio.h"
typedef unsigned short *wstriType;
int main (int argc, char *argv[])
{
wchar_t *stri_buffer;
wstriType wide_string;
stri_buffer = wide_string;
return 0;
}
------------------------- End of tst298.c -------------------------
Triggers this error:
Z:\home\tm\seed7_5\src>..\bin\bcc tst298.c
Compiling tst298.c to tst298.exe
ref ushort
ref short
In function main
Type error: Can't do conversion ref => ref on line 10 tst298.c
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.