From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f47.google.com ([209.85.221.47]) by ewsd; Sun Sep 16 16:54:35 EDT 2018 Received: by mail-wr1-f47.google.com with SMTP id u12-v6so15251790wrr.4 for <9front@9front.org>; Sun, 16 Sep 2018 13:54:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=offblast-org.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=rPmzpd9ExTdRDuQiqGGcc1MdivaNeS1JNasV4wxS6m8=; b=zFwPnMe/oydqPltxoKWFr3vHElckYVFVZE/jLxKk1Jzy4+4W8ZuRNHqCm6ZqO4S6ap gOD+DKmyUV6T2F1ZLtL5ThD3OuoyqGgi2tJ4NOnyeruMLx3yuKWO7eBFqZidQdqWxI63 8auaVm5GH1J3bt6K4HQjM4dgMMQI+WeCo54wFgoLT4OEGgyIOYYrrafxjQLsp9LQ2XHd GlJSuHpncu8Hu/q7ufpeBgQnDGhwb9sS0m2ueKkQDZRX48iKBAPGo6PEfSXmHfafGnxn RlaHeyQUtr9KPBJWpe/bn4Vxn3cGxcyrCbE5cCQYYWixK5QpquY0iYNGoPfdNVns6vzJ MF9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rPmzpd9ExTdRDuQiqGGcc1MdivaNeS1JNasV4wxS6m8=; b=lkyXl6SWSD5nwAVliYXdZeXNqZwNd6brCiWQ0H1UIJWbH2hqCCQUnhVczyPaLa9+ii zdJk56zlFGuuL2jDox08NBrIlvmFCCmtWjOLULM31ymz1ZE11E7P1heL9AZFqF0BhTBp ro+ksEDIyiqQ3qleRflg2iNOjS8+heR5IwPNNtq0QgZOU+SCt7ZUFf/jWmkXNVoCQTHr ssSzxlRK/5CkXvUaFp2IwKKYZEHjTBOfEh+gPkr+kIvkhDhusNuZnlDIANjptSXKgvG5 SOD7utbx4TBO917RqF2X7V7ltNQxBGei4yXRNICwFK8kAM0XSGVJ98aIJTWS17oMFDkV MM/A== X-Gm-Message-State: APzg51Dwo/ZkdBU+uGbtVEAR5xTIEMHJnHr3Wg9wP1xUhPOz2CxSfrUk b9spU/hw/8Q3UR9Vg8kUOClYATMJJvOoiQkPbwmX+n0/qdzxpg== X-Google-Smtp-Source: ANB0VdYYAienjYtmkSthG8TzP+i16dFNy+1mucAnobPdkNB36SxbgXAbS0RxW+N1U4lqRNubz9+UFz20+luvot7wuww= X-Received: by 2002:adf:80ea:: with SMTP id 97-v6mr15642999wrl.57.1537131268090; Sun, 16 Sep 2018 13:54:28 -0700 (PDT) MIME-Version: 1.0 From: Nick Owens Date: Sun, 16 Sep 2018 13:54:16 -0700 Message-ID: Subject: bug: cpp(1) token pasting failure To: 9front@9front.org Content-Type: multipart/mixed; boundary="000000000000355f0605760343f4" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: cloud-aware event plugin --000000000000355f0605760343f4 Content-Type: text/plain; charset="UTF-8" the attached C program will fail to be preprocessed by cpp(1) with the following output. for comparison, the gcc -E test.c output follows as well. this specific example was extracted from tinycc. 9front cpp(1): term% cpp concat.c cpp: concat.c:8 Bad token jo) produced by ## cpp: concat.c:8 No newline at end of file cpp: concat.c:8 EOF in macro arglist cpp: concat.c:8 Disagreement in number of macro arguments #line 1 "/usr/glenda/code/c/trash/concat.c" #line 4 "/usr/glenda/code/c/trash/concat.c" enum token { TOK_NULL DEF_ASM(jo #undef DEF};static const char keywords[] = #define DEF(id, str) str "\0" DEF_ASMTEST(j,)#undef DEF;int main(int argc, char *argv[]){ return -1;}#line 23 "/usr/glenda/code/c/trash/concat.c" gcc -E: mischief@omicron:/tmp $ gcc -E concat.c # 1 "concat.c" # 1 "" # 1 "" # 31 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 32 "" 2 # 1 "concat.c" enum token { TOK_NULL ,TOK_ASM_jo }; static const char keywords[] = "jo" "\0" ; int main(int argc, char *argv[]) { return 0; } --000000000000355f0605760343f4 Content-Type: text/x-csrc; charset="US-ASCII"; name="concat.c" Content-Disposition: attachment; filename="concat.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jm5c7mmf0 I2RlZmluZSBERUZfQVNNKHgpIERFRihUT0tfQVNNXyAjIyB4LCAjeCkKI2RlZmluZSBERUZfQVNN VEVTVCh4LHN1ZmZpeCkgXAogREVGX0FTTSh4ICMjIG8gIyMgc3VmZml4KQoKZW51bSB0b2tlbiB7 CiAgICAgICAgVE9LX05VTEwKI2RlZmluZSBERUYoaWQsIHN0cikgLGlkCkRFRl9BU01URVNUKGos KQojdW5kZWYgREVGCn07CgpzdGF0aWMgY29uc3QgY2hhciBrZXl3b3Jkc1tdID0KI2RlZmluZSBE RUYoaWQsIHN0cikgc3RyICJcMCIKREVGX0FTTVRFU1QoaiwpCiN1bmRlZiBERUYKOwoKI2RlZmlu ZSBERUYoaWQsIHN0cikKCmludAptYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKICAgICAg ICByZXR1cm4gMDsKfQo= --000000000000355f0605760343f4--